Skip to content

Commit b4a7a19

Browse files
committed
Add GitHub CI for Python and Octane tests
1 parent 832e674 commit b4a7a19

1 file changed

Lines changed: 64 additions & 0 deletions

File tree

.github/workflows/tests.yml

Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
name: Tests
2+
3+
on:
4+
push:
5+
branches: [master]
6+
pull_request:
7+
branches: [master]
8+
9+
jobs:
10+
python-tests:
11+
runs-on: ubuntu-latest
12+
strategy:
13+
matrix:
14+
python-version: ['3.14']
15+
steps:
16+
- uses: actions/checkout@v4
17+
18+
- name: Set up Python ${{ matrix.python-version }}
19+
uses: actions/setup-python@v5
20+
with:
21+
python-version: ${{ matrix.python-version }}
22+
allow-prereleases: true
23+
24+
- name: Install dependencies
25+
run: |
26+
pip install -e ".[trainer,tests]"
27+
28+
- name: Run Python tests
29+
run: |
30+
pytest -n auto --timeout=120
31+
32+
octane-tests:
33+
runs-on: ubuntu-latest
34+
steps:
35+
- uses: actions/checkout@v4
36+
37+
- name: Set up Rust
38+
uses: dtolnay/rust-toolchain@stable
39+
40+
- name: Cache Rust build
41+
uses: actions/cache@v4
42+
with:
43+
path: |
44+
octane/target
45+
~/.cargo/registry
46+
~/.cargo/git
47+
key: ${{ runner.os }}-cargo-${{ hashFiles('octane/Cargo.lock') }}
48+
restore-keys: |
49+
${{ runner.os }}-cargo-
50+
51+
- name: Set up Python for test data
52+
uses: actions/setup-python@v5
53+
with:
54+
python-version: '3.14'
55+
allow-prereleases: true
56+
57+
- name: Install Python package (for test data generation)
58+
run: |
59+
pip install -e ".[trainer]"
60+
61+
- name: Run Octane tests
62+
run: |
63+
cd octane
64+
cargo test --release

0 commit comments

Comments
 (0)