Skip to content

Latest commit

 

History

History
85 lines (61 loc) · 2.07 KB

RELEASE.md

File metadata and controls

85 lines (61 loc) · 2.07 KB

Releasing

  1. Make sure you are logged into Docker Hub:

    docker login
  2. Make a PR with new changelog in CHANGELOG.md and new version in VERSION.

  3. Once approved and merged, export the upstream repository, version and branch name, e.g.:

    REPO=upstream ;# or origin 
    BRANCH=release-v0.8 # should not include the patch version
    VERSION=v$(cat VERSION)
  4. Create or checkout release branch:

    For major/minor releases:

    git checkout -b $BRANCH

    For patch releases:

    git checkout $BRANCH
    git cherry-pick <commits shas for release>
  5. Upgrade the manifests to the new version

    make IMAGE_TAG=$VERSION manifests
    git commit -am "Update manifests to $VERSION"
    git push $REPO $BRANCH
    
  6. Create a Github releases pointing at the release branch with the following content:

    • Getting started (copy from previous release and new version)
    • Changelog
  7. Build and push release to Docker Hub

    git fetch --all
    git clean -fd
    make IMAGE_NAMESPACE=argoproj IMAGE_TAG=$VERSION DOCKER_PUSH=true release
  8. Upload ./dist/kubectl-argo-rollouts-{darwin/linux} binaries to the new Github release.

  9. Update stable tag:

    git tag stable --force && git push $REPO stable --force
  10. Update Brew formula:

    git clone [email protected]:argoproj/homebrew-tap.git
    cd homebrew-tap
    git pull
    ./update.sh kubectl-argo-rollouts $VERSION
    git commit -am "Update kubectl-argo-rollouts to $VERSION"
    git push

Verify

  1. Install locally using the command below and follow the Getting Started Guide:

    kubectl apply -n argo-rollouts -f https://raw.githubusercontent.com/argoproj/argo-rollouts/$VERSION/manifests/install.yaml
  2. Check the Kubectl Argo Rollout plugin:

    brew upgrade kubectl-argo-rollouts
    kubectl argo rollouts version