feat: exception events as values, and the crash stack without .ecxr #382
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Coverage | |
| on: | |
| # Triggers the workflow on push or pull request events but only for the "main" branch | |
| push: | |
| branches: [ "main" ] | |
| pull_request: | |
| branches: [ "main" ] | |
| # Allows you to run this workflow manually from the Actions tab | |
| workflow_dispatch: | |
| concurrency: | |
| # A superseded push or PR update should cancel its predecessor. Without this every push to a | |
| # PR left its predecessor running to completion — five pushes to one PR meant five concurrent | |
| # coverage runs, which for Miri is five times ~28 minutes of runner doing work nobody will read. | |
| # | |
| # Manual dispatches are deliberately excluded. A dispatch shares `github.ref` with the | |
| # branch's own run, so a shared group would have the two cancel each other, and a repeat | |
| # dispatch would kill the run someone had just asked for. Keying dispatches by run id gives | |
| # each one a group of its own: never cancelled, never cancelling. | |
| group: coverage-${{ github.ref }}-${{ github.event_name == 'workflow_dispatch' && github.run_id || 'auto' }} | |
| cancel-in-progress: true | |
| permissions: | |
| contents: read | |
| jobs: | |
| coverage: | |
| runs-on: windows-latest | |
| steps: | |
| - uses: actions/checkout@v7 | |
| - uses: microsoft/setup-msbuild@v3 | |
| - name: Install Rust | |
| run: rustup update stable && rustup default stable | |
| - name: Install LLVM tools | |
| run: rustup component add llvm-tools-preview | |
| - name: Install grcov | |
| run: cargo install grcov | |
| - name: Run tests with coverage | |
| shell: bash | |
| run: | | |
| RUSTFLAGS="-C instrument-coverage" \ | |
| LLVM_PROFILE_FILE="coverage-%p-%m.profraw" \ | |
| cargo test | |
| - name: Generate coverage report | |
| shell: bash | |
| run: | | |
| grcov . \ | |
| --binary-path ./target/debug/ \ | |
| -s . \ | |
| -t lcov \ | |
| --branch \ | |
| --ignore-not-existing \ | |
| --ignore "/*" \ | |
| -o lcov.info | |
| - name: Upload coverage to Codecov | |
| uses: codecov/codecov-action@v7 | |
| with: | |
| token: ${{ secrets.CODECOV_TOKEN }} | |
| files: lcov.info | |
| fail_ci_if_error: false |