Skip to content

feat: allow no_std

feat: allow no_std #6

name: tests
on:
push:
branches: [main]
pull_request:
jobs:
coverage:
runs-on: ubuntu-latest
permissions:
contents: read
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Set-up Rust
uses: dtolnay/rust-toolchain@stable
with:
toolchain: stable
components: llvm-tools-preview
- name: Install cargo-binstall@latest
uses: cargo-bins/cargo-binstall@main
- name: Install cargo-llvm-cov
run: |
cargo binstall cargo-llvm-cov
- name: Generate coverage and get percentage
id: coverage
run: |
set -o pipefail
make cov export-lcov=1 | tee output.log
coverage=$(grep 'Total Coverage: ' output.log | awk '{print $3}')
echo "coverage_percentage=${coverage%\%}" >> $GITHUB_OUTPUT
echo "Detected coverage: ${coverage}"
- name: Fail if overall coverage is below 80%
run: |
if (( $(echo "${{ steps.coverage.outputs.coverage_percentage }} < 80" | bc -l) )); then
echo "❌ Coverage is below 80% (${{ steps.coverage.outputs.coverage_percentage }}%)"
exit 1
else
echo "✅ Coverage meets requirement (${{ steps.coverage.outputs.coverage_percentage }}%)"
fi
- name: Upload coverage to Codecov
uses: codecov/codecov-action@v5
with:
file: coverage.lcov
fail_ci_if_error: true
token: ${{ secrets.CODECOV_TOKEN }}
slug: FlakySL/dyn_access
verbose: true