Prepare and Deploy#
Note
The steps described in this document are intended for maintainers of the simtools project.
Simtools releases follow the Semantic Versioning 2.0.0 guidelines with a version string format of vMAJOR.MINOR.PATCH
(e.g., v2.1.3
).
Note that simtools
is named gammasimtools
on PyPi and in the conda.
Release Preparation#
Consider a release only after all tests are passing.
Open a pull request to prepare the release with the branch name
<version string>-rc
(e.g.,v2.1.3-rc
). This should be the final pull request before a release.All notable changes to the simtools project must be documented in the CHANGELOG.md file. To update the changelog, run the changelog workflow using towncrier:
towncrier build --yes --version <version string>
This updates the changelog using the fragments in the docs/changes directory.
Review the
CHANGELOG.md
file and ensure that all changes are documented.Add a new line to docs/_static/switcher.json indicating the new version.
Review the CITATION and apply any changes if necessary.
Request a review of the pull request from the simtools team. Merge to main after approval.
Release and Deploy#
Prepare a GitHub release with the version number and a summary of the changes (simtools release pages) and release.
Pypi deployment is triggered automatically by the CI/CD pipeline via the pypi.yml workflow.
Docker images are built and tagged automatically with the version number, and pushed to gammasim/simtools via the build-simtools-production-images.yml workflow.
A DOI is issued automatically by Zenodo, see the simtools Zenodo page.
Conda feedstock#
The conda feedstock for simtools is maintained in this repository. A new pull request is automatically created for new releases on PyPi.
New, updated, or removed command-line tools require manual modifications in the recipe/meta.yaml
file.
Changed dependencies require manual modifications in a similar way.
A template for the required changes can be obtained using the grayskull tool: grayskull pypi gammasimtools
generates a meta.yaml
file with the required changes.