Skip to content

Commit 0eac76e

Browse files
committed
Refactor solver-tests.yml to simplify secret management
1 parent a020b50 commit 0eac76e

File tree

1 file changed

+34
-80
lines changed

1 file changed

+34
-80
lines changed

.github/workflows/solver-tests.yml

Lines changed: 34 additions & 80 deletions
Original file line numberDiff line numberDiff line change
@@ -11,32 +11,28 @@ jobs:
1111
runs-on: ubuntu-latest
1212
env:
1313
PACKAGE: ${{ matrix.package }}
14-
XPRESS_JL_SKIP_LIB_CHECK: "true"
15-
# It's okay to share this secret with other packages because it is the public
16-
# community-xpauth.xpr and not something confidential to JuMP-dev.
17-
XPAUTH_XPR: ${{ secrets.XPAUTH_XPR }}
1814
strategy:
1915
fail-fast: false
2016
matrix:
2117
include:
2218
- package: 'JuMP'
2319
- package: 'Convex'
2420
- package: 'AmplNLWriter'
25-
# - package: 'BARON' # Requires license
21+
- package: 'BARON'
2622
- package: 'Cbc'
2723
- package: 'Clp'
28-
# - package: 'CPLEX' # See below
24+
- package: 'CPLEX'
2925
- package: 'CSDP'
3026
- package: 'DiffOpt'
3127
- package: 'DSDP'
3228
- package: 'Dualization'
3329
- package: 'ECOS'
3430
- package: 'GLPK'
35-
# - package: 'Gurobi' # See below
31+
- package: 'Gurobi'
3632
- package: 'HiGHS'
3733
- package: 'Hypatia'
3834
- package: 'Ipopt'
39-
# - package: 'KNITRO' # See below
35+
- package: 'KNITRO'
4036
- package: 'MiniZinc'
4137
- package: 'MosekTools'
4238
- package: 'MultiObjectiveAlgorithms'
@@ -49,7 +45,7 @@ jobs:
4945
- package: 'PolyJuMP'
5046
- package: 'SCS'
5147
- package: 'SDPA'
52-
# - package: 'SDPLR' # Requires MATLAB
48+
- package: 'SDPLR'
5349
# - package: 'SDPNAL' # Requires MATLAB
5450
# - package: 'SDPT3' # Requires MATLAB
5551
# - package: 'SeduMi' # Requires MATLAB
@@ -96,84 +92,42 @@ jobs:
9692
version: '1'
9793
- uses: julia-actions/cache@v2
9894
- uses: julia-actions/julia-buildpkg@v1
99-
- name: Test
100-
shell: julia --color=yes {0}
95+
# Setup BARON.jl
96+
- name: Add BARON secrets
97+
if: ${{ matrix.package == "BARON" }}
10198
run: |
102-
import Pkg
103-
Pkg.develop(Pkg.PackageSpec(; path = pwd()))
104-
if ENV["PACKAGE"] == "Xpress"
105-
write("/opt/xpauth.xpr", ENV["XPAUTH_XPR"])
106-
ENV["XPAUTH_PATH"] = "/opt/xpauth.xpr"
107-
ENV["XPRESS_JL_SKIP_LIB_CHECK"] = true
108-
end
109-
Pkg.develop(ENV["PACKAGE"])
110-
Pkg.build(ENV["PACKAGE"])
111-
Pkg.test(ENV["PACKAGE"])
112-
test-cplex:
113-
name: CPLEX
114-
runs-on: ubuntu-latest
115-
steps:
116-
- uses: actions/checkout@v4
117-
- uses: julia-actions/setup-julia@v2
118-
with:
119-
version: '1'
120-
- uses: julia-actions/cache@v2
121-
- uses: julia-actions/julia-buildpkg@v1
122-
- name: Test
123-
shell: julia --color=yes {0}
124-
env:
125-
CPLEX_VERSION: '2210'
126-
SECRET_CPLEX_URL_2210: ${{ secrets.SECRET_CPLEX_URL_2210 }}
99+
echo "SECRET_BARON_LICENSE=${{ secrets.BARON_LICENSE }}" >> $GITHUB_ENV
100+
# Setup CPLEX.jl
101+
- name: Add CPLEX secrets
102+
if: ${{ matrix.package == "CPLEX" }}
127103
run: |
128-
import Pkg
129-
Pkg.develop(Pkg.PackageSpec(; path = pwd()))
130-
Pkg.develop("CPLEX")
131-
Pkg.test("CPLEX")
132-
test-gurobi:
133-
name: Gurobi
134-
runs-on: ubuntu-latest
135-
steps:
136-
- uses: actions/checkout@v4
137-
- uses: julia-actions/setup-julia@v2
138-
with:
139-
version: '1'
140-
- uses: julia-actions/cache@v2
141-
- shell: bash
142-
env:
143-
WLSLICENSE: ${{ secrets.WLSLICENSE }}
104+
echo "CPLEX_VERSION=2210" >> $GITHUB_ENV
105+
echo "CPLEX_URL_2210=${{ secrets.CPLEX_URL_2210 }}" >> $GITHUB_ENV
106+
# Setup Gurobi.jl
107+
- name: Add Gurobi secrets
108+
if: ${{ matrix.package == "Gurobi" }}
144109
run: |
145110
mkdir -p /opt/gurobi
146-
echo "$WLSLICENSE" > /opt/gurobi/gurobi.lic
147-
- uses: julia-actions/julia-buildpkg@v1
148-
- name: Test
149-
shell: julia --color=yes {0}
111+
echo "${{ secrets.WLSLICENSE }}" > /opt/gurobi/gurobi.lic
112+
# Setup KNITRO.jl
113+
- name: Add KNITRO secrets
114+
if: ${{ matrix.package == "KNITRO" }}
150115
run: |
151-
import Pkg
152-
Pkg.develop(Pkg.PackageSpec(; path = pwd()))
153-
Pkg.develop("Gurobi")
154-
Pkg.test("Gurobi")
155-
test-knitro:
156-
name: KNITRO
157-
runs-on: ubuntu-latest
158-
steps:
159-
- uses: actions/checkout@v4
160-
- uses: julia-actions/setup-julia@v2
161-
with:
162-
version: '1'
163-
- uses: julia-actions/cache@v2
164-
- shell: bash
165-
env:
166-
ARTELYS_LIC_JUMP_DEV: ${{ secrets.ARTELYS_LIC_8326_JUMP_DEV_2023_11_02 }}
116+
echo "${{ secrets.ARTELYS_LIC_8326_JUMP_DEV_2023_11_02 }}" > ~/artelys_lic.txt
117+
echo "SECRET_KNITRO_URL=${{ secrets.SECRET_KNITRO_URL }}" >> $GITHUB_ENV
118+
echo "SECRET_KNITRO_LIBIOMP5=${{ secrets.SECRET_KNITRO_LIBIOMP5 }}" >> $GITHUB_ENV
119+
# Setup Xpress.jl
120+
- name: Add Xpress secrets
121+
if: ${{ matrix.package == "Xpress" }}
167122
run: |
168-
echo "$ARTELYS_LIC_JUMP_DEV" > ~/artelys_lic.txt
169-
- name: Test
123+
echo "XPRESS_JL_SKIP_LIB_CHECK=true" >> $GITHUB_ENV
124+
echo "XPAUTH_PATH=/opt/xpauth.xpr" >> $GITHUB_ENV
125+
echo "${{ secrets.XPRESS_LICENSE }}" > /opt/xpauth.xpr
126+
- name: Run tests
170127
shell: julia --color=yes {0}
171-
env:
172-
SECRET_KNITRO_URL: ${{ secrets.SECRET_KNITRO_URL }}
173-
SECRET_KNITRO_LIBIOMP5: ${{ secrets.SECRET_KNITRO_LIBIOMP5 }}
174128
run: |
175129
import Pkg
176130
Pkg.develop(Pkg.PackageSpec(; path = pwd()))
177-
Pkg.develop("KNITRO")
178-
Pkg.build("KNITRO")
179-
Pkg.test("KNITRO")
131+
Pkg.develop(ENV["PACKAGE"])
132+
Pkg.build(ENV["PACKAGE"])
133+
Pkg.test(ENV["PACKAGE"])

0 commit comments

Comments
 (0)