Merge pull request #2566 from scpwiki/dependabot/cargo/deepwell/regex… #2752
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: '[deepwell] Rust' | |
| on: | |
| pull_request: | |
| paths: | |
| - 'deepwell/Cargo.toml' | |
| - 'deepwell/Cargo.lock' | |
| - 'deepwell/src/**' | |
| - '.github/workflows/deepwell.yaml' | |
| - '.github/codecov.yml' | |
| - 'deepwell/config.example.toml' | |
| - 'install/local/api/deepwell.toml' | |
| - 'install/dev/api/deepwell.toml' | |
| - 'install/prod/api/deepwell.toml' | |
| push: | |
| branches: | |
| - develop | |
| - prod | |
| jobs: | |
| binary_build_and_test: | |
| name: Executable | |
| runs-on: ubuntu-latest | |
| env: | |
| RUSTFLAGS: -D warnings | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v2 | |
| - name: Rust Toolchain | |
| uses: actions-rs/toolchain@v1 | |
| with: | |
| toolchain: stable | |
| - name: Cargo Cache | |
| uses: actions/cache@v4 | |
| with: | |
| path: | | |
| ~/.cargo/registry | |
| ~/.cargo/git | |
| deepwell/target | |
| key: ${{ runner.os }}-deepwell-default-${{ hashFiles('deepwell/**/Cargo.toml') }} | |
| - name: System Dependencies | |
| run: sudo apt update && sudo apt install libmagic-dev | |
| - name: Build (no features) | |
| run: cd deepwell && cargo build --no-default-features | |
| - name: Build (all features) | |
| run: cd deepwell && cargo build --all-features | |
| - name: Check Configuration | |
| run: cd deepwell && cargo run -- config.example.toml ../install/local/deepwell/deepwell.toml ../install/dev/deepwell/deepwell.toml ../install/prod/deepwell/deepwell.toml | |
| env: | |
| DEEPWELL_SPECIAL_ACTION: validate-config | |
| - name: Test | |
| run: cd deepwell && cargo test --all-features -- --nocapture --test-threads 1 | |
| coverage: | |
| name: Coverage | |
| runs-on: ubuntu-latest | |
| env: | |
| RUSTFLAGS: -D warnings | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v2 | |
| - name: Rust Toolchain | |
| uses: actions-rs/toolchain@v1 | |
| with: | |
| toolchain: stable | |
| - name: Cargo Cache | |
| uses: actions/cache@v4 | |
| with: | |
| path: | | |
| ~/.cargo/registry | |
| ~/.cargo/git | |
| deepwell/target | |
| key: ${{ runner.os }}-deepwell-coverage-${{ hashFiles('deepwell/**/Cargo.toml') }} | |
| - name: System Dependencies | |
| run: sudo apt update && sudo apt install libmagic-dev | |
| - name: Install Tarpaulin | |
| uses: actions-rs/[email protected] | |
| with: | |
| crate: cargo-tarpaulin | |
| version: latest | |
| use-tool-cache: true | |
| - name: Generate Coverage | |
| run: cd deepwell && cargo tarpaulin | |
| - name: Export Coverage | |
| uses: codecov/codecov-action@v5 | |
| with: | |
| token: ${{ secrets.CODECOV_TOKEN }} | |
| files: deepwell/target/coverage/cobertura.xml | |
| fail_ci_if_error: true | |
| verbose: true | |
| clippy_lint: | |
| name: Lint | |
| runs-on: ubuntu-latest | |
| env: | |
| RUSTFLAGS: -D warnings | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v2 | |
| - name: Rust Toolchain | |
| uses: actions-rs/toolchain@v1 | |
| with: | |
| profile: minimal | |
| toolchain: stable | |
| override: true | |
| components: rustfmt, clippy | |
| - name: Cargo Cache | |
| uses: actions/cache@v4 | |
| with: | |
| path: | | |
| ~/.cargo/registry | |
| ~/.cargo/git | |
| deepwell/target | |
| key: ${{ runner.os }}-deepwell-lint-${{ hashFiles('deepwell/**/Cargo.toml') }} | |
| - name: System Dependencies | |
| run: sudo apt update && sudo apt install libmagic-dev | |
| - name: Rustfmt | |
| run: cd deepwell && cargo fmt --all -- --check | |
| - name: Clippy | |
| run: cd deepwell && cargo clippy --no-deps |