name: changelog

on:
  pull_request:
    types:
      - labeled
      - unlabeled
      - opened
      - synchronize
      - reopened

concurrency:
  group: ${{ github.workflow }}-${{ github.ref }}
  cancel-in-progress: true

jobs:
  check:
    if: ${{ !contains(github.event.pull_request.labels.*.name, 'no-changelog-entry-needed') }}
    runs-on: ubuntu-latest
    steps:
      - uses: actions/setup-python@v6
        with:
          python-version: 3
      - uses: actions/checkout@v5
        with:
          fetch-depth: 0
      - run: pip install .
      - run: pip install towncrier
      - run: towncrier check
      - run: towncrier build --draft | grep -P '#${{ github.event.number }}'
