| # Release Process |
| |
| The NVIDIA Container Toolkit consists of the following artifacts: |
| - The NVIDIA Container Toolkit container |
| - Packages for debian-based systems |
| - Packages for rpm-based systems |
| |
| # Release Process Checklist: |
| - [ ] 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](https://github.com/NVIDIA/cloud-native-team/issues?q=is%3Aissue+is%3Aopen+label%3Arelease) |
| - [ ] Run the `./hack/generate-changelog.sh` script to generate the a draft changelog and update `CHANGELOG.md` with the changes. |
| - [ ] Create a PR from the created `bump-release-{{ .VERSION }}` branch. |
| - [ ] Merge the release PR |
| - [ ] Tag the release and push the tag to the `internal` mirror: |
| - [ ] Image release pipeline: https://gitlab-master.nvidia.com/dl/container-dev/container-toolkit/-/pipelines/16466098 |
| - [ ] Wait for the image release to complete. |
| - [ ] Push the tag to the the upstream GitHub repo. |
| - [ ] Wait for the [`Release`](https://github.com/NVIDIA/k8s-device-plugin/actions/workflows/release.yaml) GitHub Action to complete |
| - [ ] Publish the [draft release](https://github.com/NVIDIA/k8s-device-plugin/releases) created by the GitHub Action |
| - [ ] Publish the packages to the gh-pages branch of the libnvidia-container repo |
| - [ ] Create a KitPick |
| |
| ## Troubleshooting |
| |
| *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: |
| ```bash |
| ./hack/prepare-artifacts.sh {{ .VERSION }} |
| ``` |
| - Create the draft release by running: |
| ```bash |
| ./hack/create-release.sh {{ .VERSION }} |
| ``` |