argo-cd/docs/developer-guide/releasing.md
2019-06-17 10:45:32 -07:00

2.1 KiB

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.0

Set the VERSION environment variable:

# release candidate
VERSION=v1.0.0-rc1
# GA release
VERSION=v1.0.2

Prior to v1.1, the UI is in a separate repo.

If not already created, create UI release branch:

cd argo-cd-ui
git checkout -b $BRANCH

Tag and release UI:

git checkout $BRANCH
git tag $VERSION
git push $REPO $BRANCH --tags
git clean -fd
IMAGE_NAMESPACE=argoproj IMAGE_TAG=$VERSION DOCKER_PUSH=true yarn docker

If not already created, create release branch:

cd argo-cd
git checkout -b $BRANCH
git push $REPO $BRANCH

Update VERSION and manifests with new version:

git checkout $BRANCH
echo ${VERSION:1} > VERSION
make manifests IMAGE_TAG=$VERSION
git commit -am "Update manifests to $VERSION"
git push $REPO $BRANCH

Tag, build, and push release to Docker Hub

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

Update Github releases with:

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

If GA, update stable tag:

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

If GA, update Brew formula:

git clone https://github.com/argoproj/homebrew-tap
cd homebrew-tap
git checkout master
git pull
./update.sh ~/go/src/github.com/argoproj/argo-cd/dist/argocd-darwin-amd64
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.