Skip to content

refactor(core): improve grid building routines #587

refactor(core): improve grid building routines

refactor(core): improve grid building routines #587

Workflow file for this run

name: codecov
on:
push:
branches: [ master ]
pull_request:
branches: [ master ]
env:
CARGO_TERM_COLOR: always
CARGO_INCREMENTAL: 0
CARGO_NET_RETRY: 10
RUSTUP_MAX_RETRIES: 10
RUST_BACKTRACE: 1
jobs:
coverage:
runs-on: ubuntu-latest
if: startsWith(github.head_ref, 'dependabot') == false # do not run if the PR is a dependency update from the bot
steps:
# checkout
- uses: actions/checkout@v4
with:
submodules: recursive
# install requirements
- uses: dtolnay/rust-toolchain@stable
- name: Install llvm-tools-preview
run: rustup component add llvm-tools-preview
- name: Install grcov
run: cargo install grcov
- uses: Swatinem/rust-cache@v2
# generate raw coverage data
# excluding the benchmark / example crates to remove some bias
- name: Build code
run: |
cargo build --all-features --workspace \
--exclude honeycomb \
--exclude honeycomb-benches \
--exclude honeycomb-examples \
--exclude honeycomb-render
env:
RUSTFLAGS: "-Cinstrument-coverage"
LLVM_PROFILE_FILE: "cargo-test-%p-%m.profraw"
- name: Run tests
run: |
cargo test --all-features --workspace \
--exclude honeycomb \
--exclude honeycomb-benches \
--exclude honeycomb-examples \
--exclude honeycomb-render
env:
RUSTFLAGS: "-Cinstrument-coverage"
LLVM_PROFILE_FILE: "cargo-test-%p-%m.profraw"
# generate lcov file using grcov
- name: Run grcov
run: |
grcov . \
--binary-path ./target/debug/ \
-s . \
-t lcov \
--branch \
--ignore-not-existing \
--ignore '../*' \
--ignore "/*" \
-o target/tests.lcov
# upload results
- name: Upload reports to Codecov
uses: codecov/codecov-action@v4.6.0
with:
token: ${{ secrets.CODECOV_TOKEN }}
files: target/tests.lcov
slug: LIHPC-Computational-Geometry/honeycomb