name: validate on: push: pull_request: workflow_dispatch: jobs: macos-arm64: runs-on: ${{ vars.MACOS_ARM64_RUNNER_LABEL }} steps: - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 - name: Verify native host run: test "$(rustc -vV | awk '/host:/ {print $2}')" = "aarch64-apple-darwin" - name: Validate locked Rust project run: cargo metadata --locked --no-deps --format-version 1 && cargo fmt --check && cargo clippy --locked --workspace --all-targets -- -D warnings && cargo test --locked --workspace && cargo build --locked --release windows-x86_64: runs-on: ${{ vars.WINDOWS_X86_64_RUNNER_LABEL }} steps: - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 - name: Verify native host and validate locked Rust project shell: pwsh run: | if ((rustc -vV | Select-String '^host:').ToString().Split(': ')[1] -ne 'x86_64-pc-windows-msvc') { throw 'Unexpected Rust host target' } cargo metadata --locked --no-deps --format-version 1 cargo fmt --check cargo clippy --locked --workspace --all-targets -- -D warnings cargo test --locked --workspace cargo build --locked --release