diff --git a/.github/workflows/codecov.yml b/.github/workflows/codecov.yml new file mode 100644 index 0000000..b05730b --- /dev/null +++ b/.github/workflows/codecov.yml @@ -0,0 +1,42 @@ +on: + push: + branches: + - main + +name: Code coverage with tarpaulin + +jobs: + coverage: + name: Coverage + runs-on: ubuntu-latest + + steps: + - name: Checkout sources + uses: actions/checkout@v2 + + - name: Install rust + uses: actions-rs/toolchain@v1 + with: + toolchain: stable + profile: minimal + override: true + + - name: Cache + uses: Swatinem/rust-cache@v1 + + - name: Install cargo-tarpaulin + uses: actions-rs/cargo@v1 + with: + command: install + args: cargo-tarpaulin + + - name: Run cargo tarpaulin + uses: actions-rs/cargo@v1 + with: + command: tarpaulin + args: --output-dir coverage --out Lcov + + - name: Publish to Coveralls + uses: coverallsapp/github-action@master + with: + github-token: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/grcov.yml b/.github/workflows/grcov.yml deleted file mode 100644 index 0512db4..0000000 --- a/.github/workflows/grcov.yml +++ /dev/null @@ -1,65 +0,0 @@ -on: - # Trigger the workflow on push or pull request, - # but only for the main branch - push: - branches: - - main - -name: Code coverage with grcov - -jobs: - grcov: - runs-on: ${{ matrix.os }} - strategy: - matrix: - os: - - ubuntu-latest - #- macOS-latest - #- windows-latest - - steps: - - uses: actions/checkout@v2 - - - name: Install toolchain - uses: actions-rs/toolchain@v1 - with: - toolchain: nightly - override: true - profile: minimal - - - name: Execute tests - uses: actions-rs/cargo@v1 - with: - command: test - args: --all - env: - CARGO_INCREMENTAL: 0 - RUSTFLAGS: "-Zprofile -Ccodegen-units=1 -Cinline-threshold=0 -Clink-dead-code -Coverflow-checks=off -Zpanic_abort_tests -Zinstrument-coverage" - - # Note that `actions-rs/grcov` Action can install `grcov` too, - # but can't use faster installation methods yet. - # As a temporary experiment `actions-rs/install` Action plugged in here. - # Consider **NOT** to copy that into your workflow, - # but use `actions-rs/grcov` only - - name: Gather coverage data - id: coverage - uses: actions-rs/grcov@v0.1 - with: - coveralls-token: ${{ secrets.COVERALLS_TOKEN }} - - - name: Coveralls upload - uses: coverallsapp/github-action@master - with: - github-token: ${{ secrets.GITHUB_TOKEN }} - parallel: true - path-to-lcov: ${{ steps.coverage.outputs.report }} - - grcov_finalize: - runs-on: ubuntu-latest - needs: grcov - steps: - - name: Coveralls finalization - uses: coverallsapp/github-action@master - with: - github-token: ${{ secrets.GITHUB_TOKEN }} - parallel-finished: true