Skip to content

Release Engineering

Eric Sessoms edited this page Dec 21, 2021 · 3 revisions

Releases are now automated. To prepare a release for distribution, tag the release and push it to Github.

git tag -a d5.11.4
git push upstream d5.11.4

The CI workflows will then build and upload the distribution tarballs, and create a release to publish them. The release is created as a "draft" to give you an opportunity to edit the release notes before publishing.

Use the check release workflow to validate a release. Run this workflow interactively, giving it the release tag, and it will install the distributions on all available platforms to make sure they work.

The heavy lifting is done by the concierge script.

scripts/concierge.py make-dist --target ...

This builds a bootstrap compiler for the target (can be run on any host), and packages the bootstrap and sources into a platform-appropriate tarball.

The bootstrap produces C++ sources for the compiler and uses CMake to auto-configure to the target platform.

scripts/concierge.py make-bootstrap --target ...
Clone this wiki locally