Skip to content

GH Actions: automate release tarball creation (WIP) #4282

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

Closed
wants to merge 3 commits into from

Conversation

fingolfin
Copy link
Member

This is based on work by @FriedrichRober and @ssiccha . Still needs some refinement.

For now the CI job added here will only run in my repo, so you can see the state here: https://github.com/fingolfin/gap/actions/

For a run with a tag, see here https://github.com/fingolfin/gap/actions/runs/594082465 and check the list of releases for the result: https://github.com/fingolfin/gap/releases -- so this immediately shows a bug: the tag which triggered the CI job was named v6.7.8, but the script ended up creating and populating a v4.12dev tag. Reason: the v6.7.8 tag, created via the GitHub web interface, is not an annotated tag...

Some possible TODOs (all up for debate, though):

  • if the tag triggering the CI action does not match the version in GAP, perhaps abort?
    • to facilitate this, the tag name detected by the action could be passed as an (optional!) argument to the make_github_release.py script
  • the make_github_release.py should perhaps only accept tags matching the pattern vX.Y.Z with X,Y,Z all numbers, and thus reject v4.12dev (
  • the artifact uploading right now uploads all .zip and .tar.gz as a single artifact... so as a single file... that's not at all what we want. we can resolve this by duplicating the actions/upload-artifact@v2 multiple times (using some regex to avoid having to deal with GAP version numbers), but right now there are 11 archives, so we would need 11 such steps (twice as many if you also want the .sha256 files). So this is cumbersome. Also, upload-artifact always zips all artifacts, even those which are already zips. Looking at the API docs I suspect this is even a limitation of the GitHub Actions artifacts system -- so perhaps we should drop the idea of using these "artifacts". But in that case, we'd need another place to upload nightlies -- e.g. a fixed tag nightlies (but then we also must make sure to clear out obsolete tarballs from time to time -- or just always delete all before uploading new ones; which is a bit of a pity, as being able to download a bunch of nightly builds to find the one where a regression was introduced can be powerful... OTOH as long as we don't provide any binaries, one can just do that with git bisect...) aaaaanyway, what I really care about for now is doing an actual release, making nightly builds available is "just" a bonus

@fingolfin fingolfin added release notes: not needed PRs introducing changes that are wholly irrelevant to the release notes topic: infrastructure backport-to-4.11 labels Feb 23, 2021
@fingolfin fingolfin force-pushed the mh/releases-gh-actions branch from 1eef9db to 23ebe56 Compare February 25, 2021 20:24
@fingolfin fingolfin marked this pull request as ready for review February 26, 2021 15:36
@fingolfin fingolfin force-pushed the mh/releases-gh-actions branch from 23ebe56 to ef4d96a Compare February 26, 2021 16:16
@fingolfin fingolfin force-pushed the mh/releases-gh-actions branch 3 times, most recently from 41bb8c4 to 1adec50 Compare February 26, 2021 22:50
Run the scripts for creating a GAP release tarball in a GitHub Action.

Co-authored-by: Friedrich Rober <friedrich.rober@rwth-aachen.de>
Co-authored-by: Sergio Siccha <sergio.siccha@posteo.net>
@fingolfin fingolfin force-pushed the mh/releases-gh-actions branch from b1a153d to cca0ecc Compare February 28, 2021 23:24
@fingolfin fingolfin force-pushed the mh/releases-gh-actions branch from cca0ecc to 9529485 Compare March 1, 2021 00:14
@fingolfin
Copy link
Member Author

I am closing this for the moment to avoid unnecessary CI runs here while I debug

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
release notes: not needed PRs introducing changes that are wholly irrelevant to the release notes topic: infrastructure
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant