11name : Test and Build
22
33on :
4- repository_dispatch :
5- types : [run-build]
4+ workflow_dispatch :
5+ inputs :
6+ pr_number :
7+ description : ' The pull request number to build'
8+ required : true
9+ type : ' string'
610
711permissions :
812 contents : read
13+ statuses : write
914
1015jobs :
11- prepare :
12- name : Feeds Package Test Build
16+ build :
17+ name : Prepare Build Environment
1318 runs-on : ubuntu-latest
19+ outputs :
20+ head_sha : ${{ steps.get_pr_data.outputs.head_sha }}
21+ head_ref : ${{ steps.get_pr_data.outputs.head_ref }}
22+ base_ref : ${{ steps.get_pr_data.outputs.base_ref }}
23+ pr_number : ${{ steps.get_pr_data.outputs.pr_number }}
1424 steps :
1525 - name : Extract PR Data
1626 id : get_pr_data
1727 uses : actions/github-script@v8
1828 with :
1929 script : |
20- const prNumber = context.payload.client_payload.pull_request.number ;
30+ const prNumber = ${{ github.event.inputs.pr_number }} ;
2131 if (!prNumber) {
2232 core.setFailed('Pull request number not found in the event payload.');
2333 return;
@@ -29,12 +39,27 @@ jobs:
2939 pull_number: prNumber,
3040 });
3141 core.setOutput('head_sha', pr.head.sha);
42+ core.setOutput('head_ref', pr.head.ref);
43+ core.setOutput('base_ref', pr.base.ref);
44+ core.setOutput('pr_number', prNumber);
3245
33- - name : Checkout PR Code
34- uses : actions/checkout@v4
46+ - name : Set latest commit status as pending
47+ uses : myrotvorets/set-commit-status-action@master
3548 with :
36- ref : ${{ steps.get_pr_data.outputs.head_sha }}
37- build :
38- name : Feeds Package Test Build
39- needs : prepare
40- uses : openwrt/actions-shared-workflows/.github/workflows/multi-arch-test-build.yml@main
49+ sha : ${{ steps.get_pr_data.outputs.head_sha }}
50+ status : pending
51+
52+ - name : Feeds Package Test Build
53+ uses : openwrt/actions-shared-workflows/.github/workflows/multi-arch-test-build.yml@main
54+ env :
55+ GITHUB_EVENT_NAME : pull_request
56+ GITHUB_SHA : ${{ steps.get_pr_data.outputs.head_sha }}
57+ GITHUB_REF : refs/pull/${{ steps.get_pr_data.outputs.pr_number }}/merge
58+ GITHUB_HEAD_REF : ${{ steps.get_pr_data.outputs.head_ref }}
59+ GITHUB_BASE_REF : ${{ steps.get_pr_data.outputs.base_ref }}
60+
61+ - name : Set latest commit status as pending
62+ uses : myrotvorets/set-commit-status-action@master
63+ with :
64+ sha : ${{ steps.get_pr_data.outputs.head_sha }}
65+ status : ${{ job.status }}
0 commit comments