.cirrus.yml raw
1 env:
2 ### cirrus config
3 CIRRUS_CLONE_DEPTH: 1
4 ### compiler options
5 HOST:
6 WRAPPER_CMD:
7 # Specific warnings can be disabled with -Wno-error=foo.
8 # -pedantic-errors is not equivalent to -Werror=pedantic and thus not implied by -Werror according to the GCC manual.
9 WERROR_CFLAGS: -Werror -pedantic-errors
10 MAKEFLAGS: -j4
11 BUILD: check
12 ### secp256k1 config
13 ECMULTWINDOW: 15
14 ECMULTGENKB: 22
15 ASM: no
16 WIDEMUL: auto
17 WITH_VALGRIND: yes
18 EXTRAFLAGS:
19 ### secp256k1 modules
20 EXPERIMENTAL: no
21 ECDH: no
22 RECOVERY: no
23 EXTRAKEYS: no
24 SCHNORRSIG: no
25 MUSIG: no
26 ELLSWIFT: no
27 ### test options
28 SECP256K1_TEST_ITERS: 64
29 BENCH: yes
30 SECP256K1_BENCH_ITERS: 2
31 CTIMETESTS: yes
32 # Compile and run the tests
33 EXAMPLES: yes
34
35 cat_logs_snippet: &CAT_LOGS
36 always:
37 cat_tests_log_script:
38 - cat tests.log || true
39 cat_noverify_tests_log_script:
40 - cat noverify_tests.log || true
41 cat_exhaustive_tests_log_script:
42 - cat exhaustive_tests.log || true
43 cat_ctime_tests_log_script:
44 - cat ctime_tests.log || true
45 cat_bench_log_script:
46 - cat bench.log || true
47 cat_config_log_script:
48 - cat config.log || true
49 cat_test_env_script:
50 - cat test_env.log || true
51 cat_ci_env_script:
52 - env
53
54 linux_arm64_container_snippet: &LINUX_ARM64_CONTAINER
55 env_script:
56 - env | tee /tmp/env
57 build_script:
58 - DOCKER_BUILDKIT=1 docker build --file "ci/linux-debian.Dockerfile" --tag="ci_secp256k1_arm"
59 - docker image prune --force # Cleanup stale layers
60 test_script:
61 - docker run --rm --mount "type=bind,src=./,dst=/ci_secp256k1" --env-file /tmp/env --replace --name "ci_secp256k1_arm" "ci_secp256k1_arm" bash -c "cd /ci_secp256k1/ && ./ci/ci.sh"
62
63 task:
64 name: "ARM64: Linux (Debian stable)"
65 persistent_worker:
66 labels:
67 type: arm64
68 env:
69 ECDH: yes
70 RECOVERY: yes
71 EXTRAKEYS: yes
72 SCHNORRSIG: yes
73 MUSIG: yes
74 ELLSWIFT: yes
75 matrix:
76 # Currently only gcc-snapshot, the other compilers are tested on GHA with QEMU
77 - env: { CC: 'gcc-snapshot' }
78 << : *LINUX_ARM64_CONTAINER
79 << : *CAT_LOGS
80
81 task:
82 name: "ARM64: Linux (Debian stable), Valgrind"
83 persistent_worker:
84 labels:
85 type: arm64
86 env:
87 ECDH: yes
88 RECOVERY: yes
89 EXTRAKEYS: yes
90 SCHNORRSIG: yes
91 MUSIG: yes
92 ELLSWIFT: yes
93 WRAPPER_CMD: 'valgrind --error-exitcode=42'
94 SECP256K1_TEST_ITERS: 2
95 matrix:
96 - env: { CC: 'gcc' }
97 - env: { CC: 'clang' }
98 - env: { CC: 'gcc-snapshot' }
99 - env: { CC: 'clang-snapshot' }
100 << : *LINUX_ARM64_CONTAINER
101 << : *CAT_LOGS
102