Skip to content

Clean up and update to OptimizationBase@v4 #2599

Clean up and update to OptimizationBase@v4

Clean up and update to OptimizationBase@v4 #2599

Workflow file for this run

name: CI
on:
pull_request:
branches:
- master
paths-ignore:
- 'docs/**'
push:
branches:
- master
paths-ignore:
- 'docs/**'
jobs:
test:
runs-on: ubuntu-latest
continue-on-error: ${{ matrix.group == 'Downstream' }}
strategy:
fail-fast: false
matrix:
group:
- Core
- OptimizationBase
- OptimizationAuglag
- OptimizationBBO
- OptimizationCMAEvolutionStrategy
- OptimizationEvolutionary
- OptimizationGCMAES
- OptimizationLBFGSB
- OptimizationIpopt
- OptimizationMadNLP
- OptimizationManopt
- OptimizationMetaheuristics
- OptimizationMOI
- OptimizationMultistartOptimization
- OptimizationNLopt
- OptimizationNOMAD
- OptimizationODE
- OptimizationOptimJL
- OptimizationOptimisers
- OptimizationPRIMA
- OptimizationPyCMA
- OptimizationQuadDIRECT
- OptimizationSciPy
- OptimizationSophia
- OptimizationSpeedMapping
- OptimizationPolyalgorithms
- OptimizationNLPModels
version:
- '1.11'
- 'lts'
steps:
- uses: actions/checkout@v4
- uses: julia-actions/setup-julia@v2
with:
version: ${{ matrix.version }}
- uses: actions/cache@v4
env:
cache-name: cache-artifacts
with:
path: ~/.julia/artifacts
key: ${{ runner.os }}-test-${{ matrix.version }}-${{ env.cache-name }}-${{ hashFiles('**/Project.toml') }}
restore-keys: |
${{ runner.os }}-test-${{ matrix.version }}-${{ env.cache-name }}-
${{ runner.os }}-test-${{ matrix.version }}-
${{ runner.os }}-
- uses: julia-actions/julia-buildpkg@v1
- if: ${{ matrix.group == 'OptimizationQuadDIRECT' }}
run: julia --project -e 'using Pkg; Pkg.Registry.add(RegistrySpec(url = "https://github.com/HolyLab/HolyLabRegistry.git")); Pkg.add("QuadDIRECT")'
- name: ${{ matrix.group }}
env:
GROUP: ${{ matrix.group }}
shell: julia --color=yes --check-bounds=yes --depwarn=yes {0}
run: |
using Pkg
const GROUP = get(ENV, "GROUP", "Core")
function dev_subpkg(subpkg)
subpkg_path = "lib/$subpkg"
Pkg.develop(PackageSpec(path = subpkg_path))
end
if GROUP == "Core"
Pkg.activate(".")
else
subpkg_path = "lib/${{ matrix.group }}"
Pkg.activate(subpkg_path)
end
if VERSION < v"1.11"
@info "Preparing env"
if GROUP == "Core"
@info "Testing Core"
dev_subpkg("OptimizationBase")
dev_subpkg("OptimizationLBFGSB")
dev_subpkg("OptimizationMOI")
dev_subpkg("OptimizationOptimJL")
dev_subpkg("OptimizationOptimisers")
elseif GROUP == "OptimizationBase"
dev_subpkg("OptimizationLBFGSB")
dev_subpkg("OptimizationManopt")
elseif GROUP == "GPU" || GROUP == "OptimizationPolyalgorithms"
dev_subpkg("OptimizationOptimJL")
dev_subpkg("OptimizationOptimisers")
elseif GROUP == "OptimizationNLPModels"
dev_subpkg("OptimizationOptimJL")
dev_subpkg("OptimizationMOI")
end
end
@info "Starting tests"
Pkg.test()
- uses: julia-actions/julia-processcoverage@v1
with:
directories: src,lib/OptimizationBase/src,lib/OptimizationBBO/src,lib/OptimizationCMAEvolutionStrategy/src,lib/OptimizationEvolutionary/src,lib/OptimizationGCMAES/src,lib/OptimizationIpopt/src,lib/OptimizationMadNLP/src,lib/OptimizationManopt/src,lib/OptimizationMOI/src,lib/OptimizationMetaheuristics/src,lib/OptimizationMultistartOptimization/src,lib/OptimizationNLopt/src,lib/OptimizationNOMAD/src,lib/OptimizationOptimJL/src,lib/OptimizationOptimisers/src,lib/OptimizationPolyalgorithms/src,lib/OptimizationQuadDIRECT/src,lib/OptimizationSpeedMapping/src
- uses: codecov/codecov-action@v5
with:
files: lcov.info