Release Workflow

NOTE: During release, don't merge any PR other than bumping the version.

Let's say we are releasing $VERSION (e.g. v1.2.3) .

Create git tag

  • In version/version.go, bump it to:
      // Version = "0.2.2" (without "v" prefix)
      Version = "$VERSION" 
    
  • Bump the version of the operator image in example deployements.

TOOD: release checker should check the version in the deployment.

  • Change CHANGELOG.md.

  • Send a PR. After it's merged, cut a tag:

$ git tag $VERSION
$ git push ${upstream_remote} tags/$VERSION

Push Image to Quay

  • Login to quay.io using docker if haven't:
$ docker login quay.io

Follow the prompts.

  • git checkout tag (created above)

  • Please read developer_guide.md .

  • After build, push image:

$ IMAGE=quay.io/coreos/etcd-operator:$VERSION hack/build/operator/build
  • Retag "latest":
$ docker tag quay.io/coreos/etcd-operator:$VERSION quay.io/coreos/etcd-operator:latest
$ docker push quay.io/coreos/etcd-operator:latest

Github release

  • Click "releases" in the top bar.

  • Click "$VERSION" tag.

  • Click "Edit Tag".

  • Fill in title and release notes.

  • If it's not stable release, click "This is a pre-release".

Bump version

In version/version.go, bump version again:

	// Version = "0.2.2+git" (without "v" prefix) 
	Version = "$VERSION+git"

Send another PR and merge it.