Commit Graph

77 Commits

Author SHA1 Message Date
Hennadii Stepanov
3cca6451a2 ci: Bump GCC snapshot major version to 17
See https://gcc.gnu.org/pipermail/gcc/2026-April/248048.html.
2026-04-27 06:28:45 +01:00
Hennadii Stepanov
76e92cfeea Revert "ci, docker: Fix LLVM repository signature failure"
This reverts commit 0ffb1749a5.
2026-02-20 08:42:32 +00:00
Hennadii Stepanov
0ffb1749a5 ci, docker: Fix LLVM repository signature failure
The LLVM apt repository uses legacy SHA1 signatures which are now
rejected by the stricter Sequoia PGP policy.

This change extends the 'sha1.second_preimage_resistance' cutoff date to
9999-01-01 in the default Sequoia config. This effectively whitelists
the legacy signature algorithm, preventing "OpenPGP signature
verification failed" errors during `apt-get update`.

See https://github.com/llvm/llvm-project/issues/153385.
2026-02-01 18:51:16 +00:00
Hennadii Stepanov
c09519f0e3 ci: Drop workaround for Valgrind older than 3.20.0 2025-10-15 15:20:38 +01:00
Hennadii Stepanov
53585f93b7 ci: Use clang-snapshot in "MSan" job 2025-10-14 11:19:45 +01:00
Hennadii Stepanov
f163c35897 ci: Set DEBIAN_FRONTEND=noninteractive
This suppresses `debconf: unable to initialize frontend: ...` warnings.
2025-10-13 15:54:47 +01:00
Maximilian Hubert
24ba8ff168 chore(ci): Fix typo in Dockerfile comment 2025-08-09 23:51:04 +02:00
Tim Ruffing
f67b0ac1a0 ci: Don't hardcode ABI version 2025-07-21 17:22:05 +02:00
Hennadii Stepanov
add146e101 ci: Bump GCC snapshot major version to 16 2025-06-19 21:12:05 +01:00
Tim Ruffing
d87c3bc58f ci: Fix exiting from ci.sh on error
Fixes the following bash error when make fails:
    ./ci/ci.sh: line 100: return: can only `return' from a function or
    sourced script
2025-03-13 12:08:20 +01:00
Hennadii Stepanov
8ed1d83d92 ci: Run tools/symbol-check.py 2025-03-11 21:59:35 +00:00
Jonas Nick
f411841a46 Add module "musig" that implements MuSig2 multi-signatures (BIP 327) 2024-10-07 14:03:42 +00:00
maflcko
e34b476730 ci: Bump GCC_SNAPSHOT_MAJOR to 15 2024-08-12 19:41:04 +02:00
Jonas Nick
763d938cf0 ci: only enable extrakeys module when schnorrsig is enabled 2024-07-24 06:57:42 +00:00
Pieter Wuille
ed2a056f3d Provide 3 configurations accessible through ./configure 2024-04-19 11:43:26 -04:00
Tim Ruffing
a5e8ab2484 ci: Add sanitizer env variables to debug output 2024-03-19 23:52:15 +01:00
Hennadii Stepanov
8185e72d29 ci: Ignore internal errors in snapshot compilers 2023-11-08 17:51:52 +00:00
MarcoFalke
fa4d6c76b6 ci/cirrus: Add native ARM64 persistent workers
Co-authored-by: Tim Ruffing <crypto@timruffing.de>
2023-09-20 17:09:54 +00:00
Tim Ruffing
e78c7b68eb ci/Dockerfile: Reduce size of Docker image further
- No need to have wget installed
 - Clean up rm -rf /var/lib/apt/lists/, see
   https://docs.docker.com/develop/develop-images/dockerfile_best-practices/#apt-get
2023-09-03 11:31:35 +02:00
Tim Ruffing
2f0d3bbffb ci/Dockerfile: Warn if ulimit -n is too high when running Docker
The underlying issue does not affect our CI hosts, but is an issue on my
development machine (Arch Linux). In particular, this affects the vanilla
configuration of Docker on systemd, which has effectively no limit:
11400a3f5a/pkg/docker-engine/common/systemd/docker.service (L31)

I hope this saves future generations some precious hours of their life.
2023-09-03 11:31:35 +02:00
Tim Ruffing
6ebe7d2bb3 ci/Dockerfile: Always use versioned clang packages
This commit switches to a new strategy to make sure we're installing the
most recent LLVM packages. Before this commit, we used the unversioned
LLVM packages (e.g., `clang` instead of `clang-18`), which are supposed
to provide the latest snapshot, but this is broken for arm64 [1],
which we want to add in a later PR.

Anyway, the new approach is cleaner because it does not require us to
fiddle with the installed `clang` package by removing a symlink.

[1] https://github.com/llvm/llvm-project/issues/64790

Co-authored-by: Hennadii Stepanov <32963518+hebasto@users.noreply.github.com>
2023-09-03 11:29:44 +02:00
Tim Ruffing
ad3e65d9fe ci: Remove GCC build files and sage to reduce size of Docker image 2023-08-18 13:52:28 +01:00
Hennadii Stepanov
87d35f30c0 ci: Rename cirrus.sh to more general ci.sh
This makes sense in the process of moving stuff to GitHub Actions.
2023-08-18 10:57:58 +01:00
Hennadii Stepanov
d78bec7001 ci: Remove Windows MSVC tasks from Cirrus CI
Co-authored-by: Tim Ruffing <crypto@timruffing.de>
2023-08-17 10:13:38 +01:00
Hennadii Stepanov
d62db57427 ci: Use Homebrew's gcc in native macOS task
Co-authored-by: Tim Ruffing <crypto@timruffing.de>
2023-08-16 14:39:58 +01:00
Hennadii Stepanov
8408dfdc4c Revert "ci: Run sage prover on CI"
This reverts commit d8d54859ed.
2023-08-14 14:28:54 +01:00
Jonas Nick
4692478853 ci: print $ELLSWIFT in cirrus.sh 2023-07-27 10:20:50 +00:00
Tim Ruffing
981e5be38c ci: Fix typo in comment 2023-07-06 20:19:07 +02:00
Tim Ruffing
1deecaaf3b ci: Install development snapshots of gcc and clang
TODO: Make sure the Docker image is actually rebuild
2023-07-06 20:19:04 +02:00
Tim Ruffing
98579e297b ci: Drop manual checkout of merge commit
This is no longer necessary as of
https://github.com/cirruslabs/cirrus-ci-docs/issues/791#issuecomment-1615691585 .
2023-07-01 13:01:57 +02:00
Hennadii Stepanov
c862a9fb49 ci: Adjust Docker image to Debian 12 "bookworm" 2023-06-26 10:24:15 +01:00
Hennadii Stepanov
a1782098a9 ci: Force DWARF v4 for Clang when Valgrind tests are expected 2023-06-26 10:03:19 +01:00
Pieter Wuille
4f091847c2 Add ellswift testing to CI 2023-06-20 11:31:58 -04:00
Tim Ruffing
db29bf220c ci: Remove quirk that runs dummy command after wineserver
The underlying issue is now worked around in upstream, see
https://github.com/mstorsjo/msvc-wine/issues/47 for details.
2023-06-03 09:08:38 +01:00
Hennadii Stepanov
c7db4942b3 ci: Fix error D8037 in cl.exe 2023-06-03 09:08:31 +01:00
Hennadii Stepanov
7dae115861 Revert "ci: Move wine prefix to /tmp to avoid error D8037 in cl.exe"
This reverts commit 27504d5c94.
2023-06-02 16:13:29 +01:00
Tim Ruffing
27504d5c94 ci: Move wine prefix to /tmp to avoid error D8037 in cl.exe
Don't ask me why this makes a difference. It may be some permission
problem even though everything in Cirrus CI runs as root anyway. In
any case, I'll probably get mad if I investigate this further.

Fixes #1326.
2023-05-24 14:28:05 +02:00
RandomLattice
e5de454609 tests: Add Wycheproof ECDSA vectors
Adds a test using the Wycheproof vectors as outlined in #1106. The
vectors are taken from the Wycheproof repo. We use a python script
to convert the JSON-formatted vectors into C code.

Co-authored-by: Sean Andersen <6730974+andozw@users.noreply.github.com>
2023-04-09 06:17:16 +02:00
Tim Ruffing
e4330341bd ci: Shutdown wineserver whenever CI script exits
Before: CI times out when a wine task fails.
After:  Wine tasks exit properly when they fail.
2023-02-06 21:44:56 +01:00
Pieter Wuille
0f088ec112 Rename CTIMETEST -> CTIMETESTS 2023-01-11 16:07:37 -05:00
Pieter Wuille
5e2e6fcfc0 Run ctime test in Linux MSan CI job 2023-01-11 16:07:37 -05:00
Pieter Wuille
5048be17e9 Rename valgrind_ctime_test -> ctime_tests 2023-01-11 16:07:37 -05:00
Jonas Nick
7a74688201 ci: add missing CFLAGS & CPPFLAGS variable to print_environment 2022-12-19 13:22:28 +00:00
Jonas Nick
c2e0fdadeb ci: set -u in cirrus.sh to treat unset variables as an error 2022-12-19 13:22:18 +00:00
Tim Ruffing
44916ae915 Merge bitcoin-core/secp256k1#1147: ci: print env to allow reproducing the job outside of CI
4e54c03153 ci: print env to allow reproducing the job outside of CI (Jonas Nick)

Pull request description:

  Example output:

  ```
  WERROR_CFLAGS="-Werror -pedantic-errors"  MAKEFLAGS="-j4"  BUILD="check"  ECMULTWINDOW="auto"  ECMULTGENPRECISION="auto"  ASM="no"  WIDEMUL="int64"  WITH_VALGRIND="no"  EXTRAFLAGS=""  EXPERIMENTAL="no"  ECDH="no"  RECOVERY="yes"  SCHNORRSIG="no"  SECP256K1_TEST_ITERS=""  BENCH="yes"  SECP256K1_BENCH_ITERS="2"  CTIMETEST="yes"  EXAMPLES="yes"  WRAPPER_CMD=""  CC="gcc"  AR=""  NM=""  HOST=""  ./ci/cirrus.sh
  ```

ACKs for top commit:
  sipa:
    ACK 4e54c03153
  real-or-random:
    ACK 4e54c03153

Tree-SHA512: b74a8724e72b3de7884e4d93fe933dc5043aec37020672b7997a8faebda3b0cbbba1bca69c344109729261ab4a94e76f4eca0d8773dc101a443fdf9e0d7d54f5
2022-11-14 18:01:49 -05:00
Jonas Nick
49ae843592 ci: mostly prevent "-v/--version: not found" irrelevant error
$CC, $WRAPPER_CMD and valgrind are not necessarily defined
2022-11-02 17:13:21 +00:00
Jonas Nick
4e54c03153 ci: print env to allow reproducing the job outside of CI 2022-11-02 15:57:14 +00:00
Tim Ruffing
51f296a46c ci: Run persistent wineserver to speed up wine 2022-06-29 11:05:40 +02:00
Tim Ruffing
9efc2e5221 ci: Add MSVC builds
This adds MSVC builds built on Linux using wine. This requires some
settings of tools and flags because the autotools support for MSVC is
naturally somewhat limited.

The advantage of this approach is that it is compatible with our
existing CI scripts, so there's no need to write a Windows CI script
(in PowerShell or similar). If we want to test building and running on
Windows native (e.g., as supported by Cirrus CI) we could still do this
in the future.

Another advantage of this approach is that contributors can simply use
the docker image if they need a MSVC installation in a non-Windows
environment.

This commit also improves the Dockerfile by grouping RUN commands
according to Docker docs:
https://docs.docker.com/develop/develop-images/dockerfile_best-practices/#run
2022-06-29 11:05:40 +02:00
Jonas Nick
64b34979ed Merge bitcoin-core/secp256k1#748: Add usage examples
7c9502cece Add a copy of the CC0 license to the examples (Elichai Turkel)
42e03432e6 Add usage examples to the readme (Elichai Turkel)
517644eab1 Optionally compile the examples in autotools, compile+run in travis (Elichai Turkel)
422a7cc86a Add a ecdh shared secret example (Elichai Turkel)
b0cfbcc143 Add a Schnorr signing and verifying example (Elichai Turkel)
fee7d4bf9e Add an ECDSA signing and verifying example (Elichai Turkel)

Pull request description:

ACKs for top commit:
  real-or-random:
    ACK 7c9502cece
  jonasnick:
    ACK 7c9502cece

Tree-SHA512: c475cfd5b324b1e2d7126aa5bb1e7da25183b50adb7357d464c140de83d9097cb1bdc027d09aeadf167dbf9c8afd123235b0a1a742c5795089862418fafa1964
2022-02-23 17:37:58 +00:00