-
Notifications
You must be signed in to change notification settings - Fork 116
CI: upload binaries when a release is published #246
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
Conversation
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.
Binaries work fine on my own machines. I couldn't get the Haskell version running on my local HPC cluster (old OpenSUSE), since it is not statically linked (not sure if this is even possible with Haskell). So nothing unexpected, but something to keep in mind.
One minor thing: Could we generate some SHA256 hashes for each release artefact?
Also, how are prerelease events handled?
milancurcic
left a 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.
This is a great addition, thank you!
The Ubuntu executables are compatible with other Linuxes in general, no? If yes, let's just call it "linux" instead of "ubuntu".
I also suggest the following naming convention for the executable file names:
fpm-<version>-<os>-<arch>[.exe]
instead of
fpm-<os>-<version>-<arch>[.exe]
where <version> is either version ("x.x.x") or "latest". What do you think?
I noticed that the Linux binary comes as not executable so I had to set that by hand first. I think we should add the "x" permission to Linux and macOS binaries.
Good point; yep I'll add them in.
They should be treated the same as a normal release - I'll check tomorrow. Thanks @milancurcic, yes I agree about the naming - I'll reorder with the actual version number in and add +x permission. @everythingfunctional, do you know if compilation of statically-linked binaries is possible with Haskell stack? |
|
Thanks for reviewing; I've updated the file naming convention as suggested and added hashes for checking integrity. |
|
It is probably a security feature. One option to preserve the permissions would be packaging in a tarball/zip archive instead, but this would increase the “installation barrier” slightly. |
|
If there are no objections or further comments I will merge later today and create an initial release with tag |
|
I've created a tag |
This PR updates the CI so that it is additionally triggered when a github release is published to which it will upload binaries (Linux, Mac, Windows) for both versions of
fpmas release assets (example here).As discussed at last month's meeting, this simplifies the bootstrapping process (on the supported platforms) and also simplifies using
fpmin your own CI.After running the usual tests, the CI checks that the release tag, of the form
vx.y.z, matches that output byfpm --version;binaries are not uploaded if the release tag does not match (example workflow)
For the time being, releases can be created by maintainers at their own discretion as features are added and bugs fixed (I'm happy to do this); in the long term, a release process will need to be discussed and documented.
I intend to create an initial release (
v0.1.0) following this PR.Resolves #218.