Skip to content

Commit d72425b

Browse files
authored
Split tests into two groups for x86 CI (#1029)
* Split tests into two groups for x86 CI * fix groups? * fix v2 * maybe this way * fix env var placement * fix empty case * Only print which test group is used when one of them is selected
1 parent e927178 commit d72425b

File tree

2 files changed

+109
-48
lines changed

2 files changed

+109
-48
lines changed

.github/workflows/ci.yml

Lines changed: 52 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ on:
77
pull_request:
88
jobs:
99
test:
10-
name: Julia ${{ matrix.version }} - ${{ matrix.os }} - ${{ matrix.arch }}
10+
name: Julia ${{ matrix.version }} - ${{ matrix.os }} - ${{ matrix.arch }} - ${{ matrix.group }}
1111
runs-on: ${{ matrix.os }}
1212
continue-on-error: ${{ matrix.version == 'nightly' }}
1313
strategy:
@@ -21,8 +21,56 @@ jobs:
2121
- macOS-latest
2222
- windows-latest
2323
arch:
24-
- x86
2524
- x64
25+
include:
26+
- arch: x86
27+
version: '1.6'
28+
os: ubuntu-latest
29+
group: 'group-A'
30+
- arch: x86
31+
version: '1'
32+
os: ubuntu-latest
33+
group: 'group-A'
34+
- arch: x86
35+
version: 'nightly'
36+
os: ubuntu-latest
37+
group: 'group-A'
38+
- arch: x86
39+
version: '1.6'
40+
os: windows-latest
41+
group: 'group-A'
42+
- arch: x86
43+
version: '1'
44+
os: windows-latest
45+
group: 'group-A'
46+
- arch: x86
47+
version: 'nightly'
48+
os: windows-latest
49+
group: 'group-A'
50+
- arch: x86
51+
version: '1.6'
52+
os: ubuntu-latest
53+
group: 'group-B'
54+
- arch: x86
55+
version: '1'
56+
os: ubuntu-latest
57+
group: 'group-B'
58+
- arch: x86
59+
version: 'nightly'
60+
os: ubuntu-latest
61+
group: 'group-B'
62+
- arch: x86
63+
version: '1.6'
64+
os: windows-latest
65+
group: 'group-B'
66+
- arch: x86
67+
version: '1'
68+
os: windows-latest
69+
group: 'group-B'
70+
- arch: x86
71+
version: 'nightly'
72+
os: windows-latest
73+
group: 'group-B'
2674
exclude:
2775
# Remove some configurations from the build matrix to reduce CI time.
2876
# See https://github.com/marketplace/actions/setup-julia-environment
@@ -36,6 +84,8 @@ jobs:
3684
arch: ${{ matrix.arch }}
3785
- uses: julia-actions/julia-buildpkg@latest
3886
- uses: julia-actions/julia-runtest@latest
87+
env:
88+
STATICARRAYS_TEST_GROUP: ${{ matrix.group }}
3989
- uses: julia-actions/julia-uploadcodecov@latest
4090
env:
4191
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}

test/runtests.jl

Lines changed: 57 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -21,51 +21,62 @@ function addtests(fname)
2121
end
2222
end
2323

24-
addtests("SVector.jl")
25-
addtests("MVector.jl")
26-
addtests("SMatrix.jl")
27-
addtests("MMatrix.jl")
28-
addtests("SArray.jl")
29-
addtests("MArray.jl")
30-
addtests("FieldVector.jl")
31-
addtests("FieldMatrix.jl")
32-
addtests("Scalar.jl")
33-
addtests("SUnitRange.jl")
34-
addtests("SizedArray.jl")
35-
addtests("SDiagonal.jl")
36-
addtests("SHermitianCompact.jl")
37-
if VERSION >= v"1.8.0-beta1"
38-
addtests("empty_array_syntax.jl")
24+
TEST_GROUP = get(ENV, "STATICARRAYS_TEST_GROUP", "all")
25+
26+
if TEST_GROUP ["group-A", "group-B"]
27+
println("Using test group: ", TEST_GROUP)
28+
end
29+
30+
if TEST_GROUP ["", "all", "group-A"]
31+
addtests("SVector.jl")
32+
addtests("MVector.jl")
33+
addtests("SMatrix.jl")
34+
addtests("MMatrix.jl")
35+
addtests("SArray.jl")
36+
addtests("MArray.jl")
37+
addtests("FieldVector.jl")
38+
addtests("FieldMatrix.jl")
39+
addtests("Scalar.jl")
40+
addtests("SUnitRange.jl")
41+
addtests("SizedArray.jl")
42+
addtests("SDiagonal.jl")
43+
addtests("SHermitianCompact.jl")
44+
if VERSION >= v"1.8.0-beta1"
45+
addtests("empty_array_syntax.jl")
46+
end
47+
48+
addtests("ambiguities.jl")
49+
addtests("custom_types.jl")
50+
addtests("convert.jl")
51+
addtests("core.jl")
52+
addtests("abstractarray.jl")
53+
addtests("indexing.jl")
54+
addtests("initializers.jl")
55+
addtests("mapreduce.jl")
56+
addtests("sort.jl")
57+
addtests("accumulate.jl")
58+
addtests("arraymath.jl")
59+
addtests("broadcast.jl")
60+
addtests("linalg.jl")
61+
addtests("matrix_multiply.jl")
62+
addtests("matrix_multiply_add.jl")
63+
addtests("triangular.jl")
64+
addtests("det.jl")
65+
addtests("inv.jl")
66+
addtests("pinv.jl")
67+
addtests("solve.jl")
68+
addtests("eigen.jl")
69+
addtests("expm.jl")
70+
addtests("sqrtm.jl")
71+
addtests("lyap.jl")
72+
addtests("lu.jl")
3973
end
4074

41-
addtests("ambiguities.jl")
42-
addtests("custom_types.jl")
43-
addtests("convert.jl")
44-
addtests("core.jl")
45-
addtests("abstractarray.jl")
46-
addtests("indexing.jl")
47-
addtests("initializers.jl")
48-
addtests("mapreduce.jl")
49-
addtests("sort.jl")
50-
addtests("accumulate.jl")
51-
addtests("arraymath.jl")
52-
addtests("broadcast.jl")
53-
addtests("linalg.jl")
54-
addtests("matrix_multiply.jl")
55-
addtests("matrix_multiply_add.jl")
56-
addtests("triangular.jl")
57-
addtests("det.jl")
58-
addtests("inv.jl")
59-
addtests("pinv.jl")
60-
addtests("solve.jl")
61-
addtests("eigen.jl")
62-
addtests("expm.jl")
63-
addtests("sqrtm.jl")
64-
addtests("lyap.jl")
65-
addtests("lu.jl")
66-
addtests("qr.jl")
67-
addtests("chol.jl") # hermitian_type(::Type{Any}) for block algorithm
68-
addtests("deque.jl")
69-
addtests("flatten.jl")
70-
addtests("io.jl")
71-
addtests("svd.jl")
75+
if TEST_GROUP ["", "all", "group-B"]
76+
addtests("qr.jl")
77+
addtests("chol.jl") # hermitian_type(::Type{Any}) for block algorithm
78+
addtests("deque.jl")
79+
addtests("flatten.jl")
80+
addtests("io.jl")
81+
addtests("svd.jl")
82+
end

0 commit comments

Comments
 (0)