Release Checklist¶
This document is intended for Nautobot Helm Chart maintainers and covers the steps to perform when releasing new versions.
Versioning¶
Path Version Bumps (0.0.x)¶
Minor version bumps are intended for minor bug fixes or documentation changes which will not impact the method of deployment (deployed values).
Minor Version Bumps (0.x.0)¶
App version changes (assuming there are no significant upstream changes) and new features should come with a minor version bump, these changes can add to values.yaml but should not change the current method of deployment.
Major Version Bumps (x.0.0)¶
Major version bumps are intended for breaking changes, and changes which will impact the current method of deployment. Major upstream version changes should also come in a major version.
Update Requirements¶
All Releases¶
Verify CI Build Status¶
Ensure that continuous integration testing on the develop
branch is completing successfully.
Bump the Version¶
Update the version
and appVersion
(and the image tag in the artifacthub.io/images
annotation) in the corresponding Chart.yaml
file. Be sure to set the annotation artifacthub.io/prerelease: "true"
if the chart is a pre-release version.
Check the dependencies¶
Check the chart dependencies in Chart.yaml
to ensure we are using the latest. On minor or major releases use helm dependency update charts/nautobot
to update the helm dependencies.
Update the README¶
If necessary add to the Upgrading section to provide instructions on migrating to the new version.
Update the annotations¶
Artifact hub provides several annotations which can be added to the Chart.yaml
. Annotations which may change per release are:
artifacthub.io/containsSecurityUpdates
artifacthub.io/prerelease
artifacthub.io/changes
artifacthub.io/images
Update the Changelog¶
Update the release notes for the new version and commit these changes to the develop
branch.
Important
The changelog must adhere to the Keep a Changelog style guide.
Submit a Pull Request¶
Submit a pull request title "Release vX.Y.Z" to merge the develop
branch into main
. Copy the documented release notes into the pull request's body.
Once CI has completed on the PR, merge it.
Create a New Release¶
Draft a new release with the following parameters.
- Tag: Current version (e.g.
v2.0.0
) - Target:
main
- Title: Version and date (e.g.
v2.0.0 - 2023-04-18
)
Copy the description from the pull request to the release.
Publish¶
Once the release has been created the GitHub Action defined in release-chart.yaml will run. This will generate the correct packaging and publish the chart via GitHub pages in the gh-pages
branch.