Skip to content

Release checklist

Ruslan Kuprieiev edited this page Jun 23, 2020 · 41 revisions
  1. Make sure tests on travis pass.
  2. Bump version at https://github.com/iterative/dvc/blob/master/dvc/__init__.py. Name your commit as dvc: bump to 0.54.3, so it is easier to look for old releases in git log by searching for the keyword bump.
  3. Go to https://github.com/iterative/dvc/releases.
    1. click “Draft a new release”.
    2. name tag and version the same as in 1), e.g. 0.17.1.
    3. add a changelog to the comments to the release. See https://github.com/iterative/dvc/releases/tag/0.53.2 for an example. Be sure to insert links to the issues closed and be sure to give kudos to outside contributors.
    4. click “Publish release”.
  4. Wait until build on travis is passing successfully.
  5. Travis will deploy packages to pypi and binary packages to the corresponding github release page automatically if all tests and pkg builds pass.
  6. Update https://github.com/Homebrew/homebrew-core/blob/master/Formula/dvc.rb . Don't forget to update sha256. Proceed to the next step only after the PR is merged!
  7. Update https://github.com/iterative/chocolatey-dvc/blob/master/tools/chocolateyinstall.ps1 and https://github.com/iterative/chocolatey-dvc/blob/master/dvc.nuspec . Choco moderation process takes awhile, so don't wait for it.
  8. Go to https://github.com/iterative/dvc.org/blob/master/src/components/DownloadButton/index.tsx and update downloadlinks. Name your commit as download: update to 0.54.3.
  9. Go to https://github.com/iterative/lambda-latest-version/blob/master/lambda_function.py, update dvc version and name your commit as lambda: update to 0.54.3. Travis will deploy to aws automatically.
  10. Our deb and rpm repos will be updated automatically by travis once a day based on dvc.org/latest.
  11. Conda bots will automatically create a PR in dvc-feedstock when dvc is updated on pypi. Be sure to follow the instructions in the PR before merging it. For additional info see https://github.com/iterative/dvc/wiki/Maintenance-of-Anaconda-package-in-conda-forge-channel

Major version transitions

  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