release_tag #12
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
# Release Tag workflow | |
name: release_tag | |
# Performed actions: | |
# - [x] infer the last RC version | |
# - [x] run bumpver.py with the new version | |
# - [x] push the commit and new tag | |
# - [x] support dry-run mode | |
on: | |
workflow_dispatch: # on manual trigger | |
inputs: | |
dryrun: | |
description: "Whether to run the release in a dry-run mode" | |
default: true | |
required: true | |
type: boolean | |
jobs: | |
new-tag: | |
if: ${{ github.ref_name == 'master' }} | |
runs-on: ubuntu-latest | |
env: | |
CHANGES_FILE: CHANGES.rst | |
EXPECTED_DIFF_COUNT: 1 | |
steps: | |
- uses: actions/checkout@v3 | |
- id: get-version | |
run: | | |
LAST_VERSION=$(grep -m1 -E ' \([0-9]+-[0-9]+-[0-9]+\)$' ${CHANGE_FILE} | awk '{ print $1 }') | |
echo "LAST_VERSION=${LAST_VERSION}" >> "$GITHUB_OUTPUT" | |
- uses: actions/setup-python@v4 | |
with: | |
python-version: "3.x" | |
- id: install-requirements | |
run: pip install -r "requirements/dev.pip" | |
- name: run `bumpver` | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
run: | | |
echo ${{ inputs.dryrun && '💡 Running in dry-run mode' || 'Preparing release...' }} | |
CHANGE_FILE=${{ env.CHANGES_FILE }} | |
LAST_VERSION=${{ steps.get-version.outputs.LAST_VERSION }} | |
git config user.name github-actions | |
git config user.email github-actions@github.com | |
python3 bin/bumpver.py ${{ inputs.dryrun && '-n' || '' }} -t "Automated release ${LAST_VERSION}" ${LAST_VERSION} | |
git push --follow-tags |