-
Notifications
You must be signed in to change notification settings - Fork 54
166 lines (152 loc) · 5.08 KB
/
rust.yml
File metadata and controls
166 lines (152 loc) · 5.08 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
name: Rust
on:
push:
branches: [main]
paths: ["**.rs", "Cargo.toml", ".github/workflows/rust.yml"]
pull_request:
branches: [main]
env:
CARGO_TERM_COLOR: always
jobs:
format:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
with:
components: rustfmt
- name: Check formatting
run: cargo fmt -- --check
test-all-default:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
- uses: Swatinem/rust-cache@v2
- name: install deps
run: NO_CPLEX=true ./build/setup.sh
- name: Build with all default solvers (no cplex)
run: cargo build --features all_default_solvers --tests
- name: Run tests with all default solvers (no cplex)
# test on a single thread. See: https://github.com/KardinalAI/coin_cbc/issues/9
run: cargo test --features all_default_solvers -- --test-threads=1
test-microlp:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
- uses: Swatinem/rust-cache@v2
- name: install deps
run: NO_CPLEX=true ./build/setup.sh
- name: Build microlp
run: cargo build --features microlp --tests
- name: Run tests with microlp
run: cargo test --no-default-features --features microlp
test-microlp-wasm:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
- uses: Swatinem/rust-cache@v2
- uses: actions/setup-node@v4
with:
node-version: 22
- name: install deps
run: NO_CPLEX=true ./build/setup.sh && ./build/postsetup.sh
- name: Run tests with microlp on WASM
run: wasm-pack test --node --no-default-features --features microlp
test-lpsolve:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
- uses: Swatinem/rust-cache@v2
- name: install deps
run: NO_CPLEX=true ./build/setup.sh
- name: Build microlp
run: cargo build --features lpsolve --tests
- name: Run tests with lpsolve
run: cargo test --no-default-features --features lpsolve
test-highs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
- uses: Swatinem/rust-cache@v2
- name: install deps
run: NO_CPLEX=true ./build/setup.sh
- name: Build highs
run: cargo build --features highs --tests
- name: Run tests with highs
run: cargo test --no-default-features --features highs
test-lpsolvers:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
- uses: Swatinem/rust-cache@v2
- name: install deps
run: NO_CPLEX=true ./build/setup.sh
- name: Build lp_solvers
run: cargo build --features lp-solvers --tests
- name: Run tests with lp_solvers
run: cargo test --no-default-features --features lp-solvers
test-scip:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
- uses: Swatinem/rust-cache@v2
- name: install deps
run: NO_CPLEX=true ./build/setup.sh
- name: Build scip
run: cargo build --features "scip,scip_bundled" --tests
- name: Run tests with SCIP
run: cargo test --no-default-features --features "scip,scip_bundled"
test-cplex:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
- uses: Swatinem/rust-cache@v2
- name: install deps
run: ./build/setup.sh
- name: Build cplex
run: cargo build --features cplex-rs --tests
- name: Run tests with CPLEX
run: cargo test --no-default-features --features cplex-rs
test-clarabel:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
- uses: Swatinem/rust-cache@v2
- name: install deps
run: NO_CPLEX=true ./build/setup.sh
- name: Build clarabel
run: cargo build --features clarabel --tests
- name: Run tests with Clarabel
run: cargo test --no-default-features --features clarabel
test-clarabel-wasm:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
- uses: Swatinem/rust-cache@v2
- uses: actions/setup-node@v4
with:
node-version: 22
- name: install deps
run: NO_CPLEX=true ./build/setup.sh && ./build/postsetup.sh
- name: Run tests with Clarabel on WASM
run: wasm-pack test --node --no-default-features --features clarabel
bench:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
- uses: Swatinem/rust-cache@v2
- name: install deps
run: NO_CPLEX=true ./build/setup.sh
- name: Run benchmarks
run: cargo bench