Skip to content

Latest commit

 

History

History
71 lines (49 loc) · 3.38 KB

Release-Process.md

File metadata and controls

71 lines (49 loc) · 3.38 KB

How to do a Kata Containers Release

This document lists the tasks required to create a Kata Release.

Requirements

Release Process

Bump the Kata repository

Bump the repository using the ./update-repository-version.sh script in the Kata release directory, where:

  • BRANCH=<the-branch-you-want-to-bump>
  • NEW_VERSION=<the-new-kata-version>
$ cd ${GOPATH}/src/github.com/kata-containers/kata-containers/tools/packaging/release
$ export NEW_VERSION=<the-new-kata-version>
$ export BRANCH=<the-branch-you-want-to-bump>
$ ./update-repository-version.sh -p "$NEW_VERSION" "$BRANCH"

Merge the bump version Pull request

  • The above step will create a GitHub pull request in the Kata repository. Trigger the CI using /test command on the bump Pull request.
  • Check any failures and fix if needed.
  • Work with the Kata approvers to verify that the CI works and the pull request is merged.

Tag the Kata repository

Once the pull request to bump version in the Kata repository is merged, tag the repository as shown below.

$ cd ${GOPATH}/src/github.com/kata-containers/kata-containers/tools/packaging/release
$ git checkout  <kata-branch-to-release>
$ git pull
$ ./tag_repos.sh -p -b "$BRANCH" tag

Check Git-hub Actions

We make use of GitHub actions in this file in the kata-containers/kata-containers repository to build and upload release artifacts. This action is auto triggered with the above step when a new tag is pushed to the kata-containers/kata-containers repository.

Check the actions status page to verify all steps in the actions workflow have completed successfully. On success, a static tarball containing Kata release artifacts will be uploaded to the Release page.

Create release notes

We have the ./release-notes.sh script in the release directory to create release notes that include a short-log of the commits.

Run the script as shown below:

$ cd ${GOPATH}/src/github.com/kata-containers/kata-containers/tools/packaging/release
# Note: OLD_VERSION is where the script should start to get changes.
$ ./release-notes.sh ${OLD_VERSION} ${NEW_VERSION} > notes.md
# Edit the `notes.md` file to review and make any changes to the release notes.
# Add the release notes in the project's GitHub.
$ gh release edit "${NEW_VERSION}" -F notes.md

Announce the release

Publish in Slack and Kata mailing list that new release is ready.