name: Check Release Notes on: pull_request: types: - opened - reopened - synchronize - ready_for_review - labeled - unlabeled paths: - "**.py" - "pyproject.toml" - "!.github/**/*.py" jobs: reno: runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v4 with: # With the default value of 1, there are corner cases where tj-actions/changed-files # fails with a `no merge base` error fetch-depth: 0 - name: Get release note files id: changed-files uses: tj-actions/changed-files@v41 with: files: releasenotes/notes/*.yaml - name: Check release notes if: steps.changed-files.outputs.any_changed == 'false' && !contains( github.event.pull_request.labels.*.name, 'ignore-for-release-notes') run: | # Check if any of the commit messages contain tags ci/docs/test if git log --pretty=%s origin/main..HEAD | grep -E '^(ci:|docs:|test:)' > /dev/null; then echo "Skipping release note check for commits with 'ci:', 'docs:', or 'test:' tags." else echo "::error::The release notes file is missing, please add one or attach the label 'ignore-for-release-notes' to this PR." exit 1 fi