yum-mirror/slang

Making it easier to work with shaders

git clone https://git.yummers.dev/yum-mirror/slang

Ellie HermaszewskaAdd CI to check ir module versioning (#7821)f25e5a89f

master
2.3 KiB73 linesraw
1name: Comment IR Version Check Results
2
3on:
4  workflow_run:
5    workflows: ["CI"]
6    types:
7      - completed
8
9jobs:
10  comment:
11    runs-on: ubuntu-latest
12    if: github.event.workflow_run.event == 'pull_request'
13
14    steps:
15      - name: Download artifacts
16        id: download
17        uses: actions/github-script@v7
18        with:
19          script: |
20            const artifacts = await github.rest.actions.listWorkflowRunArtifacts({
21              owner: context.repo.owner,
22              repo: context.repo.repo,
23              run_id: ${{ github.event.workflow_run.id }},
24            });
25
26            const matchArtifact = artifacts.data.artifacts.filter((artifact) => {
27              return artifact.name == "ir-version-check-results"
28            })[0];
29
30            if (!matchArtifact) {
31              console.log('No IR version check artifacts found - nothing to comment');
32              return false;
33            }
34
35            const download = await github.rest.actions.downloadArtifact({
36              owner: context.repo.owner,
37              repo: context.repo.repo,
38              artifact_id: matchArtifact.id,
39              archive_format: 'zip',
40            });
41
42            const fs = require('fs');
43            fs.writeFileSync('${{github.workspace}}/ir-version-check-results.zip', Buffer.from(download.data));
44            return true;
45
46      - name: Extract artifacts
47        if: steps.download.outputs.result == 'true'
48        run: unzip ir-version-check-results.zip
49
50      - name: Read PR number
51        if: steps.download.outputs.result == 'true'
52        id: pr
53        run: |
54          echo "number=$(cat pr-number.txt)" >> $GITHUB_OUTPUT
55
56      - name: Find existing comment
57        if: steps.download.outputs.result == 'true'
58        id: find-comment
59        uses: peter-evans/find-comment@v3
60        with:
61          token: ${{ secrets.SLANGBOT_PAT }}
62          issue-number: ${{ steps.pr.outputs.number }}
63          body-includes: "<!-- slang-ir-version-check -->"
64
65      - name: Create or update comment
66        if: steps.download.outputs.result == 'true'
67        uses: peter-evans/create-or-update-comment@v4
68        with:
69          token: ${{ secrets.SLANGBOT_PAT }}
70          issue-number: ${{ steps.pr.outputs.number }}
71          comment-id: ${{ steps.find-comment.outputs.comment-id }}
72          body-path: comment-body.txt
73          edit-mode: replace