Skip to content

Releases

New releases of scilo follow the Semantic Versioning scheme.

Version checks

Semantic versioning is reinforced by using cargo-semver-checks against previous releases to ensure the version number matches expectations. The following command should pass. If not, review the warnings and messages and implement fixes.

cargo semver-checks --baseline-rev ${rev}

The changelog contains the revision IDs for each release to use above.

Tagging the release

Once the version has been confirmed, update the version in Cargo.toml and pkgs/scilo/default.nix. Build the package for Nix and update the cargoHash as necessary.

nix-build . -A packages.x86_64-linux.default

Stage these files and make a commit, including any necessary documentation changes to the following files:

  • docs/authorship.md
  • docs/changelog.md
  • docs/install.md
  • docs/integrations.md

Tag this commit with the title "v{version}" and push the commit and tag. Then, add this revision to the changelog, so it is visible in the user documentation.

Creating a new release on GitLab

Using the GitLab CLI, we can create a new release from the tag.

glab release create v${version}

Then, we build the local artifacts and upload them to the release.

just --set version ${version} release-artifacts