Skip to content

Latest commit

 

History

History
55 lines (34 loc) · 2.44 KB

RELEASING.md

File metadata and controls

55 lines (34 loc) · 2.44 KB

Releasing

The purpose of this document is to outline the release process for the Kubernetes Provider for Terraform.

The Semantic Versioning agreement is being followed by this project. Further details can be found here.

How To Release

To create a new release, adhere to the following steps:

  • Decide on the version number that you intend to release. Throughout the following steps, it will be denoted as <SEMVER>.

  • Switch to the main branch and fetch the latest changes:

    $ git switch main
    $ git pull
  • Create a new branch from the main. The branch name is required to adhere to the following template: release/v<SEMVER>.

    $ git checkout -b release/v<SEMVER>
  • Generate change log entries:

    $ make changelog
  • Update the CHANGELOG file with the output produced in the previous step preceded by the release version and the planned release date expressed as Mon DD, YYYY format. The version number in this file must correspond with the <SEMVER> of the release branch name.

  • Create a pull request against the main branch and follow the regular code review and merge procedures.

  • After merging the release branch into the main one, a git tag with the new release version number needs to be attached to the release commit to start a release process. The version number in the tag must correspond with the v<SEMVER> of the merged release branch name. Below is an example of the commands that need to be run in this step:

    $ git switch main
    $ git pull
    $ git log --pretty=oneline -n 1
    
    ccd98a787308e6887c97291652430bd083106ccb (HEAD -> main, ...) v<SEMVER> (#XXXX)
    
    $ git tag v<SEMVER> ccd98a787308e6887c97291652430bd083106ccb
    $ git log --pretty=oneline -n 1
    
    ccd98a787308e6887c97291652430bd083106ccb (..., tag: v<SEMVER>) v<SEMVER> (#XXXX)
    
    $ git push origin v<SEMVER>
  • Confirm this succeeded by viewing the repository tags.

  • Monitor the release action on GitHub. Once it is completed, a new release should be available on the registry portal within 15-30 minutes. If this does not happen or the action fails, please reach out to the release engineering team to troubleshoot the issue.