musichoard/.gitea/workflows/gitea-ci.yaml

58 lines
1.9 KiB
YAML
Raw Normal View History

name: Cargo CI
on:
push:
branches: [ main ]
pull_request:
branches: [ main ]
env:
CARGO_TERM_COLOR: always
CARGO_TERM_VERBOSE: true
jobs:
build_and_test:
name: Build and Test
container: docker.io/drrobot/musichoard-ci:20240824-1
env:
BEETSDIR: ./
LLVM_PROFILE_FILE: target/debug/profraw/musichoard-%p-%m.profraw
RUSTFLAGS: -C instrument-coverage
steps:
- uses: actions/checkout@v3
- run: cargo build --no-default-features --all-targets
- run: cargo test --no-default-features --all-targets --no-fail-fast
- run: cargo build --all-targets
- run: cargo test --all-targets --no-fail-fast
- run: cargo build --all-features --all-targets
- run: cargo test --all-features --all-targets --no-fail-fast
- run: >-
grcov target/debug/profraw
--binary-path target/debug/
--output-types html
--source-dir .
--ignore-not-existing
--ignore "build.rs"
--ignore "examples/*"
--ignore "tests/*"
--ignore "src/main.rs"
--ignore "src/bin/musichoard-edit.rs"
--excl-line "^#\[derive"
--excl-start "GRCOV_EXCL_START|mod tests \{"
--excl-stop "GRCOV_EXCL_STOP"
--output-path ./target/debug/coverage/
- run: >-
python3 .gitea/scripts/coverage.py
--coverage-file ./target/debug/coverage/coverage.json
--fail-under 100.00
lint:
name: Lint
container: docker.io/drrobot/musichoard-ci:20240824-1
steps:
- uses: actions/checkout@v3
- run: cargo clippy --no-default-features --all-targets -- -D warnings
- run: cargo clippy --all-targets -- -D warnings
- run: cargo clippy --all-features --all-targets -- -D warnings
- run: cargo fmt -- --check