-
Notifications
You must be signed in to change notification settings - Fork 682
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add Snap build/publish Github action #6805
base: master
Are you sure you want to change the base?
Conversation
… into snap-workflow
Snap workflow
This is great! Thanks for helping out - I think this will make more sense going forward. |
Nice! Can you separate the build & the publish step and then only publish when the action is running for |
I've added the conditional check for the master branch, the job will now only publish if the action is running for master. |
Yeah I don't know of any way to automate publishing to stable. I don't even think it's a good idea until at least some sort of smoke test is performed. |
Yep agreed, automated publishing to edge makes sense |
What do I need to do here with regards to creating snap accounts, channels, etc? |
Head over to the snapcraft forum and create an account. Start a post with something like "Transfer ownership of Clementine snap". It'll need to get tagged with "Store". Explain who you are and that you'd like to transfer the snap to your project. Tag me @kz6fittycent and I'll make sure to dovetail whatever you state. Once that happens, your same creds are used to log into the build service, etc. This will let you edit the posting, etc. You can then manage releases in your dashboard (e.g. moving The whole thing should take no more than 30 min. As for Canonical transferring the snap, it might take some time. Last time I did this, it took make 3 days for them to complete it. That was for the Feel free to hit me up with any questions you may have. I'm sure that @Nightmayr may have additional input besides what I've written. |
It looks like the snap version needs updated in the yml to match the other builds. |
That can be handled with |
Think you've covered everything, I'll just state the obvious that the account being created rather than being a personal account should be an account to represent the Clementine project. I've seen a few transfer of ownership requests on the forum and they're normally followed up by a request to add the created account as a collaborator to ease the transfer. |
This is now fixed and the latest snap released to |
With the versioning do we want to cut the version at 1.4.0rc1 or would it be preferable to show the entire version 1.4.0rc1-345-g9e8d4434a for better traceability? |
That particular "length" of the version will break (and has broken) in the build/release stage and it won't release. It doesn't meet the required schema. |
Ah ok would |
Let me try it when I get a chance |
Yeah that worked - latest version in |
@hatstand I think everything is in place. Whenever you want to create that account on forum.snapcraft.io we can begin the transition. |
Does that change not need to be made in the yml somewhere? |
I've made the change in my
|
That needs to be part of this PR then. |
Updated snapcraft.yaml added. |
snap/snapcraft.yaml
Outdated
override-build: | | ||
cmake ../src -DCMAKE_INSTALL_PREFIX=/usr | ||
make -j $(getconf _NPROCESSORS_ONLN) | ||
make DESTDIR=$SNAPCRAFT_PART_INSTALL install | ||
sed -i 's|Icon=clementine|Icon=/usr/share/icons/hicolor/scalable/apps/clementine\.svg|' $SNAPCRAFT_PART_INSTALL/usr/share/applications/clementine.desktop | ||
sed -i 's|TryExec=.*|TryExec=/snap/bin/clementine|' $SNAPCRAFT_PART_INSTALL/usr/share/applications/clementine.desktop | ||
# add-apt-repository ppa:rock-core/qt4 # may need this |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can we remove these commented out bits?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
That's removed now.
snap/snapcraft.yaml
Outdated
@@ -166,14 +179,35 @@ parts: | |||
- gstreamer1.0-libav | |||
- dbus-x11 | |||
- projectm-data | |||
- qtwayland5 # Attempt at Wayland Support |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Do these attempts work? If not, let's remove them. I very much doubt the Spotify one works but I don't know much about Wayland.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Latest version released shows logs that it's looking for a "libspotify
". As I don't have a paid account, I have no way of validating whether it works. That said, the previous errors are gone. See: kz6fittycent/clementine#10
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The Wayland attempt definitely works (I'll remove the comment)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@kz6fittycent The libspotify.so is there, but there are broken symlinks. I have documented my findings in kz6fittycent/clementine#10
desktop: usr/share/applications/clementine.desktop | ||
environment: | ||
ALSA_CONFIG_PATH: /snap/$SNAPCRAFT_PROJECT_NAME/current/usr/share/alsa/alsa.conf | ||
LD_LIBRARY_PATH: $LD_LIBRARY_PATH:$SNAP/usr/lib/$SNAPCRAFT_ARCH_TRIPLET/pulseaudio | ||
DISABLE_WAYLAND: 1 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This seems counter to the attempt at wayland support above.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Needs to stay.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think this is needed for clementine to run as an XWayland app when in a wayland session. Without this environment variable, clementine looks like this in Wayland:
With the environment variable set in Wayland (running on XWayland) :
As you can see the XWayland app keeps the GTK theming and cursor theme.
Checking in - are we ready to begin the transfer and accept the PR? |
I managed to get the Spotify plugin to "work". I'm able to login using my Spotify premium account but I'm unable to search Spotify. The reason for this appears to be that |
@hatstand checking in on where we're at with the inclusion of the snap and taking ownership. Any updates? |
@theCalcaholic See here - seems to be related to the deprecated lib. |
Any progress? |
No news to report. @hatstand or @Nightmayr , anything to report? It's been a few months since our last discussion about transferring the snap to the Clementine project. If I don't hear anything, I'll be taking the snap out of the store. Another party can takeover maintaining it. |
I don't think there's anything further required on my end in terms of the snap, I believe it functions as expected on GNOME and KDE desktop environments. I believe the review comments have been addressed but if there's anything further required to get this PR merged I'd be interested to know. There's probably some additional refining that could be done but as it stands currently this PR should result in a functional snap being built and deployed to the edge channel |
I'm currently experiencing failed builds in the snap. See this issue. Additionally, I am no longer going to work on the Clementine snap. I will no longer be maintaining the repo nor trouble-shooting issues with it. I have a bit much on my plate at present and it's just not feasible for me to continue. I have asked @Nightmayr to take over maintaining the snap, if desired. That said, the most ideal situation is to have the Clementine project take full ownership and maintenance. |
Builds are successful again. See previous comment(s) about maintaining the snap. Thanks for the assist @Nightmayr |
Are you here? |
Github action to build the Clementine snap, as well as publishing it to the snap store. The job requires a few things before it will pass:
SNAP_STORE_LOGIN
(documented on the publish action page https://github.com/snapcore/action-publish)The job currently publishes to the edge channel.
Created this PR after seeing a Github action was a pre-requisite for adopting the snap in this issue: #6801