Skip to content

Commit 5f9c713

Browse files
Split artifacts for multiple jobs (#324)
* Test multiple code coverage pages * Add affix to artifacts * Test uploading code coverage as artifact * Deploy GitHub pages at last for multiple jobs * Test using unified upload pages * Disable test cases to accelerate experiment * Fix escape character $ * Revert "Test using unified upload pages" This reverts commit 3668d9f. * Set destination for downloaded artifact * Use a different artifact name * Fix escape value * Revert "Disable test cases to accelerate experiment" This reverts commit 8468f17. * Override duplicated github-pages in artifact * Revert "Override duplicated github-pages in artifact" This reverts commit 17a83aa. * Delete Duplicate Code Coverage Artifact
1 parent 11a7db2 commit 5f9c713

File tree

2 files changed

+71
-17
lines changed

2 files changed

+71
-17
lines changed

.github/workflows/regression_template.yml

Lines changed: 61 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,15 @@ on:
2121
default: './test/cmake'
2222
required: false
2323
type: string
24-
deploy_url_affix:
24+
skip_test:
25+
default: false
26+
required: false
27+
type: boolean
28+
skip_deploy:
29+
default: false
30+
required: false
31+
type: boolean
32+
deploy_list:
2533
default: ''
2634
required: false
2735
type: string
@@ -34,6 +42,7 @@ on:
3442
jobs:
3543
# This workflow contains a single job called "linux_job"
3644
run_tests:
45+
if: ${{ !inputs.skip_test}}
3746
permissions:
3847
contents: read
3948
issues: read
@@ -71,18 +80,14 @@ jobs:
7180
if: success() || failure()
7281
uses: actions/[email protected]
7382
with:
74-
name: test_reports
83+
name: test_reports ${{ inputs.result_affix }}
7584
path: |
7685
${{ inputs.cmake_path }}/build/*.txt
7786
${{ inputs.cmake_path }}/build/*/Testing/**/*.xml
87+
${{ inputs.cmake_path }}/build/**/regression/output_files/*.bin
7888
7989
- name: Configure GitHub Pages
8090
uses: actions/[email protected]
81-
82-
- name: Upload GitHub Pages artifact
83-
uses: actions/[email protected]
84-
with:
85-
path: ${{ inputs.cmake_path }}/coverage_report/default_build_coverage
8691

8792
- name: Generate Code Coverage Results Summary
8893
uses: irongut/[email protected]
@@ -115,23 +120,66 @@ jobs:
115120
with:
116121
header: Code Coverage ${{ inputs.result_affix }}
117122
path: code-coverage-results.md
118-
123+
124+
- name: Prepare GitHub Pages
125+
run: >-
126+
if [ "${{ inputs.result_affix }}" != "" ]; then
127+
mv ${{ inputs.cmake_path }}/coverage_report/default_build_coverage \
128+
${{ inputs.cmake_path }}/coverage_report/${{ inputs.result_affix }}
129+
fi
130+
131+
- name: Upload Code Coverage Artifacts
132+
uses: actions/[email protected]
133+
if: ${{ inputs.skip_deploy }}
134+
with:
135+
name: coverage_report
136+
path: ${{ inputs.cmake_path }}/coverage_report
137+
retention-days: 1
138+
139+
- name: Upload Code Coverage Pages
140+
uses: actions/[email protected]
141+
if: ${{ !inputs.skip_deploy }}
142+
with:
143+
path: ${{ inputs.cmake_path }}/coverage_report/default_build_coverage
144+
119145
deploy_code_coverage:
120146
runs-on: ubuntu-latest
121-
if: github.event_name == 'push'
147+
if: ${{ (github.event_name == 'push') && !inputs.skip_deploy && always() }}
122148
needs: run_tests
123149
environment:
124150
name: github-pages
125-
url: ${{ steps.deployment.outputs.page_url }}${{ inputs.deploy_url_affix }}
151+
url: ${{ steps.deployment.outputs.page_url }}
126152
permissions:
127153
pages: write
128154
id-token: write
129155

130-
steps:
156+
steps:
157+
- uses: actions/download-artifact@v3
158+
if: ${{ inputs.skip_test }}
159+
with:
160+
name: coverage_report
161+
162+
- name: Upload Code Coverage Pages
163+
uses: actions/[email protected]
164+
if: ${{ inputs.skip_test }}
165+
with:
166+
path: .
167+
168+
- name: Delete Duplicate Code Coverage Artifact
169+
uses: geekyeggo/delete-artifact@v2
170+
with:
171+
name: coverage_report
172+
131173
- name: Deploy GitHub Pages site
132174
id: deployment
133175
uses: actions/[email protected]
134176

135177
- name: Write Code Coverage Report URL
136-
run: |
137-
echo '[Open Coverage Report](${{ steps.deployment.outputs.page_url }}${{ inputs.deploy_url_affix }})' >> $GITHUB_STEP_SUMMARY
178+
run: >-
179+
if [ "${{ inputs.deploy_list }}" != "" ]; then
180+
for i in ${{ inputs.deploy_list }}; do
181+
echo 'Coverage report for ' $i ':${{ steps.deployment.outputs.page_url }}'$i >> $GITHUB_STEP_SUMMARY
182+
done
183+
else
184+
echo 'Coverage report: (${{ steps.deployment.outputs.page_url }}' >> $GITHUB_STEP_SUMMARY
185+
fi

.github/workflows/regression_test.yml

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -17,13 +17,19 @@ jobs:
1717
build_script: ./scripts/build_tx.sh
1818
test_script: ./scripts/test_tx.sh
1919
cmake_path: ./test/tx/cmake
20-
deploy_url_affix: tx/
2120
result_affix: ThreadX
22-
tx_smp:
21+
skip_deploy: true
22+
smp:
2323
uses: ./.github/workflows/regression_template.yml
2424
with:
2525
build_script: ./scripts/build_smp.sh
2626
test_script: ./scripts/test_smp.sh
2727
cmake_path: ./test/smp/cmake
28-
deploy_url_affix: smp/
29-
result_affix: SMP
28+
result_affix: SMP
29+
skip_deploy: true
30+
deploy:
31+
needs: [tx, smp]
32+
uses: ./.github/workflows/regression_template.yml
33+
with:
34+
skip_test: true
35+
deploy_list: "ThreadX SMP"

0 commit comments

Comments
 (0)