Releasing the AURA software bundle
The release of a complete software bundle is triggered from within the aura repository and
performed by the release manager.
Before proceeding review the main AURA changelog in aura/CHANGELOG.md.
Preparing the release
Create a new branch for the release:
git checkout -b %VERSION%-prep. Note the-prepsuffix for release preparation, as the actual%VERSION%branch needs to stay unused for the actual release tag branch.In
aura/CHANGELOG.mdchange the version identifier[Unreleased]to the release version and add the current date.Bump the version of the
aurarepository withpoetry version <version>.Update the versions of referenced services in the Docker Compose
config/<docker compose>/sample.envfiles and inscripts/dev/.env.Update the configuration files, fixtures, contributors and changelogs by running
cd scripts/dev && make release.prepare
This command pulls all configuration files, fixtures and changelogs from the individual repos identified by the versions in
scripts/dev/.env. The changlogs are stored.tmpand are merged into a file namedmerged-CHANGELOG-%AURA_VERSION%.md. Commit any changed configs and fixtures. Review the collected contributors and update their types of contributions. Add missing ones manually (see Adding a contributor manually).Commit and push the branch.
Now inform the testers to check-out and test the given branch.
Adding a contributor manually
Contributors are automatically added to the contributors list by the release.prepare Makefile
target. In case you need to add a contributor manually, use the Makefile target from scripts/dev:
cd scripts/dev
export GITLAB_PRIVATE_TOKEN=<token> # Alternatively set the token in the .env file
make contributors.add CONTRIBUTOR=<gitlab-username> TYPES=<contribution-types>
Multiple contribution types are comma-separated. See the contribution types
for valid values (e.g. code, doc, design, ideas, userTesting).
Contributors who do not have a GitLab account can be added directly to the .all-contributorsrc
file.
After adding, regenerate all contributor tables:
make contributors.generate
Performing the release
After the testers inform the product owner and development team, that the release criteria is met, we can proceed.
In case developers have done any last minute bugfixes and re-released their services, ensure all the configuration and changelog files are still up-to-date by executing
cd scripts/dev && make release.prepare
once more.
Take the contents of
.tmp/merged-CHANGELOG-%AURA_VERSION%.mdand paste it into a new section indocs/release-notes.md.Now we have to start thinking: What should be in the header of the release notes? Comprehend what this release delivers by checking the roadmap and contents of the changelog below.
Review and commit the changes.
To ship the release, run
cd scripts/dev && make release.ship
Check out
mainand merge everything changed, except the version updates. They should remain asmainfor all services. Alternatively cherry-pick the relevant commits or update the relevant version strings tomainafter the merge.Update
aura/CHANGELOG.mdwith a new template section for the next release.Push the changes to
main.Delete the branch used for release preparation.
Inform the product owner and team that the release is done.