Skip to content
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

[CI] Add snap package #49

Merged
merged 1 commit into from
Jan 12, 2021
Merged

[CI] Add snap package #49

merged 1 commit into from
Jan 12, 2021

Conversation

gares
Copy link
Member

@gares gares commented Dec 20, 2020

Request for aliases (coqide and coq_makefile) is ongoing here: https://forum.snapcraft.io/t/aliases-request-for-coq-prover/21925

@MSoegtropIMC this is now ready for review. There are a few things to document:

  • the package is not just bundling files already present, it runs the platform script from the snap building infrastructure (unlike we do on windows, hence the job is not on top of the ubuntu one), hence...
  • the job builds a minimal platform unless told otherwise, and does not upload the snap in the store. One has to trigger a manual build. On the default branch of the repo this can be done using a web UI, but for other branches one has to do a call to the API of github. The script github_actions/run_snap.sh can do it. The idea is that the job is run "in full" only when one wants to upload to the store, otherwise a minimal (quicker) thing is build but not uploaded. Saving the artifact is orthogonal to uploading to the store. Uploading to the store does not make the snap public, there is a pipeline (I still have to test) to move from edge to beta and then to stable a package by hand. So it is not the end of the world if one uploads by mistake, but it is just a waste I believe.

A few point to discuss:

  • the layout: I have linux/create_linux_installer.sh but also snap/ containing templates and the result of calling the first script, is it ok? In general this PR creates 3 directories, maybe it's too much.

Improvements we could do:

  • some code, like the one generating the contents of the snap (the description) and the one cleaning up unnecessary files, could be shared.

The package is still private, here a preview:
Screenshot from 2021-01-05 11-52-20

Copy link
Collaborator

@MSoegtropIMC MSoegtropIMC left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Except for the editorial comments, this looks good to me. Thanks!

github_actions/README.md Outdated Show resolved Hide resolved
github_actions/run_snap.sh Outdated Show resolved Hide resolved
snap/local/gui/coqide.desktop.in Outdated Show resolved Hide resolved
snap/local/snapcraft.yaml.in Outdated Show resolved Hide resolved
@gares gares force-pushed the add-snap branch 3 times, most recently from 492cacd to 6215d80 Compare January 11, 2021 20:42
@gares
Copy link
Member Author

gares commented Jan 12, 2021

This is finally ready. I'll merge it and ask for testing. The package in online, although not listed in the search engine.

@gares gares merged commit 6ebcacc into v8.13 Jan 12, 2021
@gares gares deleted the add-snap branch January 12, 2021 09:36
@gares gares mentioned this pull request Jan 12, 2021
@Zimmi48
Copy link
Member

Zimmi48 commented Feb 10, 2021

When github/roadmap#167 is implemented (excepted before the end of March), it should help to deploy from a CI run.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants