Bump version #10
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Bump version | |
on: | |
workflow_dispatch: | |
inputs: | |
bump_rule: | |
type: choice | |
description: How to bump the project's version (see https://python-poetry.org/docs/cli/#version) | |
options: | |
- patch | |
- minor | |
- major | |
- prepatch | |
- preminor | |
- premajor | |
- prerelease | |
required: true | |
jobs: | |
bump_version: | |
name: "Bump version and create changelog" | |
if: "!startsWith(github.event.head_commit.message, 'bump:')" | |
runs-on: ubuntu-latest | |
env: | |
CI_COMMIT_EMAIL: "[email protected]" | |
steps: | |
- name: Check out repository | |
uses: actions/checkout@v3 | |
with: | |
fetch-depth: 0 | |
token: "${{ secrets.PERSONAL_ACCESS_TOKEN }}" | |
# towncrier imports the package as part of building so just do the full | |
# setup here | |
- uses: ./.github/actions/setup | |
with: | |
python-version: "3.11" | |
venv-id: "bump" | |
# another test that we can import if we only install the main library | |
poetry-dependency-install-flags: "--only main" | |
- name: Install towncrier | |
run: | | |
poetry run pip install towncrier | |
- name: Create bump and changelog | |
run: | | |
BASE_VERSION=`poetry version -s` | |
NEW_VERSION=`poetry version -s ${{ github.event.inputs.bump_rule }}` | |
poetry run towncrier build --yes --version v$NEW_VERSION | |
git config --global user.name "$GITHUB_ACTOR" | |
git config --global user.email "$CI_COMMIT_EMAIL" | |
git commit -a -m "bump: version $BASE_VERSION -> $NEW_VERSION" | |
git tag v$NEW_VERSION | |
git push && git push --tags | |
echo "Bumped to version $NEW_VERSION" |