43 lines
1.3 KiB
YAML
43 lines
1.3 KiB
YAML
name: upload-coverage
|
|
|
|
on:
|
|
workflow_run:
|
|
workflows: [linux-ci]
|
|
types:
|
|
- completed
|
|
|
|
jobs:
|
|
pre_job:
|
|
runs-on: ubuntu-latest
|
|
outputs:
|
|
should_run: ${{ steps.check_skip.outputs.should_run }}
|
|
steps:
|
|
- id: check_skip
|
|
run: |
|
|
conclusion=$(curl --retry 5 ${{ github.event.workflow_run.jobs_url }} | jq -r '.jobs[] | select(.name == "linux-coverage").conclusion')
|
|
should_run=$([[ "$conclusion" = "success" ]] && echo "true" || echo "false")
|
|
echo "should_run=$should_run" >> "$GITHUB_OUTPUT"
|
|
|
|
upload-coverage:
|
|
needs: pre_job
|
|
if: needs.pre_job.outputs.should_run == 'true'
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
|
|
- uses: ./.github/actions/download-workflow-run-artifact
|
|
with:
|
|
artifact-name: coverage-report
|
|
expect-files: "_coverage_report.dat"
|
|
|
|
- name: Upload coverage report
|
|
if: '!cancelled()'
|
|
uses: codecov/codecov-action@v5
|
|
with:
|
|
override_commit: ${{ github.event.workflow_run.head_sha }}
|
|
override_pr: ${{ github.event.workflow_run.pull_requests[0].number }}
|
|
token: ${{ secrets.CODECOV_TOKEN }}
|
|
files: "_coverage_report.dat"
|
|
fail_ci_if_error: true
|
|
verbose: true
|