Skip to content

Commit f90cb4a

Browse files
committed
fix: stabilize rlm-core CI workflows
1 parent e45b672 commit f90cb4a

3 files changed

Lines changed: 22 additions & 2 deletions

File tree

.github/workflows/rlm-core-coverage.yml

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,19 @@ jobs:
3131
- name: Install Rust toolchain
3232
uses: dtolnay/rust-toolchain@stable
3333

34+
- name: Install Python toolchain
35+
uses: actions/setup-python@v5
36+
with:
37+
python-version: "3.11"
38+
39+
- name: Bootstrap REPL Python environment
40+
shell: bash
41+
run: |
42+
set -euo pipefail
43+
python -m venv rlm-core/python/.venv
44+
rlm-core/python/.venv/bin/python -m pip install --upgrade pip
45+
rlm-core/python/.venv/bin/python -m pip install -e rlm-core/python
46+
3447
- name: Install cargo-llvm-cov
3548
uses: taiki-e/install-action@cargo-llvm-cov
3649

.github/workflows/rlm-core-feature-matrix.yml

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -60,8 +60,14 @@ jobs:
6060
run: |
6161
set -euo pipefail
6262
echo "Running ${{ matrix.vg_id }} (${{ matrix.label }})"
63+
lock_arg=""
64+
if [[ -f Cargo.lock ]]; then
65+
lock_arg="--locked"
66+
else
67+
echo "Cargo.lock not present in rlm-core; running without --locked"
68+
fi
6369
if [[ -n "${{ matrix.cargo_args }}" ]]; then
64-
cargo check --locked ${{ matrix.cargo_args }}
70+
cargo check ${lock_arg} ${{ matrix.cargo_args }}
6571
else
66-
cargo check --locked
72+
cargo check ${lock_arg}
6773
fi

docs/developer-guide/quality-gates.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ Runs:
2828
Notes:
2929
- If `cargo-llvm-cov` is missing locally, the script exits with actionable install guidance.
3030
- GitHub Actions workflow `rlm-core-coverage.yml` is the canonical enforcement path.
31+
- Coverage CI bootstraps `rlm-core/python/.venv` and installs `rlm-core/python` so REPL-backed Rust tests run with deterministic Python dependencies.
3132

3233
### Layer 2.5: API docs contract
3334

0 commit comments

Comments
 (0)