Skip to content

ReleaseChecklist

Chaz Reid edited this page Sep 11, 2018 · 2 revisions

Release Checklist

Quality Engineering Plan: centillion quality engineering plan

Checklist: Before You Release (dcppc dev branch)

Work on the dev branch to implement all of the features. Then implement a feature freeze during the release period.

Work on the dev branch to accomplish the following:

  • does it build/run without errors?
  • can you install the requirements in a virtualenv with pip?
  • do the tests pass? (you do have tests, right?)
  • does mkdocs build work? (you do have documentation, don't you?)
  • has the readme been given a once-over?
  • have any version number references been incremented?
  • have the quick start instructions been tested?

Checklist: Pre-Release (prereleases branch)

  • create a prereleases/vXYZ branch

if there is a Dockerfile:

  • does the Dockerfile use the correct base container image? does it use correct branches of any git repos?
  • can docker container be created with build container shell script?
  • can simple python-alpine Dockerfile install the requirements in requirements.txt? (test install dockerfile)
  • can the tests be run in a docker container? (test test dockerfile)

git:

  • are the submodules up to date?
  • do the submodules use correct protocol? (https/git)
  • any large files? can they be slimmed?

STOP: Complete Pre-Release Checklist Before Proceeding

Checklist: Release (releases branch)

  • create a release branch, or create new merge commit when merging prerelease into release (git checkout releases/vX; git merge --no-ff prereleases/vX.Y)
  • create tags for new version, from release branch head
  • push tags
  • test download/install release from github into a virtualenv
  • build and upload distributions to pypi
  • test downloading and installing the release from pypi into a virtualenv
  • add new tag to build list for dockerhub
  • trigger new build on dockerhub
  • test download/run new version's tag container

Checklist: Post Release

  • update any pointers to "stable" or "latest" versions
  • remake and deploy any documentation
  • pull latest tag from master on beavo server
  • stop/restart centillion service