responsively-app
responsively-app copied to clipboard
Submit Responsively App to Snap Store / Flathub (Flatpak) for Linux
🚀 Feature Request
First of all, thanks for this app, really cool! Appreciate the work that you're doing to make it easier to develop responsive websites!
📝 Description
It would be nice to have the capability of installing Responsively App via Snap and/or Flatpak on Linux. For this it would need to be submitted to one or both of the following:
✨ Describe the solution you'd like
Responsively App is submitted to one or both of the stores above.
✍️ Describe alternatives you've considered
Keeping the Linux installation process the same.
Hey @karlhorky :wave:,
Thank you for opening an issue. We will get back to you as soon as we can. Have you seen our Open Collective page? Please consider contributing financially to our project. This will help us involve more contributors and get to issues like yours faster.
https://opencollective.com/responsively
We offer
priority
support for all financial contributors. Don't forget to addpriority
label once you become one! :smile:
Could be really useful, if i will have some time i will check how to do this. It will be an honor
Hi @lomby92 , thanks, I am assigning this to you
Dev status
I don't find a way to locally test the snap package (generated by the electron-builder) but seems that the creation of this package is really simple. But, there is something to add: publishing to snapcraft.
This operation is not so difficult:
- login into snapcraft through CLI (using a secret from the env)
- push/upload the .snap file
- logout
These operations must be run into CI and here is where i stopped. Is TravisCI still used? I don't see any message (maybe i don't find these) from Travis into this repository.
If TravisCI is not used, can i set up a GH action to publish the snap?
In both cases we will need a snapcraft account with a proper key to authorize the push (i don't need this key, i will use this through the env variable).
Snap configuration
A snap package has
Since we cannot locally test a .snap file, we can try to release two levels of risk:
- stable: released within app version update
- edge: released for each commit into master
I'm not a snap expert but from documentation i see that the edge risk-level could be useful to test the snap release, to prevent errors that don't occur into other package type.
doc: https://snapcraft.io/docs/channels#heading--risk-levels
NOTE: an alternative way could be to split this issue in two:
- first part: publish the snap as edge level at each master commit. After that we could try it and check that this package doesn't have errors
- second part: change the release risk-level from edge to stable. Also, change the package release for each version release instead of each master commit
@jjavierdguezas can you (or another contributor) help me?
I don't know, maybe @manojVivek is the right contributor?
Hi @lomby92
I'm sorry but I don't have much free time these days
I think that managing to configure a CI / CD pipeline is a great idea, not only for this feature but for others (like the chocolatey
package)
I think @manojVivek will be able to guide you better
In my case, when I developed the functionality for chocolatey
, I made some modifications and created some scripts to generate and publish the package, only that I have executed it manually in each release
Obviously configuring it in a pipeline is much better
Update
I found a way to locally test a snap package:
- run yarn package-linux, it creates a .snap file into
desktop-app/release
folder - extract the .snap file into a folder (eg: temp folder) unsquashfs -d /tmp/responsively-snap ./desktop-app/release/<.snap file name>
- run the application /tmp/responsively-snap/responsively-app
- try the app with snap confinements and rules: cd /tmp/responsively-app and then snap try. It will install the app locally, you can list snap packages with snap list
QUESTION Do you have some specific part of the app that could be useful to manually test? (it's my first time in the project)
CI/CD
I will wait your decision about using TravisCI or a GitHub action.
As the .snap file is manually testable i think that we should release only one release-level of the app (instead of two as in the previous comment), the stable one.
QUESTION Let me know if you don't want to release to the snap store as a stable release
Could you do flatpak as well?
This would be great to have please