Skip to content

Latest commit

 

History

History
66 lines (57 loc) · 2.86 KB

RELEASE.md

File metadata and controls

66 lines (57 loc) · 2.86 KB

Release Procedure

  1. Bump version
  2. PyPI
  3. GitHub
  4. Post-release

Bump version

  1. Open a branch for the release
    • git checkout -b releases/1.5.0
  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 <desired-version> <part>. Some examples:
      • Release candidates: --new-version 1.5.0rc1 num
      • Alpha releases: --new-version 1.5.0a1 num
      • Patch releases: --new-version 1.5.1 patch
      • Minor releases: --new-version 1.5.0 minor
      • Major releases: --new-version 2.0.0 major
    2. Actually modify the files: bumpversion --no-tag --new-version <desired-version> <part>. An example:
      • Minor releases: bumpversion --no-tag --new-version 1.5.0 minor
  4. Check the diff with git diff
  5. Add the files that were changed with git add --update
  6. Commit with message Release dbt-mysql v<desired-version>
  7. git push
  8. Merge back into main branch

PyPI

  1. Build source distribution
    • python setup.py sdist bdist_wheel
  2. Deploy to Test PyPI
  3. Deploy to PyPI

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

GitHub

  1. Click the Create a new release link on the project homepage in GitHub
  2. Click the "Choose a tag" drop-down
    1. Type v{semantic_version} (e.g., v1.5.0rc2) and click "+ Create a new tag: {version} on publish"
  3. Update the "Target" to be the name of the release branch
  4. Type dbt-mysql {semantic_version} as the "release title" (e.g. dbt-mysql 1.5.0rc2)
  5. Leave the description blank
  6. For pre-releases:
    • Tick the "This is a pre-release" checkbox
  7. Click the "Publish release" button

Post-release

  1. Create {minor-version}.latest branch. Example: - git checkout -b 1.5.latest - Update the branch names in requirements-dev.txt from @{previous-version}.latest (or @main) to @{minor-version}.latest - git push
  2. Bump the version in main to be the next minor alpha. Example: - git checkout main - git pull - git checkout -b bump-1.6.0a1 - Minor releases: bumpversion --no-tag --new-version 1.6.0a1 num - Update the branch names in requirements-dev.txt from @{previous-version}.latest to @{minor-version}.latest (or @main) - Commit with message Bump dbt-mysql 1.6.0a1 - git push