Releasing

Make sure you are logged into Docker Hub:

docker login

Export the upstream repository and branch name, e.g.:

REPO=upstream ;# or origin 
BRANCH=release-1.3

Set the VERSION environment variable:

# release candidate
VERSION=v1.3.0-rc1
# GA release
VERSION=v1.3.1

Update VERSION and manifests with new version:

git checkout $BRANCH
echo ${VERSION:1} > VERSION
make dev-tools-image
make manifests IMAGE_TAG=$VERSION
git commit -am "Update manifests to $VERSION"
git tag $VERSION

Build, and push release to Docker Hub

git clean -fd
make release IMAGE_NAMESPACE=argoproj IMAGE_TAG=$VERSION DOCKER_PUSH=true
git push $REPO $BRANCH
git push $REPO $VERSION

If GA, update stable tag:

git tag stable --force && git push $REPO stable --force

Update Github releases with:

  • Getting started (copy from previous release)
  • Changelog
  • Binaries (e.g. dist/argocd-darwin-amd64).

If GA, update Brew formula:

git clone git@github.com:argoproj/homebrew-tap.git
cd homebrew-tap
./update.sh argocd $VERSION
git commit -am "Update argocd to $VERSION"
git push

Verify

Locally:

kubectl apply -n argocd -f https://raw.githubusercontent.com/argoproj/argo-cd/$VERSION/manifests/install.yaml

Follow the Getting Started Guide.

If GA:

brew upgrade argocd
/usr/local/bin/argocd version

Sync Argo CD in https://cd.apps.argoproj.io/applications/argo-cd.

Deploy the site.