musichoard/.gitea/workflows/gitea-ci.yaml
Wojciech Kozlowski 18616c64a2
Some checks failed
Cargo CI / Code Coverage (pull_request) Has been cancelled
Cargo CI / Lint (pull_request) Has been cancelled
Cargo CI / Build and Test (pull_request) Has been cancelled
Archive artifacts
2024-01-06 19:44:22 +01:00

65 lines
1.8 KiB
YAML

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:rust-1.75
env:
BEETSDIR: ./
LLVM_PROFILE_FILE: target/debug/profraw/musichoard-%p-%m.profraw
RUSTFLAGS: -C instrument-coverage
steps:
- uses: actions/checkout@v3
- run: cargo build --all-features --all-targets
- run: cargo test --all-features --all-targets --no-fail-fast
- run: tar -cvf target.tar target/
- uses: actions/upload-artifact@v3
with:
name: cargo-target
path: target.tar
code_coverage:
name: Code Coverage
needs: build_and_test
container: docker.io/drrobot/musichoard-ci:rust-1.75
steps:
- uses: actions/checkout@v3
- uses: actions/download-artifact@v3
with:
name: cargo-target
path: target.tar
- run: tar -xvf target.tar
- run: >-
grcov target/debug/profraw
--binary-path target/debug/
--output-types html
--source-dir .
--ignore-not-existing
--ignore "tests/*"
--ignore "src/main.rs"
--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:rust-1.75
steps:
- uses: actions/checkout@v3
- run: cargo clippy --all-features --all-targets -- -D warnings
- run: cargo fmt -- --check