name: Coverage
on:
workflow_run:
workflows: ["CI"]
types:
- completed
jobs:
coverage:
name: coverage
if: ${{ github.event.workflow_run.conclusion == 'success' }}
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-latest]
rust: [stable]
args: ["", "--all-features"]
steps:
- name: Checkout repository
uses: actions/checkout@v1
with:
ref: ${{ github.event.workflow_run.head_commit.id }}
- name: Install Rust
uses: hecrj/setup-rust-action@v1
with:
rust-version: ${{ matrix.rust }}
- run: cargo install cargo-tarpaulin
- run: cargo tarpaulin --locked --verbose --out Html --timeout 900 ${{ matrix.args }}
- name: Archive code coverage results
uses: actions/upload-artifact@v2
with:
name: code-coverage-report ${{ matrix.os }} ${{ matrix.rust }} ${{ matrix.args }}
path: tarpaulin-report.html