Skip to content

Releasing

Daniel Lipovetsky edited this page Feb 16, 2024 · 2 revisions

I did not use the upstream GHA release workflow, because it assumes upstream branch name conventions (e.g. release-1.13, not d2iq/release-1.13).

NOTE These steps assume that the origin remote points to github.com/mesosphere/cluster-api-provider-azure

  1. Create a branch

    BRANCH=release-1.13
    git checkout $BRANCH
    git checkout -b d2iq/$BRANCH
    
  2. Commit any changes

  3. Create a tag

    UPSTREAM_TAG=v1.13.1
    RELEASE_TAG=$UPSTREAM_TAG-d2iq.0
    git tag -a $RELEASE_TAG -m $RELEASE_TAG
    
  4. Push changes

    git push origin $BRANCH
    git push origin $RELEASE_TAG
    
  5. Build and push container images

    make docker-build-all\
        TAG=$RELEASE_TAG \
        REGISTRY=ghcr.io/mesosphere/cluster-api-provider-azure \
        IMAGE_NAME=cluster-api-azure-controller
    
  6. Publish container images

    make docker-publish-all \
        TAG=$RELEASE_TAG \
        REGISTRY=ghcr.io/mesosphere/cluster-api-provider-azure \
        IMAGE_NAME=cluster-api-azure-controller
    
  7. Create GitHub draft release

    We use the GitHub CLI (gh).

    gh release create \
        $RELEASE_TAG \
        --title $RELEASE_TAG \
        --draft=true
    
  8. Make release artifacts

    This writes artifacts to out/ in the repo root.

    make release \
        PROD_REGISTRY=$REGISTRY \
        RELEASE_TAG=$RELEASE_TAG
    
  9. Upload release artifacts

    gh release upload $RELEASE_TAG out/*
    
  10. Publish draft release

    gh release edit \
        $RELEASE_TAG \
        --draft=false
    
Clone this wiki locally