Skip to content

Release Checklist

Benjamin Bannier edited this page Apr 9, 2021 · 26 revisions

One time changes as we make the 1st release:

General process:

  • Update release version in doc/conf.py (we could put this information somewhere else, too).
  • bump version in Spicy Homebrew formula
  • if needed: cut release branch (naming scheme release/X.Y) and change to it
  • tag a release with update-changes -R vX.Y.Z. _The commit message must not contain skip CI (from default template) as that would skip the release pipeline
    • If this is a major release cherry this commit into the main branch
  • push tags (release, vX.Y.Z) and branch (release/X.Y)
  • wait for release to be created. This might take some time as the release job waits for other jobs to pass first
  • remove stray "releases" like release or beta produced by GH from tags
  • confirm that release artifacts contain all artifacts; if a platform is missing download its release artifact from the Cirrus CI task artifacts and upload manually (rename if needed); you can use e.g., scripts/store_release_artifacts --commit vX.Y.Z to download all artifacts for a certain tag.
  • check that source tarball spicy-X.Y.Z.tar.gz has correct name; else rename via edit of release
  • if update to latest release: update the spicy:latest Docker image
    docker pull zeekurity/spicy:X.Y.Z
    docker tag zeekurity/spicy:X.Y.Z zeekurity/spicy:latest
    docker push zeekurity/spicy:latest  # Requires `docker login` for 'zeekurity' user