-
Notifications
You must be signed in to change notification settings - Fork 98
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
chore: change binary release artefact names #3997
Conversation
This would break other CIs which rely on fetching moc from the URL. Not sure if it's worth the breaking change. |
It would break other CIs for the next releases only, no? If that's the case people would have to update the version manually I'm guessing, so they could update the architectures package name at the same time. |
Not opposed but will break sdk CI and possibly other CIs. We currently use GH runners to produces binaries... AFAIK, there's no M1/M2 runners available yet. |
This is going in the right direction, but I doubt it is necessary. Why not have a fat binary for OS X? Anyway before changing artefact names we should at least hunt down the main consumers and set up fallback locations for them. |
FTR, SDK seems to adhere to this (see https://github.com/dfinity/sdk/releases) but uses lower-case linux/darwin. Not sure which is "correct". |
I guess we could release under the old and new names to avoid breakage... |
@ggreif I like your idea of fat binaries - however from my understanding it still packs up both architectures inside the fat format. This would require us to compile to both @crusso I believe the correct upgrade plan would be to:
@chenyan-dfinity I believe this would not break any CI - as if a CI fetches the latest release version rather than have a pinned version that they update when a new releases comes they already are susceptible to CI issues - they would have to fix their CI but it would be a minimal change. |
@crusso I added back the current format for release name, so next release there should be both the "old" way and "new" way. |
Drive-by comment: Since GH doesn't offer ARM builders, this would be necessary to build those images: https://www.cachix.org/github-runners-for-nix-nixos |
06deaa5
to
917e1f7
Compare
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.
Ok by me
@EnzoPlayer0ne the build products are now available, please check: https://github.com/dfinity/motoko/releases/tag/0.9.5 |
Please note that rust crates can be installed by compiling, with If you don't like the standard patterns, it is possible to define another pattern, as described at the beginning of the doc: https://github.com/cargo-bins/cargo-binstall/blob/main/SUPPORT.md Given that our releases already fix a version, we aren't putting all builds into one big directory, I have been using the first pattern that does not specify a version:
Just a thought. If you want a standard, there are already some to choose from. :-) |
This moves forward the name normalisation that was commenced in #3997.
Here is a suggested PR to update the name of the release so they follow
$(uname -s)-$(uname -m)
convention. This would make it easier to fetch the releases from container build files likeDockerfile
.Hence:
Linux-x86_64
Darwin-x86_64
In the future this would allow for:
Darwin-arm64
Linux-arm64
Which would not have been possible under the current naming scheme which does not differentiate for the different macOS architecture (understandable as from my understanding there are no releases for M1/2 macOS yet).
Note: the legacy naming is still available. This will be discontinued when all downstream consumers have updated their procedures.