ci: initial wip release process #449
Workflow file for this run
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: Validate | ||
| on: | ||
| push: | ||
| branches: | ||
| - main | ||
| pull_request: | ||
| concurrency: | ||
| group: validate-${{ github.ref }} | ||
| cancel-in-progress: true | ||
| permissions: | ||
| contents: read | ||
| env: | ||
| CARGO_TERM_COLOR: always | ||
| CARGO_INCREMENTAL: 0 | ||
| RUST_BACKTRACE: 1 | ||
| jobs: | ||
| rust: | ||
| name: Rust | ||
| runs-on: ubuntu-latest | ||
| steps: | ||
| - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 #v4.2.2 | ||
| # Setup Rust toolchain | ||
| - run: | | ||
| rustup toolchain install nightly --component rustfmt | ||
| rustup component add llvm-tools-preview | ||
| # Cache dependencies and build artifacts | ||
| - uses: swatinem/rust-cache@f0deed1e0edfc6a9be95417288c0e1099b1eeec3 # v2 | ||
| with: | ||
| save-if: ${{ github.ref == 'refs/heads/main' }} | ||
| cache-provider: "github" | ||
| # Add custom matcher for cargo output | ||
| - run: echo "::add-matcher::.github/matcher/cargo.json" | ||
| - name: Check formatting | ||
| run: cargo +nightly fmt --check | ||
| - name: Lint | ||
| run: cargo clippy -- -D warnings | ||
| # Run tests with coverage instrumentation | ||
| - name: Test | ||
| run: cargo test | ||
| env: | ||
| RUSTFLAGS: -C instrument-coverage | ||
| LLVM_PROFILE_FILE: test-%p-%m.profraw | ||
| # Convert and upload coverage report | ||
| - run: cargo install --locked grcov | ||
| - run: grcov . -s . --binary-path ./target/debug/ --branch --ignore-not-existing -t lcov -o ./lcov.info | ||
| - name: Upload coverage report | ||
| uses: codecov/codecov-action@ad3126e916f78f00edff4ed0317cf185271ccc2d # v5.4.2 | ||
| env: | ||
| CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} | ||
| with: | ||
| fail_ci_if_error: true | ||
| cargo-deny: | ||
| uses: ./.github/actions/cargo-deny-action | ||
| check-drivers: | ||
| runs-on: ubuntu-latest | ||
| name: Check included python drivers | ||
| strategy: | ||
| matrix: | ||
| projects: ["drivers/hypha-accelerate-driver", "drivers/aim-driver"] | ||
| steps: | ||
| - uses: actions/checkout@v5 | ||
| - id: validate-python-project-uv-action | ||
| uses: ./.github/actions/validate-python-project-uv-action | ||
| with: | ||
| project-path: ${{ matrix.projects }} | ||