Clean up and update to OptimizationBase@v4 #2594
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| 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", "All") | |
| function dev_subpkg(subpkg) | |
| subpkg_path = "lib/${{ matrix.group }}" | |
| Pkg.develop(PackageSpec(path = subpkg_path)) | |
| end | |
| if GROUP == "All" || GROUP == "Core" | |
| Pkg.activate() | |
| else | |
| subpkg_path = "lib/${{ matrix.group }}" | |
| Pkg.activate(PackageSpec(path = subpkg_path)) | |
| end | |
| if VERSION < v"1.11" | |
| if GROUP == "All" || GROUP == "Core" | |
| dev_subpkg("OptimizationBase") | |
| dev_subpkg("OptimizationOptimJL") | |
| dev_subpkg("OptimizationOptimisers") | |
| dev_subpkg("OptimizationMOI") | |
| elseif GROUP == "GPU" || GROUP == "OptimizationPolyalgorithms" | |
| dev_subpkg("OptimizationOptimJL") | |
| dev_subpkg("OptimizationOptimisers") | |
| elseif GROUP == "OptimizationNLPModels" | |
| dev_subpkg("OptimizationOptimJL") | |
| dev_subpkg("OptimizationMOI") | |
| end | |
| end | |
| 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 |