2022-01-19 14:42:12 -08:00
|
|
|
name: Coverage
|
2021-01-19 16:44:40 -08:00
|
|
|
|
|
|
|
on:
|
2022-01-19 14:42:12 -08:00
|
|
|
workflow_dispatch:
|
2021-01-19 16:44:40 -08:00
|
|
|
pull_request:
|
|
|
|
branches:
|
|
|
|
- main
|
|
|
|
push:
|
|
|
|
branches:
|
|
|
|
- main
|
|
|
|
|
|
|
|
jobs:
|
|
|
|
|
|
|
|
coverage:
|
2022-01-19 14:42:12 -08:00
|
|
|
name: Coverage (+nightly)
|
2021-01-19 16:44:40 -08:00
|
|
|
timeout-minutes: 30
|
2022-01-19 14:42:12 -08:00
|
|
|
runs-on: ubuntu-latest
|
|
|
|
|
2021-01-19 16:44:40 -08:00
|
|
|
steps:
|
2022-04-21 16:22:46 -07:00
|
|
|
- uses: actions/checkout@v3.0.2
|
2022-01-19 14:42:12 -08:00
|
|
|
with:
|
|
|
|
persist-credentials: false
|
2021-01-19 16:44:40 -08:00
|
|
|
|
2021-05-12 02:01:07 -07:00
|
|
|
- uses: actions-rs/toolchain@v1.0.7
|
2021-01-19 16:44:40 -08:00
|
|
|
with:
|
2022-01-19 14:42:12 -08:00
|
|
|
# Pinned to workaround issue making cargo-llvm-cov fail, see
|
|
|
|
# https://github.com/taiki-e/cargo-llvm-cov/issues/128
|
|
|
|
# TODO: restore to just `nightly` after it's fixed
|
|
|
|
toolchain: nightly-2022-01-14
|
2021-01-19 16:44:40 -08:00
|
|
|
override: true
|
|
|
|
profile: minimal
|
|
|
|
components: llvm-tools-preview
|
|
|
|
|
2022-01-19 14:42:12 -08:00
|
|
|
- name: Install cargo-llvm-cov cargo command
|
|
|
|
run: cargo install cargo-llvm-cov
|
2021-01-19 16:44:40 -08:00
|
|
|
|
2022-01-19 14:42:12 -08:00
|
|
|
- name: Run tests
|
|
|
|
run: cargo llvm-cov --lcov --no-report
|
2021-01-19 16:44:40 -08:00
|
|
|
|
2022-01-19 14:42:12 -08:00
|
|
|
- name: Generate coverage report
|
|
|
|
run: cargo llvm-cov --lcov --no-run --output-path lcov.info
|
2021-01-19 16:44:40 -08:00
|
|
|
|
|
|
|
- name: Upload coverage report to Codecov
|
2022-04-21 16:22:43 -07:00
|
|
|
uses: codecov/codecov-action@v3.1.0
|