Skip to content

Commit 5600e6f

Browse files
committed
Squashed 'src/secp256k1/' changes from 4187a46649..b9313c6e1a
b9313c6e1a Merge bitcoin-core/secp256k1#1708: release cleanup: bump version after 0.7.0 a660a4976e Merge bitcoin-core/secp256k1#1707: release: Prepare for 0.7.0 7ab8b0cc01 release cleanup: bump version after 0.7.0 a3e742d947 release: Prepare for 0.7.0 f67b0ac1a0 ci: Don't hardcode ABI version 020ee60495 Merge bitcoin-core/secp256k1#1706: musig/tests: initialize keypair cde4130898 musig/tests: initialize keypair 6037833c9e Merge bitcoin-core/secp256k1#1702: changelog: update 40b4a06520 changelog: update 5e74086dc8 Merge bitcoin-core/secp256k1#1705: musig/test: Remove dead code 7c3380423c Merge bitcoin-core/secp256k1#1696: build: Refactor visibility logic and add override 8d967a602b musig/test: Remove dead code 983711cd6d musig/tests: Refactor vectors_signverify 73a695958a Merge bitcoin-core/secp256k1#1704: cmake: Make `secp256k1_objs` inherit interface defines from `secp256k1` bf082221ff cmake: Make `secp256k1_objs` inherit interface defines from `secp256k1` c82d84bb86 build: add CMake option for disabling symbol visibility attributes ce7923874f build: Add SECP256K1_NO_API_VISIBILITY_ATTRIBUTES e5297f6d79 build: Refactor visibility logic cbbbf3bd6e Merge bitcoin-core/secp256k1#1699: ci: enable musig module for native macOS arm64 job 943479a7a3 Merge bitcoin-core/secp256k1#1694: Revert "cmake: configure libsecp256k1.pc during install" 3352f9d667 ci: enable musig module for native macOS arm64 job ad60ef7ea7 Merge bitcoin-core/secp256k1#1689: ci: Convert `arm64` Cirrus tasks to GHA jobs c498779096 Merge bitcoin-core/secp256k1#1687: cmake: support the use of launchers in ctest -S scripts 44b205e9ee Revert "cmake: configure libsecp256k1.pc during install" 0dfe387dbe cmake: support the use of launchers in ctest -S scripts 89096c234d Merge bitcoin-core/secp256k1#1692: cmake: configure libsecp256k1.pc during install 7106dce6fd cmake: configure libsecp256k1.pc during install 29e73f4ba5 Merge bitcoin-core/secp256k1#1685: cmake: Emulate Libtool's behavior on FreeBSD 746e36b141 Merge bitcoin-core/secp256k1#1678: cmake: add a helper for linking into static libs a28c2ffa5c Merge bitcoin-core/secp256k1#1683: README: add link to musig example 2a9d374735 Merge bitcoin-core/secp256k1#1690: ci: Bump GCC snapshot major version to 16 add146e101 ci: Bump GCC snapshot major version to 16 004f57fcd8 ci: Move Valgrind build for `arm64` from Cirrus to GHA 5fafdfc30f ci: Move `gcc-snapshot` build for `arm64` from Cirrus to GHA e814b79a8b ci: Switch `arm64_debian` from QEMU to native `arm64` Docker image bcf77346b9 ci: Add `arm64` architecture to `docker_cache` job b77aae9226 ci: Rename Docker image tag to reflect architecture 145ae3e28d cmake: add a helper for linking into static libs 819210974b README: add link to musig example, generalize module enabling hint 95db29b144 Merge bitcoin-core/secp256k1#1679: cmake: Use `PUBLIC_HEADER` target property in installation logic 37dd422b5c cmake: Emulate Libtool's behavior on FreeBSD f24b838bed Merge bitcoin-core/secp256k1#1680: doc: Promote "Building with CMake" to standard procedure 3f31ac43e0 doc: Promote "Building with CMake" to standard procedure 6f67151ee2 cmake: Use `PUBLIC_HEADER` target property c32715b2a0 cmake, move-only: Move module option processing to `src/CMakeLists.txt` 201b2b8f06 Merge bitcoin-core/secp256k1#1675: cmake: Bump minimum required CMake version to 3.22 3af71987a8 cmake: Bump minimum required CMake version to 3.22 92394476e9 Merge bitcoin-core/secp256k1#1673: Assert field magnitude at control-flow join 3a4f448cb4 Assert field magnitude at control-flow join 9fab425256 Merge bitcoin-core/secp256k1#1668: bench_ecmult: add benchmark for ecmult_const_xonly 05445377f4 bench_ecmult: add benchmark for ecmult_const_xonly bb597b3d39 Merge bitcoin-core/secp256k1#1670: tests: update wycheproof files d73ed99479 tests: update wycheproof files git-subtree-dir: src/secp256k1 git-subtree-split: b9313c6e1a6082a66b4c75777e18ca4b176fcf9d
1 parent c31fcaa commit 5600e6f

