Skip to content

Latest commit

 

History

History
42 lines (34 loc) · 2.91 KB

RELEASE.md

File metadata and controls

42 lines (34 loc) · 2.91 KB

Release Process

The Kubernetes Windows GMSA project is released on an as-needed basis. The process is as follows:

  1. An issue is created proposing a new release with a changelog since the last release using the Cut a release issue template

  2. All OWNERS must LGTM this release issue

  3. An OWNER runs git tag -s $VERSION from master branch and pushes the tag with git push $VERSION

  4. An OWNER promotes the gcr.io/k8s-staging-gmsa-webhook/k8s-gmsa-webhook image built the tagged commit.

    1. Follow setup steps for kpromo from here if needed

    2. Manually tag the desired container image in the staging registry as $VERSION

    3. Run kpromo pr to open a pull request to have tagged container image promoted from staging to release registries

      kpromo pr --project gmsa-webhook --tag $VERSION --reviewers "@jayunit100 @jsturtevant @marosset" --fork {your github username}
    4. Review / merge image promotion PR

    5. Verify the image is available using docker pull registry.k8s.io/gmsa-webhook/k8s-gmsa-webhook:$VERSION. The image is pushed to the release repository via the post submit which can take an hour or two to trigger. View results at https://testgrid.k8s.io/sig-k8s-infra-k8sio#post-k8sio-image-promo

  5. An OWNER creates a release with by

    1. Navigating to releases and clicking on Draft a new release

    2. Selecting the tag for the current release version

    3. Setting the title of the release to the current release version

    4. Clicking Auto-generate release notes button (and editing what was generated as appropriate)

    5. Adding instructions on how to deploy the current release to the top of the releaes notes with the following template:

      To deploy:

      K8S_GMSA_DEPLOY_DOWNLOAD_REV='$VERSION' \
          ./deploy-gmsa-webhook.sh --file ./gmsa-manifests \
          --image registry.k8s.io/gmsa-webhook/k8s-gmsa-webhook:$VERSION
    6. Clicking on Publish Release

  6. Update image.tag in charts/gmsa/chart.yaml to $VERSION and create new chart package:

    1. Run helm package charts/gmsa. Make sure the resulting tgz file is in the charts/repo folder.
    2. Run helm repo index charts/repo/ to update the helm index
  7. Update the IMAGE_NAME variable in admission_webhook/deploy/deploy-gmsa-webhook.sh to use the latest released image.

  8. The release issue is closed

  9. An announcement email is sent to [email protected] with the subject [ANNOUNCE] Kubernetes SIG-Windows GMSA Webhook $VERSION is Released

  10. An announcement is posted in #SIG-windows in the Kubernetes slack.