Skip to content

Release checklist

skshetry edited this page Mar 6, 2024 · 41 revisions

DVC's release-blocker issues Tests

Release checklist:

  1. Check for blockers:

    • Make sure tests are passing.
    • Check if there are any issues with release-blocker labels.
  2. Determine the next version number/tag:

    • Determine if the next release is going to be a major, minor, or a patch version.
    • Do not add any prefix/suffix to the version number(eg: v0.0.1 ❌, 0.0.1 ✅).
    • Make sure to always have 3 components: major/minor/patch in the version number/tag (eg: 2.33 ❌, 2.33.0 ✅).
  3. Make a release:

    If there's something interesting in the release, you can add that to the title so that users don't have to read all of the release notes. Use --title <title> if you are creating from a CLI.

  4. Monitor GitHub Actions and PyPI to confirm that they are built and uploaded correctly. Some packages may have their respective conda packages too, so please watch out for those too (they are automatically created by a bot, but might need manual merges).

Post-release steps after releasing dvc

Release script for DVC

#! /bin/sh

if [ $# -eq 0 ]; then
    echo "Usage: ${0##*/} <version>"
    exit 1
fi

gh release create $1 --generate-notes -R iterative/dvc
gh repo list iterative --topic dvc-pkg-builder --json name --jq ".[].name" | xargs -I{} gh workflow run update.yaml -R iterative/{}
./release-dvc.sh 3.1.0