17 files changed

+281
-303
lines changed

.cirrus.yml

Lines changed: 0 additions & 104 deletions
This file was deleted.

.github/workflows/ci.yml

Lines changed: 70 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -46,8 +46,18 @@ env:
4646

4747
jobs:
4848
docker_cache:
49-
name: "Build Docker image"
50-
runs-on: ubuntu-latest
49+
name: "Build ${{ matrix.arch }} Docker image"
50+
runs-on: ${{ matrix.runner }}
51+
52+
strategy:
53+
fail-fast: false
54+
matrix:
55+
include:
56+
- arch: x64
57+
runner: ubuntu-latest
58+
- arch: arm64
59+
runner: ubuntu-24.04-arm
60+
5161
steps:
5262
- name: Set up Docker Buildx
5363
uses: docker/setup-buildx-action@v3
@@ -60,11 +70,11 @@ jobs:
6070
uses: docker/build-push-action@v5
6171
with:
6272
file: ./ci/linux-debian.Dockerfile
63-
tags: linux-debian-image
73+
tags: ${{ matrix.arch }}-debian-image
6474
cache-from: type=gha
6575
cache-to: type=gha,mode=min
6676

67-
linux_debian:
77+
x86_64-debian:
6878
name: "x86_64: Linux (Debian stable)"
6979
runs-on: ubuntu-latest
7080
needs: docker_cache
@@ -106,7 +116,7 @@ jobs:
106116
uses: ./.github/actions/run-in-docker-action
107117
with:
108118
dockerfile: ./ci/linux-debian.Dockerfile
109-
tag: linux-debian-image
119+
tag: x64-debian-image
110120

111121
- name: Print logs
112122
uses: ./.github/actions/print-logs
@@ -142,7 +152,7 @@ jobs:
142152
uses: ./.github/actions/run-in-docker-action
143153
with:
144154
dockerfile: ./ci/linux-debian.Dockerfile
145-
tag: linux-debian-image
155+
tag: x64-debian-image
146156

147157
- name: Print logs
148158
uses: ./.github/actions/print-logs
@@ -174,7 +184,7 @@ jobs:
174184
uses: ./.github/actions/run-in-docker-action
175185
with:
176186
dockerfile: ./ci/linux-debian.Dockerfile
177-
tag: linux-debian-image
187+
tag: x64-debian-image
178188

179189
- name: Print logs
180190
uses: ./.github/actions/print-logs
@@ -215,21 +225,19 @@ jobs:
215225
uses: ./.github/actions/run-in-docker-action
216226
with:
217227
dockerfile: ./ci/linux-debian.Dockerfile
218-
tag: linux-debian-image
228+
tag: x64-debian-image
219229

220230
- name: Print logs
221231
uses: ./.github/actions/print-logs
222232
if: ${{ !cancelled() }}
223233

224-
arm64_debian:
225-
name: "ARM64: Linux (Debian stable, QEMU)"
226-
runs-on: ubuntu-latest
234+
arm64-debian:
235+
name: "arm64: Linux (Debian stable)"
236+
runs-on: ubuntu-24.04-arm
227237
needs: docker_cache
228238

229239
env:
230-
WRAPPER_CMD: 'qemu-aarch64'
231240
SECP256K1_TEST_ITERS: 16
232-
HOST: 'aarch64-linux-gnu'
233241
WITH_VALGRIND: 'no'
234242
ECDH: 'yes'
235243
RECOVERY: 'yes'
@@ -238,27 +246,26 @@ jobs:
238246
MUSIG: 'yes'
239247
ELLSWIFT: 'yes'
240248
CTIMETESTS: 'no'
249+
CC: ${{ matrix.cc }}
241250

242251
strategy:
243252
fail-fast: false
244253
matrix:
245-
configuration:
246-
- env_vars: { } # gcc
247-
- env_vars: # clang
248-
CC: 'clang --target=aarch64-linux-gnu'
249-
- env_vars: # clang-snapshot
250-
CC: 'clang-snapshot --target=aarch64-linux-gnu'
254+
cc:
255+
- 'gcc'
256+
- 'clang'
257+
- 'gcc-snapshot'
258+
- 'clang-snapshot'
251259

