Skip to content

Tutorial notebooks rerun, fixed, and ready for release #374

Tutorial notebooks rerun, fixed, and ready for release

Tutorial notebooks rerun, fixed, and ready for release #374

Workflow file for this run

name: changelog
on:
pull_request:
# fire when the PR is created, updated, reopened, or (re-)labelled
types: [opened, synchronize, reopened, labeled]
jobs:
check-changelog-entry:
# run on every PR event **except** when the PR already carries
# the “no-changelog-needed” label
if: |
!contains(github.event.pull_request.labels.*.name, 'no-changelog-needed')
runs-on: ubuntu-latest
steps:
- name: Checkout PR branch
uses: actions/checkout@v6
- name: Check for changelog fragments
env:
PR_NUMBER: ${{ github.event.number }}
run: |
if compgen -G "changelog.d/$PR_NUMBER.*.rst"; then
echo "Changelog entry exists :)"
else
echo "Changelog entry not found! :("
exit 1
fi
generate-changelog:
# only start when the “ready-for-changelog” label is added
# **and** the fragment check above passed
if: github.event.action == 'labeled' && github.event.label.name == 'ready-for-changelog'
needs: check-changelog-entry
runs-on: ubuntu-latest
defaults:
run:
shell: bash -l {0}
steps:
- name: Checkout PR branch
uses: actions/checkout@v6
- name: Install changelog dependencies
run: pip install towncrier
- name: Sync with latest PR branch before updating changelog
run: |
git fetch origin ${{ github.head_ref }}
git checkout ${{ github.head_ref }}
git pull origin ${{ github.head_ref }}
- name: Run Towncrier to generate changelog
run: |
VERSION=$(grep -oP "^__version__\s*=\s*['\"]\K[^'\"]+" xpsi/__init__.py | cut -d. -f1,2)
towncrier build --version "$VERSION" --yes
- name: Set up Git identity
run: |
git config user.name "github-actions[bot]"
git config user.email "github-actions[bot]@users.noreply.github.com"
- name: Commit and push changelog update
run: |
git add CHANGELOG.rst
git commit -m "Changelog updated"
git push origin HEAD:${{ github.head_ref }}