Torio uses git-cliff and the scripts under scripts/ to prepare one release commit and four platform tags.
- Git with a remote named
origin. - Rust and Cargo.
git-cliff.- PowerShell when using the Batch script.
- A clean working tree.
- An existing previous tag. As with
thrustc, the first release requires creating a base tag beforehand.
bash scripts/release-changelog.shpowershell -ExecutionPolicy Bypass -File scripts/release-changelog.ps1fish scripts/release-changelog.fishscripts\release-changelog.batEach script asks for an existing previous tag and a new full Torio tag. The new tag may use any supported platform because the script extracts only the release channel and version.
Stable example:
torio-x86_64-linux-ubuntu-v0.2.0
Development example:
torio-x86_64-linux-ubuntu-dev-v0.2.0
The script:
- Generates
changelogs/vX.Y.Z/README.mdfrom<previous-tag>..HEAD. - Appends the current
torio --helpoutput. - Updates
[package].versioninCargo.tomland refreshesCargo.lock. - Creates one release commit.
- Creates coordinated tags for Linux x86_64, Windows x86_64, macOS x86_64 and macOS AArch64.
- Asks before pushing the commit and then each platform tag separately.
GitHub does not create tag events when more than three tags are pushed at once. Publishing each of the four platform tags separately ensures that every release workflow receives its own push event. If push is declined, the release commit and tags remain local. The eight GitHub workflows use the canonical changelog as their release body.