@@ -13,96 +13,80 @@ jobs:
1313  apply :
1414    runs-on : ubuntu-latest 
1515    permissions :
16+       actions : read 
1617      contents : write 
1718      pull-requests : write 
1819    steps :
19-       - id : download-patch 
20-         name : Download patch 
21- 20+       - name : Download patch 
21+ 2222        with :
23-           #  this script copied from
24-           #  https://docs.github.com/en/actions/writing-workflows/choosing-when-your-workflow-runs/events-that-trigger-workflows#using-data-from-the-triggering-workflow
25-           script : | 
26-             let allArtifacts = 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-             let patchArtifact = allArtifacts.data.artifacts.filter((artifact) => { 
32-               return artifact.name == "patch" 
33-             })[0]; 
34-             if (!patchArtifact) { 
35-               core.info('No patch to apply.'); 
36-               return; 
37-             } 
38-             let download = await github.rest.actions.downloadArtifact({ 
39-                owner: context.repo.owner, 
40-                repo: context.repo.repo, 
41-                artifact_id: patchArtifact.id, 
42-                archive_format: 'zip' 
43-             }); 
44-             const fs = require('fs'); 
45-             const path = require('path'); 
46-             const temp = '${{ runner.temp }}/artifacts'; 
47-             if (!fs.existsSync(temp)){ 
48-               fs.mkdirSync(temp); 
49-             } 
50-             fs.writeFileSync(path.join(temp, 'patch.zip'), Buffer.from(download.data)); 
51-             core.setOutput("exists", "true"); 
23+           run-id : ${{ github.event.workflow_run.id }} 
24+           name : patch 
25+           path : ${{ runner.temp }} 
26+ 
27+       - id : unzip-patch 
28+         name : Unzip patch 
29+         working-directory : ${{ runner.temp }} 
30+         run : | 
31+           if [ -f patch.zip ]; then 
32+             unzip patch.zip 
33+             echo "exists=true" >> $GITHUB_OUTPUT 
34+           fi 
5235
5336id : get-pr-number 
37+         if : steps.unzip-patch.outputs.exists == 'true' 
5438        name : Get PR number 
55- 56-         with : 
57-           script :  | 
58-             const response = await  github.request(context.payload. workflow_run.url);  
59-             core.setOutput('pr-number ', response.data.pull_requests[0].number);  
60- 
61- -  name :  Unzip patch 
62-         if :  steps.download-patch.outputs.exists == 'true' 
63-         working-directory :  ${{ runner.temp }}/artifacts 
64-         run :  unzip patch.zip 
39+         env : 
40+            PR_BRANCH :  |- 
41+             ${{  
42+               (github.event.workflow_run.head_repository.owner.login !=  github.event. workflow_run.repository.owner.login)  
43+                 && format('{0}:{1} ', github.event.workflow_run.head_repository.owner.login, github.event.workflow_run.head_branch)  
44+                 || github.event.workflow_run.head_branch 
45+             }}  
46+    GH_TOKEN :  ${{ github.token }} 
47+         run :  | 
48+           gh pr view "${PR_BRANCH}" --json 'number' --jq '"pr-number=\(.number)' >> $GITHUB_OUTPUT  
6549
6650uses : actions/create-github-app-token@df432ceedc7162793a195dd1713ff69aefc7379e  #  v2.0.6
67-         if : steps.download -patch.outputs.exists == 'true' 
51+         if : steps.unzip -patch.outputs.exists == 'true' 
6852        id : otelbot-token 
6953        with :
7054          app-id : 1295839 
71-           private-key : ${{ secrets.OTELBOT_JAVA_CONTRIB_PRIVATE_KEY  }} 
55+           private-key : ${{ secrets.OTELBOT_JAVA_INSTRUMENTATION_PRIVATE_KEY  }} 
7256
7357      - uses : actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683  #  v4.2.2
74-         if : steps.download -patch.outputs.exists == 'true' 
58+         if : steps.unzip -patch.outputs.exists == 'true' 
7559        with :
7660          token : ${{ steps.otelbot-token.outputs.token }} 
7761
7862      - name : Check out PR branch 
79-         if : steps.download -patch.outputs.exists == 'true' 
63+         if : steps.unzip -patch.outputs.exists == 'true' 
8064        env :
8165          GH_TOKEN : ${{ github.token }} 
8266        run : gh pr checkout ${{ steps.get-pr-number.outputs.pr-number }} 
8367
8468      - name : Use CLA approved github bot 
85-         if : steps.download -patch.outputs.exists == 'true' 
69+         if : steps.unzip -patch.outputs.exists == 'true' 
8670        #  IMPORTANT do not call the .github/scripts/use-cla-approved-bot.sh
8771        #  since that script could have been compromised in the PR branch
8872        run : | 
8973          git config user.name otelbot 
9074          git config user.email [email protected]  9175
9276name : Apply patch and push 
93-         if : steps.download -patch.outputs.exists == 'true' 
77+         if : steps.unzip -patch.outputs.exists == 'true' 
9478        run : | 
95-           git apply "${{ runner.temp }}/artifacts/ patch" 
79+           git apply "${{ runner.temp }}/patch" 
9680          git commit -a -m "./gradlew spotlessApply" 
9781          git push 
9882
99- if : steps.download -patch.outputs.exists == 'true' && success() 
83+ if : steps.unzip -patch.outputs.exists == 'true' && success() 
10084        env :
10185          GH_TOKEN : ${{ steps.otelbot-token.outputs.token }} 
10286        run : | 
10387          gh pr comment ${{ steps.get-pr-number.outputs.pr-number }} --body "🔧 The result from spotlessApply was committed to the PR branch." 
10488
105- if : steps.download -patch.outputs.exists == 'true' && failure() 
89+ if : steps.unzip -patch.outputs.exists == 'true' && failure() 
10690        env :
10791          GH_TOKEN : ${{ steps.otelbot-token.outputs.token }} 
10892        run : | 
0 commit comments