[Workflow] Try to fix code-formatter failing to find changes in some cases.
[llvm-project.git] / .github / workflows / new-prs.yml
blobc1952ddab83f78bfde91df150df9b3e50d435a2a
1 name: "Labelling new pull requests"
2 on:
3   workflow_run:
4     workflows: ["PR Receive"]
6 jobs:
7   automate-prs-labels:
8     permissions:
9       contents: read
10       pull-requests: write
11     runs-on: ubuntu-latest
12     if: >
13       github.repository == 'llvm/llvm-project' &&
14       github.event.workflow_run.event == 'pull_request_target' &&
15       github.event.workflow_run.conclusion == 'success'
16     steps:
17       # From: https://securitylab.github.com/research/github-actions-preventing-pwn-requests/
18       # Updated version here: https://docs.github.com/en/actions/using-workflows/events-that-trigger-workflows#using-data-from-the-triggering-workflow
19       - name: Debug
20         run: |
21           echo "Event: ${{ github.event.workflow_run.event }} Conclusion: ${{ github.event.workflow_run.conclusion }}"
22       - name: 'Download artifact'
23         uses: actions/github-script@v6
24         with:
25           script: |
26             const artifacts = await github.rest.actions.listWorkflowRunArtifacts({
27                owner: context.repo.owner,
28                repo: context.repo.repo,
29                run_id: context.payload.workflow_run.id
30             });
31             const matchArtifact = artifacts.data.artifacts.find((artifact) =>
32               artifact.name === 'pr'
33             );
34             const download = await github.rest.actions.downloadArtifact({
35                owner: context.repo.owner,
36                repo: context.repo.repo,
37                artifact_id: matchArtifact.id,
38                archive_format: 'zip'
39             });
40             const { writeFileSync } = require('node:fs');
41             writeFileSync('${{ github.workspace }}/pr.zip', Buffer.from(download.data));
43       - run: unzip pr.zip
45       - name: "Get PR Number"
46         id: vars
47         run:
48           echo "pr-number=$(cat NR)" >> "$GITHUB_OUTPUT"
50       - uses: actions/labeler@v4
51         with:
52           configuration-path: .github/new-prs-labeler.yml
53           # workaround for https://github.com/actions/labeler/issues/112
54           sync-labels: ''
55           repo-token: ${{ secrets.ISSUE_SUBSCRIBER_TOKEN }}
56           pr-number: ${{ steps.vars.outputs.pr-number }}