Skip to content

Latest commit

 

History

History
50 lines (46 loc) · 2.51 KB

RELEASE.md

File metadata and controls

50 lines (46 loc) · 2.51 KB

Release Procedure

Bump version

  1. Open a branch for the release
    • git checkout -b releases/{semantic_version}
  2. Update CHANGELOG.md with the most recent changes
  3. Bump the version using bump2version:
    1. Dry run first by running bumpversion --dry-run --verbose --new-version ``git branch --show-current | cut -f 2 -d "/"`` <part>. Some examples:
      • Release candidates: --new-version 0.10.2rc1 num
      • Alpha releases: --new-version 0.10.2a1 num
      • Patch releases: --new-version 0.10.2.1 patch
      • Minor releases: --new-version 0.11.0.1 minor
      • Major releases: --new-version 1.0.0.1 major
    2. Actually modify the files: bumpversion --no-tag --new-version ``git branch --show-current | cut -f 2 -d "/"`` <part>
    3. Check the diff with git diff
    4. Add the files that were changed with git add --update
    5. Commit with message Release dbt-mysql-adapter v<desired-version>
  4. Push the branch to GitHub
    • git push -u origin releases/{semantic_version}
  5. Create a Pull Request for it, and merge it.
  6. Create a tag after the merge
    • git checkout master
    • git pull
    • git tag v{semantic_version}
  7. Push the release tag
    • git push origin tag v{semantic_version}
  8. Create a new release in Github
    • Click the Create a new release link on the project homepage in GitHub
    • Choose the created tag
    • Type dbt-mysql-adapter {semantic_version} as the "release title" (e.g. dbt-mysql-adapter 0.19.0)
    • For pre-releases:
      • leave the description blank
      • Tick the "this is a pre-release" checkbox
    • Click the "publish release" button
  9. Deploy to PyPI.
  10. Delete release branch
    • git branch -d releases/{semantic_version}

PyPI

  1. Build source distribution
    • poetry build
  2. Deploy to Test PyPi
  3. Deploy to PyPi

PyPi recognizes pre-release versioning conventions and will label "pre-releases" as-such.