The device plugin consists in two artifacts:
- The Device Plugin container
- The Device Plugin helm chart
- Create a release PR:
- Run the
./hack/prepare-release.sh
script to update the version in all the needed files. This also creates a release issue - Run the
./hack/generate-changelog.sh
script to generate the a draft changelog and updateCHANGELOG.md
with the changes. - Create a PR from the created
bump-release-{{ .VERSION }}
branch.
- Run the
- Merge the release PR
- Tag the release and push the tag to the
internal
mirror:- Image release pipeline:
- Wait for the image release to complete.
- Push the tag to the the upstream GitHub repo.
- Wait for the
Release
GitHub Action to complete - Publish the draft release created by the GitHub Action
- Wait for the
Publish Helm Chart
GitHub Action to complete
Note: This assumes that we have the release tag checked out locally.
- If the
Release
GitHub Action fails:- Check the logs for the error first.
- Create the helm packages locally by running:
./hack/package-helm-charts.sh {{ .VERSION }}
- Create the draft release by running:
./hack/create-release.sh {{ .VERSION }}
- If the
Publish Helm Chart
GitHub Action fails:-
Check the logs for the error.
-
Download the release artifacts:
-
Update the Helm package index on the
gh-pages
branch by running:./hack/update-helm-index.sh --version {{ .VERSION }}
(this pulls the packages from the release created in the previous step)
-
Push the change to the
gh-pages
branch:git -C releases/{{ .VERSION }} remote set-url origin [email protected]:NVIDIA/k8s-device-plugin.git git -C releases/{{ .VERSION }} push origin gh-pages
-