chore: fix clippy warnings and MSRV CI compatibility #22
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: JIT CI | |
| on: | |
| push: | |
| branches: | |
| - '**/jit/**' | |
| - 'jit/**' | |
| - '**/jit' | |
| - 'jit-*' | |
| - '*-jit' | |
| - '*-jit-*' | |
| pull_request: | |
| branches: | |
| - main | |
| paths: | |
| - 'src/jit/**' | |
| - 'src/vm/*/jit/**' | |
| - 'src/nfa/tagged/jit/**' | |
| env: | |
| CARGO_TERM_COLOR: always | |
| RUST_BACKTRACE: 1 | |
| jobs: | |
| linux: | |
| name: Linux | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Install Rust toolchain | |
| uses: dtolnay/rust-toolchain@stable | |
| - name: Cache cargo registry | |
| uses: actions/cache@v4 | |
| with: | |
| path: | | |
| ~/.cargo/registry | |
| ~/.cargo/git | |
| target | |
| key: ${{ runner.os }}-cargo-jit-${{ hashFiles('**/Cargo.lock') }} | |
| restore-keys: | | |
| ${{ runner.os }}-cargo-jit- | |
| ${{ runner.os }}-cargo- | |
| - name: Check (no features) | |
| run: cargo check --no-default-features | |
| - name: Check (jit only) | |
| run: cargo check --features jit | |
| - name: Check (full) | |
| run: cargo check --features full | |
| - name: Test (no JIT) | |
| run: cargo test --no-default-features | |
| - name: Test (JIT only) | |
| run: cargo test --features jit | |
| - name: Test (full) | |
| run: cargo test --features full | |
| linux-arm64: | |
| name: Linux (ARM64) | |
| runs-on: ubuntu-24.04-arm | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Install Rust toolchain | |
| uses: dtolnay/rust-toolchain@stable | |
| - name: Cache cargo registry | |
| uses: actions/cache@v4 | |
| with: | |
| path: | | |
| ~/.cargo/registry | |
| ~/.cargo/git | |
| target | |
| key: ${{ runner.os }}-arm64-cargo-jit-${{ hashFiles('**/Cargo.lock') }} | |
| restore-keys: | | |
| ${{ runner.os }}-arm64-cargo-jit- | |
| ${{ runner.os }}-arm64-cargo- | |
| - name: Check (no features) | |
| run: cargo check --no-default-features | |
| - name: Check (jit only) | |
| run: cargo check --features jit | |
| - name: Test (no JIT) | |
| run: cargo test --no-default-features | |
| - name: Test (JIT only) | |
| run: cargo test --features jit | |
| windows: | |
| name: Windows | |
| runs-on: windows-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Install Rust toolchain | |
| uses: dtolnay/rust-toolchain@stable | |
| - name: Cache cargo registry | |
| uses: actions/cache@v4 | |
| with: | |
| path: | | |
| ~/.cargo/registry | |
| ~/.cargo/git | |
| target | |
| key: ${{ runner.os }}-cargo-jit-${{ hashFiles('**/Cargo.lock') }} | |
| restore-keys: | | |
| ${{ runner.os }}-cargo-jit- | |
| ${{ runner.os }}-cargo- | |
| - name: Check (full) | |
| run: cargo check --features full | |
| - name: Test (full) | |
| run: cargo test --features full | |
| macos-intel: | |
| name: macOS (Intel x86_64) | |
| runs-on: macos-15-intel | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Install Rust toolchain | |
| uses: dtolnay/rust-toolchain@stable | |
| - name: Cache cargo registry | |
| uses: actions/cache@v4 | |
| with: | |
| path: | | |
| ~/.cargo/registry | |
| ~/.cargo/git | |
| target | |
| key: ${{ runner.os }}-intel-cargo-jit-${{ hashFiles('**/Cargo.lock') }} | |
| restore-keys: | | |
| ${{ runner.os }}-intel-cargo-jit- | |
| ${{ runner.os }}-intel-cargo- | |
| - name: Check (full) | |
| run: cargo check --features full | |
| - name: Test (full) | |
| run: cargo test --features full | |
| macos-arm64: | |
| name: macOS (ARM64 Apple Silicon) | |
| runs-on: macos-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Install Rust toolchain | |
| uses: dtolnay/rust-toolchain@stable | |
| - name: Cache cargo registry | |
| uses: actions/cache@v4 | |
| with: | |
| path: | | |
| ~/.cargo/registry | |
| ~/.cargo/git | |
| target | |
| key: ${{ runner.os }}-arm64-cargo-jit-${{ hashFiles('**/Cargo.lock') }} | |
| restore-keys: | | |
| ${{ runner.os }}-arm64-cargo-jit- | |
| ${{ runner.os }}-arm64-cargo- | |
| - name: Check (no features) | |
| run: cargo check --no-default-features | |
| - name: Check (jit only) | |
| run: cargo check --features jit | |
| - name: Check (full) | |
| run: cargo check --features full | |
| - name: Test (no JIT) | |
| run: cargo test --no-default-features | |
| - name: Test (JIT only) - Debug ARM64 | |
| run: | | |
| echo "=== Running JIT tests on ARM64 ===" | |
| echo "Architecture: $(uname -m)" | |
| cargo test --features jit -- --test-threads=1 2>&1 || { | |
| echo "=== JIT tests failed, running individual test files ===" | |
| cargo test --features jit --lib -- --test-threads=1 || true | |
| cargo test --features jit --test api -- --test-threads=1 || true | |
| cargo test --features jit --test engines -- --test-threads=1 || true | |
| cargo test --features jit --test features -- --test-threads=1 || true | |
| cargo test --features jit --test patterns -- --test-threads=1 || true | |
| cargo test --features jit --test unicode -- --test-threads=1 || true | |
| echo "=== Individual test runs complete ===" | |
| exit 1 | |
| } | |
| - name: Test (full) | |
| run: cargo test --features full |