Skip to content

Commit

Permalink
Split tests on CI
Browse files Browse the repository at this point in the history
  • Loading branch information
abelsiqueira committed May 27, 2021
1 parent 02cb3a4 commit a2608e9
Show file tree
Hide file tree
Showing 4 changed files with 30 additions and 18 deletions.
20 changes: 6 additions & 14 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,29 +7,18 @@ on:
types: [opened, synchronize, reopened]
jobs:
test:
name: Julia ${{ matrix.version }} - ${{ matrix.os }} - ${{ matrix.arch }} - ${{ github.event_name }}
name: Julia ${{ matrix.version }}|${{ matrix.os }}|${{ matrix.problem_type }}|${{ matrix.adbackend }}|${{ github.event_name }}
runs-on: ${{ matrix.os }}
continue-on-error: ${{ matrix.allow_failure }}
strategy:
fail-fast: false
matrix:
version: ['1.3', '1']
adbackend: ["ForwardDiffAD", "ZygoteAD", "ReverseDiffAD"]
problem_type: ["NLP", "NLS"]
os: [ubuntu-latest, macOS-latest, windows-latest]
arch: [x64]
allow_failure: [false]
include:
- version: 'nightly'
os: ubuntu-latest
arch: x64
allow_failure: true
- version: 'nightly'
os: macOS-latest
arch: x64
allow_failure: true
- version: 'nightly'
os: windows-latest
arch: x64
allow_failure: true
steps:
- uses: actions/checkout@v2
- uses: julia-actions/setup-julia@v1
Expand All @@ -48,6 +37,9 @@ jobs:
${{ runner.os }}-
- uses: julia-actions/julia-buildpkg@v1
- uses: julia-actions/julia-runtest@v1
env:
ADBACKEND: ${{ matrix.adbackend }}
PROBLEMTYPE: ${{ matrix.problem_type }}
- uses: julia-actions/julia-processcoverage@v1
- uses: codecov/codecov-action@v1
with:
Expand Down
2 changes: 1 addition & 1 deletion test/nlp/nlpmodelstest.jl
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@

@testset "AD backend - $(adbackend)" for adbackend in (:ForwardDiffAD, :ZygoteAD, :ReverseDiffAD)
@testset "AD backend - $(adbackend)" for adbackend in backends()
for problem in NLPModelsTest.nlp_problems
@testset "Checking NLPModelsTest tests on problem $problem" begin
nlp_ad = eval(Meta.parse(lowercase(problem) * "_autodiff"))()
Expand Down
2 changes: 1 addition & 1 deletion test/nls/nlpmodelstest.jl
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
@testset "AD backend - $(adbackend)" for adbackend in (:ForwardDiffAD, :ZygoteAD, :ReverseDiffAD)
@testset "AD backend - $(adbackend)" for adbackend in backends()
for problem in NLPModelsTest.nls_problems
@testset "Checking NLPModelsTest tests on problem $problem" begin
nls_ad = eval(Meta.parse(lowercase(problem) * "_autodiff"))()
Expand Down
24 changes: 22 additions & 2 deletions test/runtests.jl
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,27 @@ for problem in NLPModelsTest.nls_problems
include("nls/problems/$(lowercase(problem)).jl")
end

function backends()
x = get(ENV, "ADBACKEND", nothing)
if x === nothing
return (:ForwardDiffAD, :ZygoteAD, :ReverseDiffAD)
elseif get(ENV, "GITHUB_REPOSITORY", nothing) == "JuliaSmoothOptimizers/ADNLPModels.jl"
return [Symbol(x)]
else #
return [:ForwardDiffAD]
end
end

include("nlp/basic.jl")
include("nls/basic.jl")
include("nlp/nlpmodelstest.jl")
include("nls/nlpmodelstest.jl")

if get(ENV, "CI", "false") == "true" && get(ENV, "GITHUB_REPOSITORY", nothing) == "JuliaSmoothOptimizers/ADNLPModels.jl"
if get(ENV, "PROBLEMTYPE", nothing) == "NLP"
include("nlp/nlpmodelstest.jl")
else
include("nls/nlpmodelstest.jl")
end
else
include("nlp/nlpmodelstest.jl")
include("nls/nlpmodelstest.jl")
end

0 comments on commit a2608e9

Please sign in to comment.