Skip to content

feat(sickle): add granular feature flags and serde serialization #205

feat(sickle): add granular feature flags and serde serialization

feat(sickle): add granular feature flags and serde serialization #205

Workflow file for this run

name: Code Coverage
on:
pull_request:
branches: [main]
push:
branches: [main, dev]
workflow_dispatch:
jobs:
coverage:
# This job serves as the Ubuntu test runner AND coverage generator.
# Coverage runs the same tests as cargo test, just with LLVM instrumentation.
# macOS/Windows testing is handled separately in test.yml.
name: Generate Coverage Report
runs-on: ubuntu-latest
if: github.event_name != 'pull_request' || github.event.pull_request.draft == false
steps:
- name: Checkout repository
uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # ratchet:actions/checkout@v4
- uses: ./.github/actions/setup-rust
with:
components: llvm-tools-preview
- uses: ./.github/actions/install-tools
with:
tools: cargo-llvm-cov,cargo-nextest
- name: Run tests with coverage
run: |
cargo llvm-cov nextest \
--all-features \
--workspace \
--lcov \
--output-path lcov.info
- name: Generate HTML coverage report
run: cargo llvm-cov report --html --output-dir target/llvm-cov/html
- name: Upload to Codecov
uses: codecov/codecov-action@b9fd7d16f6d7d1b5d2bec1a2887e65ceed900238 # ratchet:codecov/codecov-action@v4
with:
files: lcov.info
fail_ci_if_error: false
token: ${{ secrets.CODECOV_TOKEN }}
- name: Archive coverage artifacts
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # ratchet:actions/upload-artifact@v4
with:
name: coverage-report
path: |
lcov.info
target/llvm-cov/html/