From d8936f171e3eef877e7b11ed892e5515e9463335 Mon Sep 17 00:00:00 2001 From: Tim Ruffing Date: Wed, 15 Dec 2021 14:41:23 +0100 Subject: [PATCH] ci: Optimize build matrix --- .cirrus.yml | 28 +++++++++++++++------------- 1 file changed, 15 insertions(+), 13 deletions(-) diff --git a/.cirrus.yml b/.cirrus.yml index 11fa9e462f..1f872042e4 100644 --- a/.cirrus.yml +++ b/.cirrus.yml @@ -5,7 +5,8 @@ env: # -pedantic-errors is not equivalent to -Werror=pedantic and thus not implied by -Werror according to the GCC manual. WERROR_CFLAGS: -Werror -pedantic-errors MAKEFLAGS: -j4 - BUILD: check + # Run check and then distcheck. + BUILD: "distcheck check" ### secp256k1 config ECMULTWINDOW: auto ECMULTGENPRECISION: auto @@ -64,18 +65,19 @@ task: name: "x86_64: Linux (Debian stable)" << : *LINUX_CONTAINER matrix: &ENV_MATRIX - - env: {WIDEMUL: int64, RECOVERY: yes} - - env: {WIDEMUL: int64, ECDH: yes, EXPERIMENTAL: yes, SCHNORRSIG: yes} - - env: {WIDEMUL: int128} - - env: {WIDEMUL: int128, RECOVERY: yes, EXPERIMENTAL: yes, SCHNORRSIG: yes} - - env: {WIDEMUL: int128, ECDH: yes, EXPERIMENTAL: yes, SCHNORRSIG: yes} - - env: {WIDEMUL: int128, ASM: x86_64} - - env: { RECOVERY: yes, EXPERIMENTAL: yes, SCHNORRSIG: yes} - - env: {BUILD: distcheck, WITH_VALGRIND: no, CTIMETEST: no, BENCH: no} - - env: {CPPFLAGS: -DDETERMINISTIC} - - env: {CFLAGS: -O0, CTIMETEST: no} - - env: { ECMULTGENPRECISION: 2, ECMULTWINDOW: 4 } - - env: { ECMULTGENPRECISION: 8, ECMULTWINDOW: 8 } + # Enable all modules and test with all common configuration (WIDEMUL, ASM, some ECMULTWINDOW, some ECMULTGENPRECISION). + # Sneak in rare build options (CFLAGS: "-O0 -g", CTIMETEST: no, WITH_VALGRIND: no, BENCH: no, CPPFLAGS: -DDETERMINISTIC) at random positions. + - env: { WIDEMUL: int64, RECOVERY: yes, ECDH: yes, EXPERIMENTAL: yes, SCHNORRSIG: yes } + - env: { WIDEMUL: int64, RECOVERY: yes, ECDH: yes, EXPERIMENTAL: yes, SCHNORRSIG: yes, CFLAGS: "-O0 -g", CTIMETEST: no, WITH_VALGRIND: no } + - env: { WIDEMUL: int128, RECOVERY: yes, ECDH: yes, EXPERIMENTAL: yes, SCHNORRSIG: yes } + - env: { WIDEMUL: int128, RECOVERY: yes, ECDH: yes, EXPERIMENTAL: yes, SCHNORRSIG: yes, ASM: x86_64 } + - env: { WIDEMUL: int128, RECOVERY: yes, ECDH: yes, EXPERIMENTAL: yes, SCHNORRSIG: yes, ASM: x86_64, ECMULTWINDOW: 4, ECMULTGENPRECISION: 2 } + - env: { WIDEMUL: int128, RECOVERY: yes, ECDH: yes, EXPERIMENTAL: yes, SCHNORRSIG: yes, ECMULTWINDOW: 8, ECMULTGENPRECISION: 8, CPPFLAGS: -DDETERMINISTIC } + - env: { WIDEMUL: int128, RECOVERY: yes, ECDH: yes, EXPERIMENTAL: yes, SCHNORRSIG: yes, CFLAGS: "-O0 -g", CTIMETEST: no, BENCH: no } + # No special settings, this is also useful to test autodetection + - env: { } + # Only non-experimental modules + - env: { RECOVERY: yes, ECDH: yes } matrix: - env: CC: gcc