@@ -11,32 +11,28 @@ jobs:
11
11
runs-on : ubuntu-latest
12
12
env :
13
13
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 }}
18
14
strategy :
19
15
fail-fast : false
20
16
matrix :
21
17
include :
22
18
- package : ' JuMP'
23
19
- package : ' Convex'
24
20
- package : ' AmplNLWriter'
25
- # - package: 'BARON' # Requires license
21
+ - package : ' BARON'
26
22
- package : ' Cbc'
27
23
- package : ' Clp'
28
- # - package: 'CPLEX' # See below
24
+ - package : ' CPLEX'
29
25
- package : ' CSDP'
30
26
- package : ' DiffOpt'
31
27
- package : ' DSDP'
32
28
- package : ' Dualization'
33
29
- package : ' ECOS'
34
30
- package : ' GLPK'
35
- # - package: 'Gurobi' # See below
31
+ - package : ' Gurobi'
36
32
- package : ' HiGHS'
37
33
- package : ' Hypatia'
38
34
- package : ' Ipopt'
39
- # - package: 'KNITRO' # See below
35
+ - package : ' KNITRO'
40
36
- package : ' MiniZinc'
41
37
- package : ' MosekTools'
42
38
- package : ' MultiObjectiveAlgorithms'
49
45
- package : ' PolyJuMP'
50
46
- package : ' SCS'
51
47
- package : ' SDPA'
52
- # - package: 'SDPLR' # Requires MATLAB
48
+ - package : ' SDPLR'
53
49
# - package: 'SDPNAL' # Requires MATLAB
54
50
# - package: 'SDPT3' # Requires MATLAB
55
51
# - package: 'SeduMi' # Requires MATLAB
@@ -96,84 +92,78 @@ jobs:
96
92
version : ' 1'
97
93
- uses : julia-actions/cache@v2
98
94
- 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' }}
98
+ shell : bash
99
+ # Writing a multiline string is hard. GitHub says:
100
+ # https://docs.github.com/en/actions/writing-workflows/choosing-what-your-workflow-does/workflow-commands-for-github-actions#multiline-strings
101
+ #
102
+ # For multiline strings, you may use a delimiter with the following syntax.
103
+ #
104
+ # {name}<<{delimiter}
105
+ # {value}
106
+ # {delimiter}
107
+ #
108
+ # Their example goes on to use 'EOF' as the delimiter, which works so
109
+ # long as 'EOF' does not appear in the string. If you get the error:
110
+ #
111
+ # Run echo "SECRET_BARON_LICENSE='***
112
+ # Error: Unable to process file command 'env' successfully.
113
+ # Error: Invalid format '***'
114
+ #
115
+ # This is the most likely culprit.
101
116
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 }}
117
+ {
118
+ echo "SECRET_BARON_LICENSE<<EOF"
119
+ echo "${{ secrets.BARON_LICENSE }}"
120
+ echo "EOF"
121
+ } >> $GITHUB_ENV
122
+ # Setup CPLEX.jl
123
+ - name : Add CPLEX secrets
124
+ if : ${{ matrix.package == 'CPLEX' }}
125
+ env :
126
+ SECRET_CPLEX_URL_2210 : ${{ secrets.CPLEX_URL_2210 }}
127
+ shell : bash
127
128
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 }}
129
+ echo "SECRET_CPLEX_URL_2210=${SECRET_CPLEX_URL_2210}" >> $GITHUB_ENV
130
+ echo "CPLEX_VERSION=2210" >> $GITHUB_ENV
131
+ # Setup Gurobi.jl
132
+ - name : Add Gurobi secrets
133
+ if : ${{ matrix.package == 'Gurobi' }}
134
+ env :
135
+ SECRET_GUROBI_LICENSE : ${{ secrets.GUROBI_LICENSE }}
136
+ shell : bash
144
137
run : |
145
138
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}
139
+ echo "${SECRET_GUROBI_LICENSE}" > /opt/gurobi/gurobi.lic
140
+ # Setup KNITRO.jl
141
+ - name : Add KNITRO secrets
142
+ if : ${{ matrix.package == 'KNITRO' }}
143
+ env :
144
+ SECRET_KNITRO_LICENSE : ${{ secrets.KNITRO_LICENSE }}
145
+ SECRET_KNITRO_URL : ${{ secrets.KNITRO_URL }}
146
+ SECRET_KNITRO_LIBIOMP5 : ${{ secrets.KNITRO_LIBIOMP5 }}
147
+ shell : bash
150
148
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
149
+ echo "${SECRET_KNITRO_LICENSE}" > ~/artelys_lic.txt
150
+ echo "SECRET_KNITRO_URL=${SECRET_KNITRO_URL}" >> $GITHUB_ENV
151
+ echo "SECRET_KNITRO_LIBIOMP5=${SECRET_KNITRO_LIBIOMP5}" >> $GITHUB_ENV
152
+ # Setup Xpress.jl
153
+ - name : Add Xpress secrets
154
+ if : ${{ matrix.package == 'Xpress' }}
165
155
env :
166
- ARTELYS_LIC_JUMP_DEV : ${{ secrets.ARTELYS_LIC_8326_JUMP_DEV_2023_11_02 }}
156
+ SECRET_XPRESS_LICENSE : ${{ secrets.XPRESS_LICENSE }}
157
+ shell : bash
167
158
run : |
168
- echo "$ARTELYS_LIC_JUMP_DEV" > ~/artelys_lic.txt
169
- - name : Test
159
+ echo "${SECRET_XPRESS_LICENSE}" > /opt/xpauth.xpr
160
+ echo "XPRESS_JL_SKIP_LIB_CHECK=true" >> $GITHUB_ENV
161
+ echo "XPAUTH_PATH=/opt/xpauth.xpr" >> $GITHUB_ENV
162
+ - name : Run tests
170
163
shell : julia --color=yes {0}
171
- env :
172
- SECRET_KNITRO_URL : ${{ secrets.SECRET_KNITRO_URL }}
173
- SECRET_KNITRO_LIBIOMP5 : ${{ secrets.SECRET_KNITRO_LIBIOMP5 }}
174
164
run : |
175
165
import Pkg
176
166
Pkg.develop(Pkg.PackageSpec(; path = pwd()))
177
- Pkg.develop("KNITRO" )
178
- Pkg.build("KNITRO" )
179
- Pkg.test("KNITRO" )
167
+ Pkg.develop(ENV["PACKAGE"] )
168
+ Pkg.build(ENV["PACKAGE"] )
169
+ Pkg.test(ENV["PACKAGE"] )
0 commit comments