Skip to content

Release checklist

skshetry edited this page Apr 6, 2023 · 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

Major version transitions in dvc-snap package

  1. request a new channel version-prefix (aka track) at https://forum.snapcraft.io/t/track-request-for-dvc/17735 (e.g. v2)
    • otherwise attempting to snapcraft release --channel=v2 will fail
  2. create a new legacy-dev git branch (e.g. 1.x-dev)
  3. (optional) give a warning message: cherry-pick dvc@6f0a05ad. Wait ~30 days before continuing to the next step
    • the idea is to warn & give 2 options: opt-in now, or opt-out permanently. Both options will suppress the warning. Ignoring the warning will result in an auto-upgrade in 30 days
  4. uncomment the echo "unset SNAP_CHANNEL" >>env.sh line in scripts/ci/before_install.sh
Clone this wiki locally