-
Make sure you are logged into Docker Hub:
docker login
-
Make a PR with new changelog in CHANGELOG.md and new version in VERSION.
-
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)
-
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>
-
Upgrade the manifests to the new version
make IMAGE_TAG=$VERSION manifests git commit -am "Update manifests to $VERSION" git push $REPO $BRANCH
-
Create a Github releases pointing at the release branch with the following content:
- Getting started (copy from previous release and new version)
- Changelog
-
Build and push release to Docker Hub
git fetch --all git clean -fd make IMAGE_NAMESPACE=argoproj IMAGE_TAG=$VERSION DOCKER_PUSH=true release
-
Upload
./dist/kubectl-argo-rollouts-{darwin/linux}
binaries to the new Github release. -
Update
stable
tag:git tag stable --force && git push $REPO stable --force
-
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
-
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
-
Check the Kubectl Argo Rollout plugin:
brew upgrade kubectl-argo-rollouts kubectl argo rollouts version