Skip to content

Commit c844e42

Browse files
committed
fix
1 parent fba8b11 commit c844e42

File tree

2 files changed

+38
-54
lines changed

2 files changed

+38
-54
lines changed

.github/workflows/auto-spotless-apply.yml

Lines changed: 35 additions & 51 deletions
Original file line numberDiff line numberDiff line change
@@ -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-
uses: actions/[email protected]
20+
- name: Download patch
21+
uses: actions/[email protected]
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
5336
- id: get-pr-number
37+
if: steps.unzip-patch.outputs.exists == 'true'
5438
name: Get PR number
55-
uses: actions/[email protected]
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
6650
- uses: 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
9276
- name: 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: |

.github/workflows/auto-spotless-check.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -37,16 +37,16 @@ jobs:
3737
- name: Spotless
3838
run: ./gradlew spotlessApply
3939

40-
- id: create-patch-file
40+
- id: create-patch
4141
name: Create patch file
4242
run: |
4343
git diff > patch
4444
if [ -s patch ]; then
45-
echo "non-empty=true" >> "$GITHUB_OUTPUT"
45+
echo "exists=true" >> "$GITHUB_OUTPUT"
4646
fi
4747
4848
- name: Upload patch file
49-
if: steps.create-patch-file.outputs.non-empty == 'true'
49+
if: steps.create-patch.outputs.exists == 'true'
5050
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
5151
with:
5252
path: patch

0 commit comments

Comments
 (0)