Added input skip_coverage and coverage_name for customiziing. (#327)

* Update regression_template.yml

* Update regression_template.yml

* Update regression_template.yml

* Update regression_template.yml

* Update regression_template.yml

* Update regression_template.yml

Coverage name of all -> default_build_coverage

* Update regression_template.yml

* Update regression_template.yml

Check inputs.skip_coverage to do steps.

* Update regression_template.yml

* Update regression_template.yml

* Update regression_template.yml

* Update regression_template.yml

Enable coverage upload when manually triggered.

* Update regression_template.yml

* Update regression_template.yml

* Update regression_template.yml

* Update .github/workflows/regression_template.yml

Fix comments.

Co-authored-by: TiejunZhou <50469179+TiejunMS@users.noreply.github.com>

---------

Co-authored-by: TiejunZhou <50469179+TiejunMS@users.noreply.github.com>
This commit is contained in:
CQ Xiao
2023-11-27 11:50:52 +08:00
committed by GitHub
parent cad6c42ecc
commit a8e5d0946c

View File

@@ -25,6 +25,14 @@ on:
default: false default: false
required: false required: false
type: boolean type: boolean
skip_coverage:
default: false
required: false
type: boolean
coverage_name:
default: 'default_build_coverage'
required: false
type: string
skip_deploy: skip_deploy:
default: false default: false
required: false required: false
@@ -90,21 +98,23 @@ jobs:
uses: actions/configure-pages@v3.0.6 uses: actions/configure-pages@v3.0.6
- name: Generate Code Coverage Results Summary - name: Generate Code Coverage Results Summary
if: (!inputs.skip_coverage)
uses: irongut/CodeCoverageSummary@v1.3.0 uses: irongut/CodeCoverageSummary@v1.3.0
with: with:
filename: ${{ inputs.cmake_path }}/coverage_report/default_build_coverage.xml filename: ${{ inputs.cmake_path }}/coverage_report/${{ inputs.coverage_name }}.xml
format: markdown format: markdown
badge: true badge: true
hide_complexity: true hide_complexity: true
output: file output: file
- name: Write Code Coverage Summary - name: Write Code Coverage Summary
if: (!inputs.skip_coverage)
run: | run: |
echo "## Coverage Report ${{ inputs.result_affix }}" >> $GITHUB_STEP_SUMMARY echo "## Coverage Report ${{ inputs.result_affix }}" >> $GITHUB_STEP_SUMMARY
cat code-coverage-results.md >> $GITHUB_STEP_SUMMARY cat code-coverage-results.md >> $GITHUB_STEP_SUMMARY
- name: Create CheckRun for Code Coverage - name: Create CheckRun for Code Coverage
if: (github.event_name == 'push') || (github.event.pull_request.head.repo.full_name == github.repository) if: ((github.event_name == 'push') || (github.event_name == 'workflow_dispatch') || (github.event.pull_request.head.repo.full_name == github.repository)) && (!inputs.skip_coverage)
uses: LouisBrunner/checks-action@v1.6.2 uses: LouisBrunner/checks-action@v1.6.2
with: with:
token: ${{ secrets.GITHUB_TOKEN }} token: ${{ secrets.GITHUB_TOKEN }}
@@ -115,22 +125,23 @@ jobs:
output_text_description_file: code-coverage-results.md output_text_description_file: code-coverage-results.md
- name: Add Code Coverage PR Comment - name: Add Code Coverage PR Comment
if: (github.event_name == 'push') || (github.event.pull_request.head.repo.full_name == github.repository) if: ((github.event_name == 'push') || (github.event.pull_request.head.repo.full_name == github.repository)) && (!inputs.skip_coverage)
uses: marocchino/sticky-pull-request-comment@v2 uses: marocchino/sticky-pull-request-comment@v2
with: with:
header: Code Coverage ${{ inputs.result_affix }} header: Code Coverage ${{ inputs.result_affix }}
path: code-coverage-results.md path: code-coverage-results.md
- name: Prepare GitHub Pages - name: Prepare Coverage GitHub Pages
if: (!inputs.skip_coverage)
run: >- run: >-
if [ "${{ inputs.result_affix }}" != "" ]; then if [ "${{ inputs.result_affix }}" != "" ]; then
mv ${{ inputs.cmake_path }}/coverage_report/default_build_coverage \ mv ${{ inputs.cmake_path }}/coverage_report/${{ inputs.coverage_name }} \
${{ inputs.cmake_path }}/coverage_report/${{ inputs.result_affix }} ${{ inputs.cmake_path }}/coverage_report/${{ inputs.result_affix }}
fi fi
- name: Upload Code Coverage Artifacts - name: Upload Code Coverage Artifacts
uses: actions/upload-artifact@v3.1.3 uses: actions/upload-artifact@v3.1.3
if: ${{ inputs.skip_deploy }} if: (inputs.skip_deploy && !inputs.skip_coverage)
with: with:
name: coverage_report name: coverage_report
path: ${{ inputs.cmake_path }}/coverage_report path: ${{ inputs.cmake_path }}/coverage_report
@@ -138,13 +149,13 @@ jobs:
- name: Upload Code Coverage Pages - name: Upload Code Coverage Pages
uses: actions/upload-pages-artifact@v2.0.0 uses: actions/upload-pages-artifact@v2.0.0
if: ${{ !inputs.skip_deploy }} if: (!inputs.skip_deploy && !inputs.skip_coverage)
with: with:
path: ${{ inputs.cmake_path }}/coverage_report/default_build_coverage path: ${{ inputs.cmake_path }}/coverage_report/${{ inputs.coverage_name }}
deploy_code_coverage: deploy_code_coverage:
runs-on: ubuntu-latest runs-on: ubuntu-latest
if: ${{ (github.event_name == 'push') && !inputs.skip_deploy && !failure() && !cancelled() }} if: ((github.event_name == 'push') || (github.event_name == 'workflow_dispatch')) && !inputs.skip_coverage && !inputs.skip_deploy && !failure() && !cancelled()
needs: run_tests needs: run_tests
environment: environment:
name: github-pages name: github-pages
@@ -181,5 +192,5 @@ jobs:
echo 'Coverage report for ' $i ':${{ steps.deployment.outputs.page_url }}'$i >> $GITHUB_STEP_SUMMARY echo 'Coverage report for ' $i ':${{ steps.deployment.outputs.page_url }}'$i >> $GITHUB_STEP_SUMMARY
done done
else else
echo 'Coverage report: (${{ steps.deployment.outputs.page_url }}' >> $GITHUB_STEP_SUMMARY echo 'Coverage report: ${{ steps.deployment.outputs.page_url }}' >> $GITHUB_STEP_SUMMARY
fi fi