88  trigger :
99    runs-on : ubuntu-latest 
1010    if : github.repository == 'sveltejs/svelte' && github.event.issue.pull_request && startsWith(github.event.comment.body, '/ecosystem-ci run') 
11+     permissions :
12+       issues : write  #  to add / delete reactions
13+       pull-requests : read  #  to read PR data
14+       actions : read  #  to check workflow status
15+       contents : read  #  to clone the repo
1116    steps :
12-       - uses : GitHubSecurityLab/actions-permissions/monitor@v1 
13-       - uses : actions/github-script@v6 
17+       - name : monitor action permissions 
18+         uses : GitHubSecurityLab/actions-permissions/monitor@v1 
19+       - name : check user authorization  #  user needs triage permission
20+         uses : actions/github-script@v7 
21+         id : check-permissions 
1422        with :
1523          script : | 
1624            const user = context.payload.sender.login 
@@ -29,24 +37,26 @@ jobs:
2937            } 
3038
3139            if (hasTriagePermission) { 
32-               console.log('Allowed ') 
40+               console.log('User is allowed. Adding +1 reaction. ') 
3341              await github.rest.reactions.createForIssueComment({ 
3442                owner: context.repo.owner, 
3543                repo: context.repo.repo, 
3644                comment_id: context.payload.comment.id, 
3745                content: '+1', 
3846              }) 
3947            } else { 
40-               console.log('Not  allowed') 
48+               console.log('User is not  allowed. Adding -1 reaction. ') 
4149              await github.rest.reactions.createForIssueComment({ 
4250                owner: context.repo.owner, 
4351                repo: context.repo.repo, 
4452                comment_id: context.payload.comment.id, 
4553                content: '-1', 
4654              }) 
47-               throw new Error('not allowed ') 
55+               throw new Error('User does  not have the necessary permissions. ') 
4856            } 
49-        - uses : actions/github-script@v6 
57+ 
58+        - name : Get PR Data 
59+         uses : actions/github-script@v7 
5060        id : get-pr-data 
5161        with :
5262          script : | 
@@ -59,21 +69,27 @@ jobs:
5969            return { 
6070              num: context.issue.number, 
6171              branchName: pr.head.ref, 
72+               commit: pr.head.sha, 
6273              repo: pr.head.repo.full_name 
6374            } 
64-        - id : generate-token 
65-         uses : tibdex/github-app-token@b62528385c34dbc9f38e5f4225ac829252d1ea92  # keep pinned for security reasons, currently 1.8.0
75+ 
76+        - name : Generate Token 
77+         id : generate-token 
78+         uses : actions/create-github-app-token@v2 
6679        with :
67-           app_id : ${{ secrets.ECOSYSTEM_CI_GITHUB_APP_ID }} 
68-           private_key : ${{ secrets.ECOSYSTEM_CI_GITHUB_APP_PRIVATE_KEY }} 
69-           repository : ' ${{ github.repository_owner }}/svelte-ecosystem-ci' 
70-       - uses : actions/github-script@v6 
80+           app-id : ${{ secrets.ECOSYSTEM_CI_GITHUB_APP_ID }} 
81+           private-key : ${{ secrets.ECOSYSTEM_CI_GITHUB_APP_PRIVATE_KEY }} 
82+           repositories : | 
83+             svelte 
84+             svelte-ecosystem-ci 
85+ 
86+        - name : Trigger Downstream Workflow 
87+         uses : actions/github-script@v7 
7188        id : trigger 
7289        env :
7390          COMMENT : ${{ github.event.comment.body }} 
7491        with :
7592          github-token : ${{ steps.generate-token.outputs.token }} 
76-           result-encoding : string 
7793          script : | 
7894            const comment = process.env.COMMENT.trim() 
7995            const prData = ${{ steps.get-pr-data.outputs.result }} 
89105                prNumber: '' + prData.num, 
90106                branchName: prData.branchName, 
91107                repo: prData.repo, 
108+                 commit: prData.commit, 
92109                suite: suite === '' ? '-' : suite 
93110              } 
94111            }) 
0 commit comments