1111
1212jobs :
1313 test :
14- name : Test (${{ matrix.os }} , py${{ matrix.python }})
15- runs-on : ${{ matrix.os }}
14+ name : Test (ubuntu , py${{ matrix.python }})
15+ runs-on : ubuntu-latest
1616 strategy :
1717 fail-fast : false
1818 matrix :
19- os : [ubuntu-latest, macos-latest, windows-latest]
2019 python : ["3.9", "3.10", "3.11", "3.12"]
21- include :
22- - os : ubuntu-latest
23- target : x86_64-unknown-linux-gnu
24- - os : macos-latest
25- target : universal2-apple-darwin
26- - os : windows-latest
27- target : x86_64-pc-windows-msvc
2820 steps :
2921 - uses : actions/checkout@v4
30-
22+
3123 - name : Install Rust
3224 uses : dtolnay/rust-toolchain@stable
33- with :
34- target : ${{ matrix.target }}
35- components : rustfmt, clippy
3625
3726 - name : Set up Python ${{ matrix.python }}
3827 uses : actions/setup-python@v5
@@ -52,62 +41,22 @@ jobs:
5241 - name : Install maturin
5342 run : pip install maturin
5443
55- - name : Build (debug)
56- run : maturin develop --no-default-features
57- env :
58- RUSTFLAGS : -C target-cpu=native
44+ - name : Build (release, no default features)
45+ run : maturin develop --release --no-default-features
5946
6047 - name : Run tests
6148 run : python -m pytest python/tests/ -q --tb=short -x
6249 timeout-minutes : 30
6350
64- test-gpu :
65- name : GPU Features Test (optional)
66- runs-on : ubuntu-latest
67- continue-on-error : true
68- steps :
69- - uses : actions/checkout@v4
70-
71- - name : Install Rust
72- uses : dtolnay/rust-toolchain@stable
73- with :
74- components : rustfmt, clippy
75-
76- - name : Set up Python 3.12
77- uses : actions/setup-python@v5
78- with :
79- python-version : " 3.12"
80-
81- - name : Install maturin
82- run : pip install maturin
83-
84- - name : Build with CUDA feature
85- run : maturin develop --features cuda
86- env :
87- RUSTFLAGS : -C target-cpu=native
88-
89- - name : Test CUDA available
90- run : python -c "import qector_decoder_v3 as qd; print('CUDA:', qd.cuda_is_available())"
91-
92- - name : Build with OpenCL feature
93- run : maturin develop --features opencl
94- env :
95- RUSTFLAGS : -C target-cpu=native
96-
97- - name : Test OpenCL available
98- run : python -c "import qector_decoder_v3 as qd; print('OpenCL:', qd.opencl_is_available())"
99-
10051 test-full :
10152 name : Full Features Test (optional)
10253 runs-on : ubuntu-latest
10354 continue-on-error : true
10455 steps :
10556 - uses : actions/checkout@v4
106-
57+
10758 - name : Install Rust
10859 uses : dtolnay/rust-toolchain@stable
109- with :
110- components : rustfmt, clippy
11160
11261 - name : Set up Python 3.12
11362 uses : actions/setup-python@v5
11867 run : pip install maturin
11968
12069 - name : Build with full features
121- run : maturin develop --features full
122- env :
123- RUSTFLAGS : -C target-cpu=native
70+ run : maturin develop --release --features full
12471
12572 - name : Test gRPC/MCP server
12673 run : |
13279 continue-on-error : true
13380 steps :
13481 - uses : actions/checkout@v4
135-
82+
13683 - name : Set up Python 3.12
13784 uses : actions/setup-python@v5
13885 with :
@@ -153,7 +100,7 @@ jobs:
153100 continue-on-error : true
154101 steps :
155102 - uses : actions/checkout@v4
156-
103+
157104 - name : Install Rust
158105 uses : dtolnay/rust-toolchain@stable
159106 with :
0 commit comments