252260
steps:
253261
- name: Checkout
254262
uses: actions/checkout@v4
255263

256264
- name: CI script
257-
env: ${{ matrix.configuration.env_vars }}
258265
uses: ./.github/actions/run-in-docker-action
259266
with:
260267
dockerfile: ./ci/linux-debian.Dockerfile
261-
tag: linux-debian-image
268+
tag: arm64-debian-image
262269

263270
- name: Print logs
264271
uses: ./.github/actions/print-logs
@@ -290,26 +297,46 @@ jobs:
290297
uses: ./.github/actions/run-in-docker-action
291298
with:
292299
dockerfile: ./ci/linux-debian.Dockerfile
293-
tag: linux-debian-image
300+
tag: x64-debian-image
294301

295302
- name: Print logs
296303
uses: ./.github/actions/print-logs
297304
if: ${{ !cancelled() }}
298305

299306

300307
valgrind_debian:
301-
name: "Valgrind (memcheck)"
302-
runs-on: ubuntu-latest
308+
name: "Valgrind ${{ matrix.binary_arch }} (memcheck)"
309+
runs-on: ${{ matrix.runner }}
303310
needs: docker_cache
304311

305312
strategy:
306313
fail-fast: false
307314
matrix:
308-
configuration:
309-
- env_vars: { CC: 'clang', ASM: 'auto' }
310-
- env_vars: { CC: 'i686-linux-gnu-gcc', HOST: 'i686-linux-gnu', ASM: 'auto' }
311-
- env_vars: { CC: 'clang', ASM: 'no', ECMULTGENKB: 2, ECMULTWINDOW: 2 }
312-
- env_vars: { CC: 'i686-linux-gnu-gcc', HOST: 'i686-linux-gnu', ASM: 'no', ECMULTGENKB: 2, ECMULTWINDOW: 2 }
315+
include:
316+
- docker_arch: x64
317+
runner: ubuntu-latest
318+
binary_arch: x64
319+
env_vars: { CC: 'clang', ASM: 'auto' }
320+
- docker_arch: x64
321+
runner: ubuntu-latest
322+
binary_arch: i686
323+
env_vars: { CC: 'i686-linux-gnu-gcc', HOST: 'i686-linux-gnu', ASM: 'auto' }
324+
- docker_arch: arm64
325+
runner: ubuntu-24.04-arm
326+
binary_arch: arm64
327+
env_vars: { CC: 'clang', ASM: 'auto' }
328+
- docker_arch: x64
329+
runner: ubuntu-latest
330+
binary_arch: x64
331+
env_vars: { CC: 'clang', ASM: 'no', ECMULTGENKB: 2, ECMULTWINDOW: 2 }
332+
- docker_arch: x64
333+
runner: ubuntu-latest
334+
binary_arch: i686
335+
env_vars: { CC: 'i686-linux-gnu-gcc', HOST: 'i686-linux-gnu', ASM: 'no', ECMULTGENKB: 2, ECMULTWINDOW: 2 }
336+
- docker_arch: arm64
337+
runner: ubuntu-24.04-arm
338+
binary_arch: arm64
339+
env_vars: { CC: 'clang', ASM: 'no', ECMULTGENKB: 2, ECMULTWINDOW: 2 }
313340

314341
env:
315342
# The `--error-exitcode` is required to make the test fail if valgrind found errors,
@@ -329,11 +356,11 @@ jobs:
329356
uses: actions/checkout@v4
330357

331358
- name: CI script
332-
env: ${{ matrix.configuration.env_vars }}
359+
env: ${{ matrix.env_vars }}
333360
uses: ./.github/actions/run-in-docker-action
334361
with:
335362
dockerfile: ./ci/linux-debian.Dockerfile
336-
tag: linux-debian-image
363+
tag: ${{ matrix.docker_arch }}-debian-image
337364

338365
- name: Print logs
339366
uses: ./.github/actions/print-logs
@@ -377,7 +404,7 @@ jobs:
377404
uses: ./.github/actions/run-in-docker-action
378405
with:
379406
dockerfile: ./ci/linux-debian.Dockerfile
380-
tag: linux-debian-image
407+
tag: x64-debian-image
381408

382409
- name: Print logs
383410
uses: ./.github/actions/print-logs
@@ -428,7 +455,7 @@ jobs:
428455
uses: ./.github/actions/run-in-docker-action
429456
with:
430457
dockerfile: ./ci/linux-debian.Dockerfile
431-
tag: linux-debian-image
458+
tag: x64-debian-image
432459

