diff --git a/.github/labeler.yml b/.github/labeler.yml index be2f10f17c8..ee8e16372e6 100644 --- a/.github/labeler.yml +++ b/.github/labeler.yml @@ -1,5 +1,10 @@ # Add 'documentation' to any change in apps/docs # https://github.com/marketplace/actions/labeler documentation: -- changed-files: - - any-glob-to-any-file: 'apps/docs/**/*' + - changed-files: + - any-glob-to-any-file: 'apps/docs/**/*' + +# Add 'api-deploy-required' to any change in packages/api-types/types +api-deploy-required: + - changed-files: + - any-glob-to-any-file: 'packages/api-types/types/**' diff --git a/.github/workflows/label_prs.yml b/.github/workflows/label_prs.yml index 741ddea4ac7..7bd90fd102e 100644 --- a/.github/workflows/label_prs.yml +++ b/.github/workflows/label_prs.yml @@ -1,10 +1,7 @@ name: 'Pull Request Labeler' -# only docs uses the labeler at the moment on: pull_request_target: - paths: - - 'apps/docs/**/*' jobs: labeler: @@ -13,4 +10,17 @@ jobs: pull-requests: write runs-on: ubuntu-latest steps: - - uses: actions/labeler@634933edcd8ababfe52f92936142cc22ac488b1b # v6.0.1 + - id: label + uses: actions/labeler@634933edcd8ababfe52f92936142cc22ac488b1b # v6.0.1 + + - name: Comment when api-deploy-required is auto-applied + if: contains(steps.label.outputs.new-labels, 'api-deploy-required') + uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0 + with: + script: | + await github.rest.issues.createComment({ + owner: context.repo.owner, + repo: context.repo.repo, + issue_number: context.issue.number, + body: 'The `api-deploy-required` label was auto-applied to this PR because it updates the API types. Ensure that the new or updated API, if any, is deployed on production before **removing the label** and merging this PR.', + }) diff --git a/.github/workflows/validate-pr.yml b/.github/workflows/validate-pr.yml index 1b10f526421..2ee49d84c8e 100644 --- a/.github/workflows/validate-pr.yml +++ b/.github/workflows/validate-pr.yml @@ -17,6 +17,12 @@ jobs: echo "PR blocked: [tag: do not merge]" exit 1 + - name: Tagged with 'api-deploy-required' + if: contains( github.event.pull_request.labels.*.name, 'api-deploy-required') + run: | + echo "PR blocked: [tag: api-deploy-required] — confirm the API is deployed in production, then remove the label." + exit 1 + - name: All good if: ${{ success() }} run: |