* Reworks some workflows to run a script instead Advantages are: - Only one set of tests needs maintenance. - Local results match workflows, no surprises. - Reduced reliance on GitHub actions. Fixes #50, #168, #169, #171, #507 * Adds macos to the test matrix
48 lines
1.5 KiB
YAML
48 lines
1.5 KiB
YAML
---
|
|
name: OpenSK code coverage report
|
|
on:
|
|
push:
|
|
paths:
|
|
- 'libraries/**/*.rs'
|
|
pull_request:
|
|
types: [opened, synchronize, reopened]
|
|
|
|
jobs:
|
|
coveralls:
|
|
name: OpenSK code coverage
|
|
runs-on: ubuntu-latest
|
|
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
with:
|
|
submodules: "true"
|
|
- name: Install Rust toolchain
|
|
run: rustup show
|
|
- uses: actions/setup-python@v1
|
|
with:
|
|
python-version: "3.10"
|
|
- name: Set up OpenSK
|
|
run: ./setup.sh
|
|
- name: Install llvm tools
|
|
run: rustup +nightly component add llvm-tools-preview
|
|
|
|
- name: Install grcov
|
|
run: if [[ ! -e ~/.cargo/bin/grcov ]]; then cargo +stable install grcov; fi
|
|
- uses: actions-rs/cargo@v1
|
|
with:
|
|
toolchain: nightly
|
|
command: test
|
|
args: --manifest-path libraries/opensk/Cargo.toml --features "std,with_ctap1,vendor_hid,ed25519" --no-fail-fast
|
|
env:
|
|
RUSTFLAGS: "-Cinstrument-coverage"
|
|
LLVM_PROFILE_FILE: "opensk-%p-%m.profraw"
|
|
- name: Run grcov
|
|
run: RUSTUP_TOOLCHAIN=nightly grcov . --binary-path ./libraries/opensk/target/debug/ --source-dir libraries/opensk/ --output-type lcov --ignore-not-existing --output-path ./lcov.info --ignore "/*" --ignore "examples/*" --ignore "third_party/*"
|
|
- uses: coverallsapp/github-action@1.1.3
|
|
name: upload report to coveralls
|
|
with:
|
|
github-token: ${{ secrets.GITHUB_TOKEN }}
|
|
path-to-lcov: "./lcov.info"
|
|
base-path: "libraries/opensk"
|
|
|