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
    • [ ] 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:
  • [ ] 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
  • [ ] 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:
      ./hack/prepare-artifacts.sh {{ .VERSION }}
      
    • Create the draft release by running:
      ./hack/create-release.sh {{ .VERSION }}