From 1.0 onwards, Foundry has a stable release process that is followed for each new version. This document serves as a guide and explanation for the process.
Prior to creating a release commit and tagging it for release, we carefully test and benchmark the chosen commit. This is made to ensure that regressions are not made, and measure performance differences across versions.
Creating a release commit involves the following steps:
- Crates are version-bumped accordingly.
- This crate bump gets committed along with the new corresponding tag, e.g
v1.0.0orv1.1.3.
- A tag is created for the new release commit.
- The tag is then pushed, and the release workflow will be automatically dispatched. The result of the workflow will be a new release with all the relevant files (binary, man pages and changelog).
- Once released, the new release is tested to ensure distribution channels (
foundryup) can download and install the release.
- The working branch is
master. We do not follow a complicatedstaging/masterseparation, but rather choose to create tags at specific points on the branch history. - The release channels are currently simple, and still based on
foundryup. Different distribution channels might be considered down the line.