Skip to content

solver-tests

solver-tests #130

Workflow file for this run

name: solver-tests
on:
workflow_dispatch:
# needed to allow julia-actions/cache to delete old caches that it has created
permissions:
actions: write
contents: read
jobs:
test-ubuntu:
name: ${{ matrix.package }}
runs-on: ubuntu-latest
env:
PACKAGE: ${{ matrix.package }}
XPRESS_JL_SKIP_LIB_CHECK: "true"
# It's okay to share this secret with other packages because it is the public
# community-xpauth.xpr and not something confidential to JuMP-dev.
XPAUTH_XPR: ${{ secrets.XPAUTH_XPR }}
strategy:
fail-fast: false
matrix:
include:
- package: 'JuMP'
- package: 'Convex'
- package: 'AmplNLWriter'
# - package: 'BARON' # Requires license
- package: 'Cbc'
- package: 'Clp'
# - package: 'CPLEX' # Requires license
- package: 'CSDP'
- package: 'DiffOpt'
- package: 'Dualization'
- package: 'ECOS'
- package: 'GLPK'
- package: 'HiGHS'
- package: 'Hypatia'
- package: 'Ipopt'
# - package: 'KNITRO' # Requires license
- package: 'MiniZinc'
- package: 'MosekTools'
- package: 'MultiObjectiveAlgorithms'
- package: 'NEOSServer'
- package: 'NLopt'
- package: 'Pajarito'
- package: 'ParametricOptInterface'
- package: 'Pavito'
- package: 'PolyJuMP'
- package: 'SCS'
- package: 'SDPA'
# - package: 'SDPLR' # Requires MATLAB
# - package: 'SDPNAL' # Requires MATLAB
# - package: 'SDPT3' # Requires MATLAB
# - package: 'SeduMi' # Requires MATLAB
- package: 'SumOfSquares'
- package: 'Xpress'
# External packages
- package: 'Alpine'
- package: 'BilevelJuMP'
- package: 'CDDLib'
- package: 'Clarabel'
- package: 'COPT'
- package: 'COSMO'
- package: 'DAQP'
- package: 'DisjunctiveProgramming'
- package: 'DSDP'
- package: 'EAGO'
- package: 'InfiniteOpt'
- package: 'Juniper'
- package: 'LinearFractional'
- package: 'Loraine'
- package: 'MathOptSetDistances'
- package: 'OSQP'
- package: 'PATHSolver'
- package: 'Percival'
- package: 'Plasmo'
- package: 'PowerModels'
- package: 'ProxSDP'
- package: 'SCIP'
- package: 'SDDP'
- package: 'SetProg'
- package: 'SparseVariables'
# - package: 'SDPAFamily' # Does not work on latest Julia
- package: 'Tulip'
- package: 'UnitJuMP'
steps:
- uses: actions/checkout@v4
- uses: julia-actions/setup-julia@v2
with:
version: '1'
- uses: julia-actions/cache@v1
- uses: julia-actions/julia-buildpkg@v1
- name: Test
shell: julia --color=yes {0}
run: |
import Pkg
Pkg.develop(Pkg.PackageSpec(; path = pwd()))
if ENV["PACKAGE"] == "Xpress"
write("/opt/xpauth.xpr", ENV["XPAUTH_XPR"])
ENV["XPAUTH_PATH"] = "/opt/xpauth.xpr"
ENV["XPRESS_JL_SKIP_LIB_CHECK"] = true
end
Pkg.develop(ENV["PACKAGE"])
Pkg.build(ENV["PACKAGE"])
Pkg.test(ENV["PACKAGE"])
test-cplex:
name: ${{ matrix.package }}
runs-on: ubuntu-latest
env:
PACKAGE: ${{ matrix.package }}
strategy:
fail-fast: false
matrix:
include:
- package: 'CPLEX'
steps:
- uses: actions/checkout@v4
- uses: julia-actions/setup-julia@v2
with:
version: '1'
- uses: julia-actions/cache@v1
- uses: julia-actions/julia-buildpkg@v1
- name: Test
shell: julia --color=yes {0}
env:
CPLEX_VERSION: '2210'
SECRET_CPLEX_URL_2210: ${{ secrets.SECRET_CPLEX_URL_2210 }}
run: |
import Pkg
Pkg.develop(Pkg.PackageSpec(; path = pwd()))
Pkg.develop(ENV["PACKAGE"])
Pkg.test(ENV["PACKAGE"])
test-gurobi:
name: Gurobi
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: julia-actions/setup-julia@v2
with:
version: '1'
- uses: julia-actions/cache@v1
- shell: bash
env:
WLSLICENSE: ${{ secrets.WLSLICENSE }}
run: |
mkdir -p /opt/gurobi
echo "$WLSLICENSE" > /opt/gurobi/gurobi.lic
- uses: julia-actions/julia-buildpkg@v1
- name: Test
shell: julia --color=yes {0}
run: |
import Pkg
Pkg.develop(Pkg.PackageSpec(; path = pwd()))
Pkg.develop("Gurobi")
Pkg.test("Gurobi")