Skip to content

Continue fixing CI #2632

Continue fixing CI

Continue fixing CI #2632

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(subpkgs::Vector{String})
specs = [PackageSpec(path = "lib/$subpkg") for subpkg in subpkgs]
Pkg.develop(specs)
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", "OptimizationLBFGSB", "OptimizationMOI", "OptimizationOptimJL", "OptimizationOptimisers"])
elseif GROUP == "OptimizationBase"
dev_subpkg(["OptimizationLBFGSB", "OptimizationManopt"])
elseif GROUP == "OptimizationAuglag"
dev_subpkg(["OptimizationBase", "OptimizationOptimisers"])
elseif GROUP == "OptimizationBBO"
dev_subpkg(["OptimizationBase"])
elseif GROUP == "OptimizationCMAEvolutionStrategy"
dev_subpkg(["OptimizationBase"])
elseif GROUP == "OptimizationEvolutionary"
dev_subpkg(["OptimizationBase"])
elseif GROUP == "OptimizationGCMAES"
dev_subpkg(["OptimizationBase"])
elseif GROUP == "OptimizationLBFGSB"
dev_subpkg(["OptimizationBase"])
elseif GROUP == "OptimizationIpopt"
dev_subpkg(["OptimizationBase"])
elseif GROUP == "OptimizationMadNLP"
dev_subpkg(["OptimizationBase"])
elseif GROUP == "OptimizationManopt"
dev_subpkg(["OptimizationBase"])
elseif GROUP == "OptimizationMetaheuristics"
dev_subpkg(["OptimizationBase"])
elseif GROUP == "OptimizationMOI"
dev_subpkg(["OptimizationBase"])
elseif GROUP == "OptimizationMultistartOptimization"
dev_subpkg(["OptimizationBase", "OptimizationNLopt"])
elseif GROUP == "OptimizationNLopt"
dev_subpkg(["OptimizationBase"])
elseif GROUP == "OptimizationNOMAD"
dev_subpkg(["OptimizationBase"])
elseif GROUP == "OptimizationODE"
dev_subpkg(["OptimizationBase"])
elseif GROUP == "OptimizationOptimJL"
dev_subpkg(["OptimizationBase"])
elseif GROUP == "OptimizationOptimisers"
dev_subpkg(["OptimizationBase"])
elseif GROUP == "OptimizationPRIMA"
dev_subpkg(["OptimizationBase"])
elseif GROUP == "OptimizationPyCMA"
dev_subpkg(["OptimizationBase"])
elseif GROUP == "OptimizationQuadDIRECT"
dev_subpkg(["OptimizationBase"])
elseif GROUP == "OptimizationSciPy"
dev_subpkg(["OptimizationBase"])
elseif GROUP == "OptimizationSophia"
dev_subpkg(["OptimizationBase"])
elseif GROUP == "OptimizationSpeedMapping"
dev_subpkg(["OptimizationBase"])
elseif GROUP == "GPU" || GROUP == "OptimizationPolyalgorithms"
dev_subpkg(["OptimizationBase", "OptimizationOptimJL", "OptimizationOptimisers"])
elseif GROUP == "OptimizationNLPModels"
dev_subpkg(["OptimizationBase", "OptimizationMOI", "OptimizationOptimJL", "OptimizationLBFGSB"])
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