Skip to content

Feat: code coverage #800

Feat: code coverage

Feat: code coverage #800

Workflow file for this run

on: [pull_request]
name: Basic
# Cancel in progress workflows on pull_requests.
# https://docs.github.com/en/actions/using-jobs/using-concurrency#example-using-a-fallback-value
concurrency:
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }}
cancel-in-progress: true
jobs:
test:
name: Test Suite
runs-on: ubuntu-latest
steps:
- name: πŸ“₯ Checkout sources
uses: actions/checkout@v4
- name: ☁️ Install stable
uses: dtolnay/rust-toolchain@stable
with:
target: wasm32-unknown-unknown
- name: ☁️ Install Nextest
uses: taiki-e/install-action@nextest
- name: πŸ“‹ Run cargo clippy
run: cargo clippy -- -D warnings
- name: πŸ§ͺ Run unit tests
if: always()
run: cargo test-ci
env:
RUST_BACKTRACE: 1
- name: πŸ“ Generate Schema
if: always()
run: cargo schema --locked
- name: βœ”οΈ Schema Changes
# fails if any changes not committed
run: git diff --exit-code schema
- name: 🦾 Compile WASM contract
run: cargo build -p seda-contract --release --lib --target wasm32-unknown-unknown --locked
- name: ☁️ Install cargo-llvm-cov
uses: taiki-e/install-action@cargo-llvm-cov
- name: πŸ“Š Test Coverage
run: cargo cov-ci
- name: πŸ“€ Upload coverage to Codecov
uses: codecov/codecov-action@v5
with:
files: lcov.info
fail_ci_if_error: true
fmt:
name: fmt
runs-on: ubuntu-latest
steps:
- name: πŸ“₯ Checkout sources
uses: actions/checkout@v4
- name: ☁️ Install Nightly
uses: dtolnay/rust-toolchain@nightly
with:
components: rustfmt
- name: πŸ“‹ Format Check
run: cargo +nightly fmt -- --check