433460
- name: Print logs
434461
uses: ./.github/actions/print-logs
@@ -471,7 +498,7 @@ jobs:
471498
uses: ./.github/actions/run-in-docker-action
472499
with:
473500
dockerfile: ./ci/linux-debian.Dockerfile
474-
tag: linux-debian-image
501+
tag: x64-debian-image
475502

476503
- name: Print logs
477504
uses: ./.github/actions/print-logs
@@ -546,13 +573,13 @@ jobs:
546573
fail-fast: false
547574
matrix:
548575
env_vars:
549-
- { WIDEMUL: 'int64', RECOVERY: 'yes', ECDH: 'yes', EXTRAKEYS: 'yes', SCHNORRSIG: 'yes', ELLSWIFT: 'yes' }
576+
- { WIDEMUL: 'int64', RECOVERY: 'yes', ECDH: 'yes', EXTRAKEYS: 'yes', SCHNORRSIG: 'yes', MUSIG: 'yes', ELLSWIFT: 'yes' }
550577
- { WIDEMUL: 'int128_struct', ECMULTGENPRECISION: 2, ECMULTWINDOW: 4 }
551-
- { WIDEMUL: 'int128', ECDH: 'yes', EXTRAKEYS: 'yes', SCHNORRSIG: 'yes', ELLSWIFT: 'yes' }
578+
- { WIDEMUL: 'int128', ECDH: 'yes', EXTRAKEYS: 'yes', SCHNORRSIG: 'yes', MUSIG: 'yes', ELLSWIFT: 'yes' }
552579
- { WIDEMUL: 'int128', RECOVERY: 'yes' }
553-
- { WIDEMUL: 'int128', RECOVERY: 'yes', ECDH: 'yes', EXTRAKEYS: 'yes', SCHNORRSIG: 'yes', ELLSWIFT: 'yes' }
554-
- { WIDEMUL: 'int128', RECOVERY: 'yes', ECDH: 'yes', EXTRAKEYS: 'yes', SCHNORRSIG: 'yes', ELLSWIFT: 'yes', CC: 'gcc' }
555-
- { WIDEMUL: 'int128', RECOVERY: 'yes', ECDH: 'yes', EXTRAKEYS: 'yes', SCHNORRSIG: 'yes', ELLSWIFT: 'yes', CPPFLAGS: '-DVERIFY' }
580+
- { WIDEMUL: 'int128', RECOVERY: 'yes', ECDH: 'yes', EXTRAKEYS: 'yes', SCHNORRSIG: 'yes', MUSIG: 'yes', ELLSWIFT: 'yes' }
581+
- { WIDEMUL: 'int128', RECOVERY: 'yes', ECDH: 'yes', EXTRAKEYS: 'yes', SCHNORRSIG: 'yes', MUSIG: 'yes', ELLSWIFT: 'yes', CC: 'gcc' }
582+
- { WIDEMUL: 'int128', RECOVERY: 'yes', ECDH: 'yes', EXTRAKEYS: 'yes', SCHNORRSIG: 'yes', MUSIG: 'yes', ELLSWIFT: 'yes', CPPFLAGS: '-DVERIFY' }
556583
- BUILD: 'distcheck'
557584

558585
steps:
@@ -625,10 +652,11 @@ jobs:
625652
626653
- name: Symbol check
627654
if: ${{ matrix.configuration.symbol_check }}
655+
shell: bash
628656
run: |
629657
py -3 --version
630658
py -3 -m pip install lief
631-
py -3 .\tools\symbol-check.py build\bin\RelWithDebInfo\libsecp256k1-5.dll
659+
py -3 ./tools/symbol-check.py build/bin/RelWithDebInfo/libsecp256k1-*.dll
632660
633661
- name: Check
634662
run: |
@@ -678,7 +706,7 @@ jobs:
678706
uses: ./.github/actions/run-in-docker-action
679707
with:
680708
dockerfile: ./ci/linux-debian.Dockerfile
681-
tag: linux-debian-image
709+
tag: x64-debian-image
682710

683711
- name: Print logs
684712
uses: ./.github/actions/print-logs
@@ -697,7 +725,7 @@ jobs:
697725
uses: ./.github/actions/run-in-docker-action
698726
with:
699727
dockerfile: ./ci/linux-debian.Dockerfile
700-
tag: linux-debian-image
728+
tag: x64-debian-image
701729
command: |
702730
g++ -Werror include/*.h
703731
clang -Werror -x c++-header include/*.h

0 commit comments

Comments
 (0)