Skip to content

Commit dacab1b

Browse files
ci: Optimize build matrix
1 parent 2168b1d commit dacab1b

File tree

1 file changed

+16
-15
lines changed

1 file changed

+16
-15
lines changed

.cirrus.yml

+16-15
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,8 @@ env:
55
# -pedantic-errors is not equivalent to -Werror=pedantic and thus not implied by -Werror according to the GCC manual.
66
WERROR_CFLAGS: -Werror -pedantic-errors
77
MAKEFLAGS: -j4
8-
BUILD: check
8+
# Run check and then distcheck.
9+
BUILD: "distcheck check"
910
### secp256k1 config
1011
ECMULTWINDOW: auto
1112
ECMULTGENPRECISION: auto
@@ -64,18 +65,19 @@ task:
6465
name: "x86_64: Linux (Debian stable)"
6566
<< : *LINUX_CONTAINER
6667
matrix: &ENV_MATRIX
67-
- env: {WIDEMUL: int64, RECOVERY: yes}
68-
- env: {WIDEMUL: int64, ECDH: yes, EXPERIMENTAL: yes, SCHNORRSIG: yes}
69-
- env: {WIDEMUL: int128}
70-
- env: {WIDEMUL: int128, RECOVERY: yes, EXPERIMENTAL: yes, SCHNORRSIG: yes}
71-
- env: {WIDEMUL: int128, ECDH: yes, EXPERIMENTAL: yes, SCHNORRSIG: yes}
72-
- env: {WIDEMUL: int128, ASM: x86_64}
73-
- env: { RECOVERY: yes, EXPERIMENTAL: yes, SCHNORRSIG: yes}
74-
- env: {BUILD: distcheck, WITH_VALGRIND: no, CTIMETEST: no, BENCH: no}
75-
- env: {CPPFLAGS: -DDETERMINISTIC}
76-
- env: {CFLAGS: -O0, CTIMETEST: no}
77-
- env: { ECMULTGENPRECISION: 2, ECMULTWINDOW: 4 }
78-
- env: { ECMULTGENPRECISION: 8, ECMULTWINDOW: 8 }
68+
# Enable all modules and test with all common configuration (WIDEMUL, ASM, some ECMULTWINDOW, some ECMULTGENPRECISION).
69+
# Sneak in rare build options (CFLAGS: "-O0 -g", CTIMETEST: no, WITH_VALGRIND: no, BENCH: no, CPPFLAGS: -DDETERMINISTIC) at random positions.
70+
- env: { WIDEMUL: int64, RECOVERY: yes, ECDH: yes, EXPERIMENTAL: yes, SCHNORRSIG: yes }
71+
- env: { WIDEMUL: int64, RECOVERY: yes, ECDH: yes, EXPERIMENTAL: yes, SCHNORRSIG: yes, CFLAGS: "-O0 -g", CTIMETEST: no, WITH_VALGRIND: no }
72+
- env: { WIDEMUL: int128, RECOVERY: yes, ECDH: yes, EXPERIMENTAL: yes, SCHNORRSIG: yes }
73+
- env: { WIDEMUL: int128, RECOVERY: yes, ECDH: yes, EXPERIMENTAL: yes, SCHNORRSIG: yes, ASM: x86_64 }
74+
- env: { WIDEMUL: int128, RECOVERY: yes, ECDH: yes, EXPERIMENTAL: yes, SCHNORRSIG: yes, ASM: x86_64, ECMULTWINDOW: 4, ECMULTGENPRECISION: 2 }
75+
- env: { WIDEMUL: int128, RECOVERY: yes, ECDH: yes, EXPERIMENTAL: yes, SCHNORRSIG: yes, ECMULTWINDOW: 8, ECMULTGENPRECISION: 8, CPPFLAGS: -DDETERMINISTIC }
76+
- env: { WIDEMUL: int128, RECOVERY: yes, ECDH: yes, EXPERIMENTAL: yes, SCHNORRSIG: yes, CFLAGS: "-O0 -g", CTIMETEST: no, BENCH: no }
77+
# No special settings, this is also useful to test autodetection
78+
- env: { }
79+
# Only non-experimental modules
80+
- env: { RECOVERY: yes, ECDH: yes }
7981
matrix:
8082
- env:
8183
CC: gcc
@@ -114,8 +116,7 @@ task:
114116
HOMEBREW_NO_INSTALL_CLEANUP: 1
115117
# Cirrus gives us a fixed number of 12 virtual CPUs. Not that we even have that many jobs at the moment...
116118
MAKEFLAGS: -j13
117-
matrix:
118-
<< : *ENV_MATRIX
119+
<< : *ENV_MATRIX
119120
matrix:
120121
- env:
121122
CC: gcc-9

0 commit comments

Comments
 (0)