diff --git a/.github/milestone-check.json b/.github/milestone-check.json new file mode 100644 index 0000000000..cb37b6116e --- /dev/null +++ b/.github/milestone-check.json @@ -0,0 +1,9 @@ +[ + { + "type": "check-milestone", + "title": "Milestone Check", + "success": "Milestone set", + "failure": "Milestone not set" + } +] + diff --git a/.github/workflows/milestone-checker.yml b/.github/workflows/milestone-checker.yml new file mode 100644 index 0000000000..a24e9696e1 --- /dev/null +++ b/.github/workflows/milestone-checker.yml @@ -0,0 +1,33 @@ +# This workflow checks that there is either a 'pr/no-milestone' label applied +# to a PR or there is a milestone associated with a PR + +name: Check Milestone + +on: + pull_request: + types: [opened, synchronize, labeled, unlabeled] + # Runs on PRs to main and release branches + branches: + - main + - release/** + +jobs: + # checks that a milestone entry is present for a PR + milestone-check: + # If there is a `pr/no-milestone` label we ignore this check + if: "!contains(github.event.pull_request.labels.*.name, 'pr/no-milestone')" + runs-on: ubuntu-latest + steps: + - name: Checkout Actions + uses: actions/checkout@v2 + with: + repository: "grafana/grafana-github-actions" + path: ./actions + ref: be89ad434792280ebaa4d982ac72ba548b6f7095 + - name: Install Actions + run: npm install --production --prefix ./actions + - name: Run PR Checks + uses: ./actions/pr-checks + with: + token: ${{ secrets.GITHUB_TOKEN }} + configPath: configs/milestone-check