name: Check change note

on:
  pull_request_target:
    types: [labeled, unlabeled, opened, synchronize, reopened, ready_for_review]
    paths:
      - "*/ql/src/**/*.ql"
      - "*/ql/src/**/*.qll"
      - "*/ql/lib/**/*.ql"
      - "*/ql/lib/**/*.qll"
      - "!**/experimental/**"
      - "!ql/**"
      - "!swift/**"
      - ".github/workflows/check-change-note.yml"

jobs:
  check-change-note:
    runs-on: ubuntu-latest
    steps:
      - name: Fail if no change note found. To fix, either add one, or add the `no-change-note-required` label.
        if: |
          github.event.pull_request.draft == false &&
          !contains(github.event.pull_request.labels.*.name, 'no-change-note-required')
        env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
        run: |
          gh api 'repos/${{github.repository}}/pulls/${{github.event.number}}/files' --paginate --jq 'any(.[].filename ; test("/change-notes/.*[.]md$"))' |
          grep true -c

name: Check change note

on:
  pull_request_target:
    types: [labeled, unlabeled, opened, synchronize, reopened, ready_for_review]
    paths:
      - "*/ql/src/**/*.ql"
      - "*/ql/src/**/*.qll"
      - "*/ql/lib/**/*.ql"
      - "*/ql/lib/**/*.qll"
      - "!**/experimental/**"
      - "!ql/**"
      - "!swift/**"
      - ".github/workflows/check-change-note.yml"

jobs:
  check-change-note:
    runs-on: ubuntu-latest
    steps:
      - name: Fail if no change note found. To fix, either add one, or add the `no-change-note-required` label.
        if: |
          github.event.pull_request.draft == false &&
          !contains(github.event.pull_request.labels.*.name, 'no-change-note-required')
        env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
        run: |
          gh api 'repos/${{github.repository}}/pulls/${{github.event.number}}/files' --paginate --jq \
            'any(.[].filename ; test("/change-notes/.*[.]md$")) or
             all(.[].filename ; .==".github/workflows/check-change-note.yml")' |
          grep true -c

Fix change note check to accept changes to itself
Fix change note check to accept changes to itself

The file is not removed from the triggers, as we still want to check
that the workflow file itself is correct.
