This document assists maintainers with creating a new Deis product release. Please update it to agree with any changes in the process.
Follow these instructions from top to bottom, skipping the sections that do not apply.
Check out the previous release tag
git checkout vA.B.C
Pull in specific bug-fix commits
git cherry-pick <commit-ish>...
Bump the patch version numbers:
$ ./contrib/bumpver/bumpver -f A.B.C A.B.D \
README.md \
builder/rootfs/Dockerfile \
builder/rootfs/usr/local/src/slugbuilder/Dockerfile \
builder/rootfs/usr/local/src/slugrunner/Dockerfile \
cache/image/Dockerfile \
client/deis.py \
client/setup.py \
contrib/coreos/user-data.example \
controller/deis/__init__.py \
controller/Dockerfile \
database/Dockerfile \
deisctl/client/client.go \
deisctl/deis-version \
docs/_includes/_get-the-source.rst \
docs/installing_deis/install-deisctl.rst \
docs/installing_deis/install-platform.rst \
docs/managing_deis/upgrading-deis.rst \
docs/reference/api-v1.5.rst \
docs/troubleshooting_deis/index.rst \
logger/image/Dockerfile \
logspout/image/Dockerfile \
mesos/template \
mesos/zookeeper/Dockerfile \
publisher/image/Dockerfile \
registry/Dockerfile \
router/image/Dockerfile \
store/base/Dockerfile \
swarm/image/Dockerfile \
version/version.go
Update the CHANGELOG to include all commits since the last release. Since
contrib/util/generate-changelog.sh
only works for merges, you’ll have
to manually add the changes to the CHANGELOG.
git grep A.B.C
to ensure that no old version strings were missed
Commit and push the tag
git commit -a -m 'chore(release): update version to vA.B.D'
git tag vA.B.D
git push --tags origin vA.B.D
Move any open issues to the next deis milestone, then close this one
Check out and update the Deis repo master branch
git checkout master && git pull
Bump the major or minor version numbers
$ ./contrib/bumpver/bumpver -f A.B.D-dev A.B.D \
client/deis.py \
client/setup.py \
controller/deis/__init__.py \
deisctl/deis-version \
docs/reference/api-v1.5.rst \
version/version.go
$ ./contrib/bumpver/bumpver -f A.B.C A.B.D \
README.md \
contrib/coreos/user-data.example \
docs/_includes/_get-the-source.rst \
docs/installing_deis/install-deisctl.rst \
docs/installing_deis/install-platform.rst \
docs/managing_deis/upgrading-deis.rst \
docs/troubleshooting_deis/index.rst
[master]
to [vA.B.D]
.Update the CHANGELOG to include all commits since the last release
./contrib/util/generate-changelog.sh vA.B.C | cat - CHANGELOG.md > tmp && mv tmp CHANGELOG.md
HEAD
at the top to vA.B.D
(the new release)git grep A.B.C
to ensure that no old version strings were missed
Commit and push the tag to master
git commit -a -m 'chore(release): update version to vA.B.D'
git push origin master
git tag vA.B.D
git push --tags origin vA.B.D
pushd client && python setup.py sdist upload && popd
make -C docs clean zipfile
Bump the version numbers in master to the new release
./contrib/bumpver/bumpver -f A.B.C A.B.D \
README.md \
contrib/coreos/user-data.example \
docs/_includes/_get-the-source.rst \
docs/installing_deis/install-deisctl.rst \
docs/installing_deis/install-platform.rst \
docs/managing_deis/upgrading-deis.rst \
docs/reference/api-v1.5.rst \
docs/troubleshooting_deis/index.rst
git commit -a -m 'chore(release): update version in master to vA.B.D'
git push origin master
Create release notes on GitHub
Edit deisctl/client/client.go and change the default in the RefreshUnits usage string
(near the bottom of the file) from [vA.B.D]
to [master]
Bump the version numbers in master to the next planned with -dev
$ ./contrib/bumpver/bumpver -f A.B.D A.B.E-dev \
client/deis.py \
client/setup.py \
controller/deis/__init__.py \
deisctl/deis-version \
version/version.go
git commit -a -m 'chore(release): update version in master to vA.B.D-dev'
git push origin master
Create release notes blog post at deis/deis.io following previous formats
Create release notes at GitHub
<!-- more -->
tagUpdate HipChat channel topic to reference the next planned version