|
62 | 62 | - name: Run tests |
63 | 63 | working-directory: src-rust |
64 | 64 | run: cargo test --workspace --locked --quiet |
| 65 | + |
| 66 | + coven-contract: |
| 67 | + name: Coven engine contract (non-blocking until coven#346 lands) |
| 68 | + runs-on: ubuntu-latest |
| 69 | + timeout-minutes: 45 |
| 70 | + # Non-blocking during bootstrap: coven `main` gains the engine contract |
| 71 | + # tests only when OpenCoven/coven#346 + the engine-lock PR merge. Until then |
| 72 | + # `cargo test contract` on coven matches zero tests and passes. Once coven |
| 73 | + # main carries the suite and this job is proven stable, remove |
| 74 | + # `continue-on-error` to make engine contract breaks a hard gate. |
| 75 | + continue-on-error: true |
| 76 | + steps: |
| 77 | + - uses: actions/checkout@v5 |
| 78 | + with: |
| 79 | + persist-credentials: false |
| 80 | + |
| 81 | + - name: Install Rust toolchain |
| 82 | + uses: dtolnay/rust-toolchain@stable |
| 83 | + |
| 84 | + - name: Install system dependencies (engine + coven) |
| 85 | + run: | |
| 86 | + sudo apt-get update |
| 87 | + sudo apt-get install -y libasound2-dev pkg-config libopenblas-dev |
| 88 | +
|
| 89 | + - name: Build the engine |
| 90 | + working-directory: src-rust |
| 91 | + run: cargo build --release -p claurst --locked |
| 92 | + |
| 93 | + - name: Check out OpenCoven/coven |
| 94 | + uses: actions/checkout@v5 |
| 95 | + with: |
| 96 | + repository: OpenCoven/coven |
| 97 | + path: coven-main |
| 98 | + persist-credentials: false |
| 99 | + |
| 100 | + - name: Run coven's engine contract tests against this engine |
| 101 | + working-directory: coven-main |
| 102 | + run: | |
| 103 | + ENGINE="$GITHUB_WORKSPACE/src-rust/target/release/coven-code" |
| 104 | + echo "engine: $ENGINE"; "$ENGINE" --version |
| 105 | + COVEN_ENGINE_BIN="$ENGINE" cargo test -p coven-cli --locked contract -- --nocapture |
0 commit comments