aboutsummaryrefslogtreecommitdiff
path: root/src/secp256k1/.cirrus.yml
diff options
context:
space:
mode:
Diffstat (limited to 'src/secp256k1/.cirrus.yml')
-rw-r--r--src/secp256k1/.cirrus.yml70
1 files changed, 51 insertions, 19 deletions
diff --git a/src/secp256k1/.cirrus.yml b/src/secp256k1/.cirrus.yml
index 51e3bc9484..0b904a4e38 100644
--- a/src/secp256k1/.cirrus.yml
+++ b/src/secp256k1/.cirrus.yml
@@ -1,6 +1,9 @@
env:
+ ### cirrus config
+ CIRRUS_CLONE_DEPTH: 1
### compiler options
HOST:
+ WRAPPER_CMD:
# Specific warnings can be disabled with -Wno-error=foo.
# -pedantic-errors is not equivalent to -Werror=pedantic and thus not implied by -Werror according to the GCC manual.
WERROR_CFLAGS: -Werror -pedantic-errors
@@ -22,7 +25,7 @@ env:
SECP256K1_TEST_ITERS:
BENCH: yes
SECP256K1_BENCH_ITERS: 2
- CTIMETEST: yes
+ CTIMETESTS: yes
# Compile and run the tests
EXAMPLES: yes
@@ -35,10 +38,12 @@ cat_logs_snippet: &CAT_LOGS
always:
cat_tests_log_script:
- cat tests.log || true
+ cat_noverify_tests_log_script:
+ - cat noverify_tests.log || true
cat_exhaustive_tests_log_script:
- cat exhaustive_tests.log || true
- cat_valgrind_ctime_test_log_script:
- - cat valgrind_ctime_test.log || true
+ cat_ctime_tests_log_script:
+ - cat ctime_tests.log || true
cat_bench_log_script:
- cat bench.log || true
cat_config_log_script:
@@ -51,10 +56,8 @@ cat_logs_snippet: &CAT_LOGS
merge_base_script_snippet: &MERGE_BASE
merge_base_script:
- if [ "$CIRRUS_PR" = "" ]; then exit 0; fi
- - git fetch $CIRRUS_REPO_CLONE_URL $CIRRUS_BASE_BRANCH
- - git config --global user.email "ci@ci.ci"
- - git config --global user.name "ci"
- - git merge FETCH_HEAD # Merge base to detect silent merge conflicts
+ - git fetch --depth=1 $CIRRUS_REPO_CLONE_URL "pull/${CIRRUS_PR}/merge"
+ - git checkout FETCH_HEAD # Use merged changes to detect silent merge conflicts
linux_container_snippet: &LINUX_CONTAINER
container:
@@ -78,9 +81,10 @@ task:
- env: {WIDEMUL: int128, ECDH: yes, SCHNORRSIG: yes}
- env: {WIDEMUL: int128, ASM: x86_64}
- env: { RECOVERY: yes, SCHNORRSIG: yes}
- - env: {BUILD: distcheck, WITH_VALGRIND: no, CTIMETEST: no, BENCH: no}
+ - env: {CTIMETESTS: no, RECOVERY: yes, ECDH: yes, SCHNORRSIG: yes, CPPFLAGS: -DVERIFY}
+ - env: {BUILD: distcheck, WITH_VALGRIND: no, CTIMETESTS: no, BENCH: no}
- env: {CPPFLAGS: -DDETERMINISTIC}
- - env: {CFLAGS: -O0, CTIMETEST: no}
+ - env: {CFLAGS: -O0, CTIMETESTS: no}
- env: { ECMULTGENPRECISION: 2, ECMULTWINDOW: 2 }
- env: { ECMULTGENPRECISION: 8, ECMULTWINDOW: 4 }
matrix:
@@ -125,7 +129,7 @@ task:
env:
ASM: no
WITH_VALGRIND: no
- CTIMETEST: no
+ CTIMETESTS: no
matrix:
- env:
CC: gcc
@@ -150,7 +154,7 @@ task:
ECDH: yes
RECOVERY: yes
SCHNORRSIG: yes
- CTIMETEST: no
+ CTIMETESTS: no
<< : *MERGE_BASE
test_script:
# https://sourceware.org/bugzilla/show_bug.cgi?id=27008
@@ -169,7 +173,7 @@ task:
ECDH: yes
RECOVERY: yes
SCHNORRSIG: yes
- CTIMETEST: no
+ CTIMETESTS: no
matrix:
- env: {}
- env: {EXPERIMENTAL: yes, ASM: arm}
@@ -189,7 +193,7 @@ task:
ECDH: yes
RECOVERY: yes
SCHNORRSIG: yes
- CTIMETEST: no
+ CTIMETESTS: no
<< : *MERGE_BASE
test_script:
- ./ci/cirrus.sh
@@ -206,7 +210,7 @@ task:
ECDH: yes
RECOVERY: yes
SCHNORRSIG: yes
- CTIMETEST: no
+ CTIMETESTS: no
<< : *MERGE_BASE
test_script:
- ./ci/cirrus.sh
@@ -220,7 +224,7 @@ task:
ECDH: yes
RECOVERY: yes
SCHNORRSIG: yes
- CTIMETEST: no
+ CTIMETESTS: no
matrix:
- name: "x86_64 (mingw32-w64): Windows (Debian stable, Wine)"
env:
@@ -243,7 +247,7 @@ task:
RECOVERY: yes
EXPERIMENTAL: yes
SCHNORRSIG: yes
- CTIMETEST: no
+ CTIMETESTS: no
# Use a MinGW-w64 host to tell ./configure we're building for Windows.
# This will detect some MinGW-w64 tools but then make will need only
# the MSVC tools CC, AR and NM as specified below.
@@ -254,7 +258,7 @@ task:
# Set non-essential options that affect the CLI messages here.
# (They depend on the user's taste, so we don't want to set them automatically in configure.ac.)
CFLAGS: -nologo -diagnostics:caret
- LDFLAGS: -XCClinker -nologo -XCClinker -diagnostics:caret
+ LDFLAGS: -Xlinker -Xlinker -Xlinker -nologo
matrix:
- name: "x86_64 (MSVC): Windows (Debian stable, Wine)"
- name: "x86_64 (MSVC): Windows (Debian stable, Wine, int128_struct)"
@@ -282,7 +286,7 @@ task:
ECDH: yes
RECOVERY: yes
SCHNORRSIG: yes
- CTIMETEST: no
+ CTIMETESTS: no
matrix:
- name: "Valgrind (memcheck)"
container:
@@ -327,10 +331,11 @@ task:
ECDH: yes
RECOVERY: yes
SCHNORRSIG: yes
- CTIMETEST: no
+ CTIMETESTS: yes
CC: clang
SECP256K1_TEST_ITERS: 32
ASM: no
+ WITH_VALGRIND: no
container:
memory: 2G
matrix:
@@ -375,3 +380,30 @@ task:
test_script:
- cd sage
- sage prove_group_implementations.sage
+
+task:
+ name: "x86_64: Windows (VS 2022)"
+ windows_container:
+ image: cirrusci/windowsservercore:visualstudio2022
+ cpu: 4
+ memory: 3840MB
+ env:
+ PATH: '%CIRRUS_WORKING_DIR%\build\src\RelWithDebInfo;%PATH%'
+ x64_NATIVE_TOOLS: '"C:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\VC\Auxiliary\Build\vcvars64.bat"'
+ # Ignore MSBuild warning MSB8029.
+ # See: https://learn.microsoft.com/en-us/visualstudio/msbuild/errors/msb8029?view=vs-2022
+ IgnoreWarnIntDirInTempDetected: 'true'
+ merge_script:
+ - PowerShell -NoLogo -Command if ($env:CIRRUS_PR -ne $null) { git fetch $env:CIRRUS_REPO_CLONE_URL pull/$env:CIRRUS_PR/merge; git reset --hard FETCH_HEAD; }
+ configure_script:
+ - '%x64_NATIVE_TOOLS%'
+ - cmake -G "Visual Studio 17 2022" -A x64 -S . -B build -DSECP256K1_ENABLE_MODULE_RECOVERY=ON -DSECP256K1_BUILD_EXAMPLES=ON
+ build_script:
+ - '%x64_NATIVE_TOOLS%'
+ - cmake --build build --config RelWithDebInfo -- -property:UseMultiToolTask=true;CL_MPcount=5
+ check_script:
+ - '%x64_NATIVE_TOOLS%'
+ - ctest --test-dir build -j 5
+ - build\src\RelWithDebInfo\bench_ecmult.exe
+ - build\src\RelWithDebInfo\bench_internal.exe
+ - build\src\RelWithDebInfo\bench.exe