|
SpECTRE
v2026.04.01
|
Our automated tests can tag and publish a release automatically when requested. The automation is implemented as a GitHub Actions workflow in the file .github/workflows/Tests.yaml.
The GitHub workflow responsible for automated testing also allows creating a release when dispatched manually. To create a release (roughly on the first Monday of each month and/or when needed for publications), follow these instructions:
Dispatch the release. Go to the GitHub Actions page for the Tests workflow. Select "Run workflow" and the develop branch. Type in a valid release version name, such as "2021.05.04", and hit "Run workflow". The release will only be created if if the version name matches the format defined in Versioning and releases and if it matches the current date. Therefore, if you wait too long with the next step, the release will fail and you have to dispatch it again.
It is probably best to hold off merging PRs while the release workflow runs, to avoid possible conflicts. Therefore, warn the (other) core devs.
Ask for approval. Once the unit tests are complete, the release workflow will wait for approval before publishing the release on GitHub and Zenodo. Notify the (other) core devs so one of them can review and approve the release (don't approve the release yourself). You can point them to these guidelines:
Guidelines for reviewing a release:
The release notes are compiled automatically based on the activity in the repository since the last release. They will contain a list of merged pull-requests. Pull-requests labeled "new feature" or "bugfix" on GitHub will be classified as such in the release notes.
The script tools/CompileReleaseNotes.py generates the release notes and can also be invoked manually with a Python 3 interpreter to retrieve an overview of what happened in the repository recently. The script requires you install GitPython, PyGithub and tqdm in your Python environment.