Skip to content

Commit f475b40

Browse files
authored
Add solver-tests.yml GitHub action (#2149)
This is a workflow_dispatch only action (for now) that tests most downstream solvers. The intention is that changes in MOI can be tested across solvers on-demand by running the action from a chosen branch.
1 parent 70ba563 commit f475b40

File tree

1 file changed

+106
-0
lines changed

1 file changed

+106
-0
lines changed

.github/workflows/solver-tests.yml

Lines changed: 106 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,106 @@
1+
name: solver-tests
2+
on:
3+
workflow_dispatch:
4+
jobs:
5+
test-ubuntu:
6+
name: ${{ matrix.package }}
7+
runs-on: ubuntu-latest
8+
env:
9+
PACKAGE: ${{ matrix.package }}
10+
strategy:
11+
fail-fast: false
12+
matrix:
13+
include:
14+
- package: 'JuMP'
15+
- package: 'Convex'
16+
- package: 'SumOfSquares'
17+
- package: 'PolyJuMP'
18+
- package: 'Alpine'
19+
- package: 'Cbc'
20+
- package: 'Clp'
21+
- package: 'CDDLib'
22+
- package: 'COSMO'
23+
# - package: 'CPLEX'
24+
- package: 'CSDP'
25+
- package: 'DSDP'
26+
- package: 'EAGO'
27+
- package: 'ECOS'
28+
- package: 'GLPK'
29+
- package: 'HiGHS'
30+
- package: 'Hypatia'
31+
- package: 'Ipopt'
32+
- package: 'Juniper'
33+
- package: 'MosekTools'
34+
- package: 'NLopt'
35+
- package: 'OSQP'
36+
- package: 'PATHSolver'
37+
- package: 'Pavito'
38+
- package: 'ProxSDP'
39+
- package: 'SCIP'
40+
- package: 'SCS'
41+
- package: 'SDPA'
42+
- package: 'SDPAFamily'
43+
- package: 'Tulip'
44+
steps:
45+
- uses: actions/checkout@v3
46+
- uses: julia-actions/setup-julia@v1
47+
with:
48+
version: '1'
49+
- uses: actions/cache@v1
50+
env:
51+
cache-name: cache-artifacts
52+
with:
53+
path: ~/.julia/artifacts
54+
key: ${{ runner.os }}-test-${{ env.cache-name }}-${{ hashFiles('**/Project.toml') }}
55+
restore-keys: |
56+
${{ runner.os }}-test-${{ env.cache-name }}-
57+
${{ runner.os }}-test-
58+
${{ runner.os }}-
59+
- uses: julia-actions/julia-buildpkg@v1
60+
- name: Test
61+
shell: julia --color=yes {0}
62+
# env:
63+
# CPLEX_VERSION: '2010'
64+
# SECRET_CPLEX_URL_2010: ${{ secrets.SECRET_CPLEX_URL_2010 }}
65+
run: |
66+
import Pkg
67+
Pkg.develop(ENV["PACKAGE"])
68+
Pkg.test(ENV["PACKAGE"])
69+
# TODO(odow): enable testing Xpress
70+
# test-windows:
71+
# name: ${{ matrix.package }}
72+
# runs-on: windows-latest
73+
# env:
74+
# PACKAGE: ${{ matrix.package }}
75+
# strategy:
76+
# fail-fast: false
77+
# matrix:
78+
# include:
79+
# - package: 'Xpress'
80+
# steps:
81+
# - uses: actions/checkout@v2
82+
# - uses: julia-actions/setup-julia@v1
83+
# with:
84+
# version: '1'
85+
# - uses: actions/cache@v1
86+
# env:
87+
# cache-name: cache-artifacts
88+
# with:
89+
# path: ~/.julia/artifacts
90+
# key: ${{ runner.os }}-test-${{ env.cache-name }}-${{ hashFiles('**/Project.toml') }}
91+
# restore-keys: |
92+
# ${{ runner.os }}-test-${{ env.cache-name }}-
93+
# ${{ runner.os }}-test-
94+
# ${{ runner.os }}-
95+
# - uses: julia-actions/julia-buildpkg@v1
96+
# - name: Test
97+
# shell: julia --color=yes {0}
98+
# env:
99+
# SECRET_XPRS_WIN_8110: ${{ secrets.XPRS_WIN_8110 }}
100+
# SECRET_XPRL_WIN_8110: ${{ secrets.XPRL_WIN_8110 }}
101+
# SECRET_XPRA_WIN_8130: ${{ secrets.XPRA_WIN_8130 }}
102+
# run: |
103+
# import Pkg
104+
# Pkg.add(Pkg.PackageSpec(; name="MathOptInterface", rev=ENV["BRANCH"]))
105+
# Pkg.develop("Xpress")
106+
# Pkg.test("Xpress")

0 commit comments

Comments
 (0)