# It broke at some point, don't know how to fix it # name: Coverage # on: # push: # branches: [ master ] # # pull_request: # # branches: [ master ] # jobs: # # cargo test normally # grcov: # name: Gather coverage data with grcov # runs-on: ubuntu-latest # steps: # - name: Checkout branch # uses: actions/checkout@master # with: # submodules: true # - name: Setup Rust toolchain # uses: actions-rs/toolchain@v1 # with: # toolchain: nightly # override: true # - name: Ensure workspace is clean # uses: actions-rs/cargo@v1 # with: # command: clean # - name: Run tests with -Zprofile # uses: actions-rs/cargo@v1 # with: # command: test # env: # CI_GRCOV: '1' # Tell the test harness to increase stack size # CARGO_INCREMENTAL: '0' # RUSTFLAGS: '-Zprofile -Ccodegen-units=1 -Cinline-threshold=0 -Clink-dead-code -Coverflow-checks=off -Cpanic=abort -Zpanic_abort_tests' # RUSTDOCFLAGS: '-Zprofile -Ccodegen-units=1 -Cinline-threshold=0 -Clink-dead-code -Coverflow-checks=off -Cpanic=abort -Zpanic_abort_tests' # - name: Run grcov # id: grcov # uses: actions-rs/grcov@v0.1 # - name: Upload coverage data to codecov.io # uses: codecov/codecov-action@v1 # with: # token: ${{secrets.CODECOV_TOKEN}} # file: ${{steps.grcov.outputs.report}} # # Collect each feature independently to help identify missing tests # grcov-split: # name: Gather coverage data with grcov # runs-on: ubuntu-latest # strategy: # matrix: # feature: # - parser # - printer # - binary # - import # - beta_normalize # - alpha_normalize # - type_inference # steps: # - name: Checkout branch # uses: actions/checkout@master # with: # submodules: true # - name: Setup Rust toolchain # uses: actions-rs/toolchain@v1 # with: # toolchain: nightly # override: true # - name: Ensure workspace is clean # uses: actions-rs/cargo@v1 # with: # command: clean # - name: Run tests with -Zprofile # uses: actions-rs/cargo@v1 # with: # command: test # args: tests::spec::${{matrix.feature}} # env: # CI_GRCOV: '1' # Tell the test harness to increase stack size # CARGO_INCREMENTAL: '0' # RUSTFLAGS: '-Zprofile -Ccodegen-units=1 -Cinline-threshold=0 -Clink-dead-code -Coverflow-checks=off -Cpanic=abort -Zpanic_abort_tests' # RUSTDOCFLAGS: '-Zprofile -Ccodegen-units=1 -Cinline-threshold=0 -Clink-dead-code -Coverflow-checks=off -Cpanic=abort -Zpanic_abort_tests' # - name: Run grcov # id: grcov # uses: actions-rs/grcov@v0.1 # - name: Upload coverage data to codecov.io # uses: codecov/codecov-action@v1 # with: # token: ${{secrets.CODECOV_TOKEN}} # file: ${{steps.grcov.outputs.report}} # flags: ${{matrix.feature}}