Repository navigation
Binary releases: self-contained archives for Linux, Windows and macOS - #1
Merged
Merged
Conversation
Util/package-release.sh publishes a self-contained ReadyToRun ir and packs it with the standard library and the launchers in the checkout's layout; release.yml runs it on each platform and publishes the archives when a v* tag is pushed. ir.sh and ir.cmd run the Release build when there is no Debug one, which is what an unpacked archive has. irubyc no longer references or copies the .NET runtime that a self-contained ir carries next to it (CS0433 on every type), so it works from a release too.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Adds binary builds of IronRuby.
Util/package-release.sh <rid>publishes a self-contained, ReadyToRunirfor net8.0 and packs it withSrc/StdLib, the launchers, README and licenses. It keeps the checkout's layout, soir.sh,irb.sh,igem.shandirubyc.shwork from the unpacked directory. No .NET is needed to run it..github/workflows/release.ymlbuilds linux-x64, win-x64 and osx-arm64 (experimental,continue-on-error). A pushedv*tag publishes a GitHub release withSHA256SUMS; a suffix like-preview1makes it a pre-release. PRs that touch the packaging, and manual runs, only upload artifacts. prism is pinned to the revisionSrc/Prism/Generatedbelongs to, and a step checks that.ir.sh/ir.cmdfall back to the Release build when there is no Debug build.irubycskips the .NET runtime pack files next to a self-containedir(fromir.deps.json). Before, compiling the host failed with CS0433.Tested locally on Linux (linux-x64 archive, 44 MB):
ir,igem listand pipedirbrun withenv -i(no .NET on PATH)irubyc --single-file --self-containedfrom the archive works, and the result runs without .NETirubyc --libraryfrom the archive works, and a .NET 8 host loads the pluginirubyc --single-filefrom a normal framework-dependent Release build still works