---
name: Changelog Category Check

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

jobs:
  changelog-category-check:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/github-script@v7
        id: label-checker
        with:
          result-encoding: "string"
          script: |
            const response = await github.rest.issues.listLabelsOnIssue({
              issue_number: context.payload.pull_request.number,
              owner: context.repo.owner,
              repo: context.repo.repo
            });
            if (new Set(response.data.map(label => label.name)).has("skip-changelog-checker")) {
              return "skip";
            }
            return "";

      - uses: pajlads/changelog-checker@v1.0.1
        if: steps.label-checker.outputs.result != 'skip'