Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
35 commits
Select commit Hold shift + click to select a range
37dd422
cmake: Emulate Libtool's behavior on FreeBSD
hebasto Jun 11, 2025
b77aae9
ci: Rename Docker image tag to reflect architecture
hebasto Jun 19, 2025
bcf7734
ci: Add `arm64` architecture to `docker_cache` job
hebasto Jun 19, 2025
e814b79
ci: Switch `arm64_debian` from QEMU to native `arm64` Docker image
hebasto Jun 19, 2025
5fafdfc
ci: Move `gcc-snapshot` build for `arm64` from Cirrus to GHA
hebasto Jun 19, 2025
004f57f
ci: Move Valgrind build for `arm64` from Cirrus to GHA
hebasto Jun 19, 2025
29e73f4
Merge bitcoin-core/secp256k1#1685: cmake: Emulate Libtool's behavior …
real-or-random Jun 24, 2025
7106dce
cmake: configure libsecp256k1.pc during install
purpleKarrot Jun 27, 2025
89096c2
Merge bitcoin-core/secp256k1#1692: cmake: configure libsecp256k1.pc d…
real-or-random Jun 30, 2025
0dfe387
cmake: support the use of launchers in ctest -S scripts
purpleKarrot Jun 19, 2025
44b205e
Revert "cmake: configure libsecp256k1.pc during install"
purpleKarrot Jun 30, 2025
c498779
Merge bitcoin-core/secp256k1#1687: cmake: support the use of launcher…
real-or-random Jul 1, 2025
ad60ef7
Merge bitcoin-core/secp256k1#1689: ci: Convert `arm64` Cirrus tasks t…
jonasnick Jul 8, 2025
3352f9d
ci: enable musig module for native macOS arm64 job
theStack Jul 10, 2025
943479a
Merge bitcoin-core/secp256k1#1694: Revert "cmake: configure libsecp25…
real-or-random Jul 15, 2025
cbbbf3b
Merge bitcoin-core/secp256k1#1699: ci: enable musig module for native…
real-or-random Jul 17, 2025
e5297f6
build: Refactor visibility logic
real-or-random Jul 2, 2025
ce79238
build: Add SECP256K1_NO_API_VISIBILITY_ATTRIBUTES
real-or-random Jul 2, 2025
c82d84b
build: add CMake option for disabling symbol visibility attributes
theuni Jul 2, 2025
bf08222
cmake: Make `secp256k1_objs` inherit interface defines from `secp256k1`
hebasto Jul 18, 2025
73a6959
Merge bitcoin-core/secp256k1#1704: cmake: Make `secp256k1_objs` inher…
real-or-random Jul 21, 2025
983711c
musig/tests: Refactor vectors_signverify
real-or-random Jul 21, 2025
8d967a6
musig/test: Remove dead code
real-or-random Jul 21, 2025
7c33804
Merge bitcoin-core/secp256k1#1696: build: Refactor visibility logic a…
real-or-random Jul 21, 2025
5e74086
Merge bitcoin-core/secp256k1#1705: musig/test: Remove dead code
jonasnick Jul 21, 2025
40b4a06
changelog: update
jonasnick Jul 16, 2025
6037833
Merge bitcoin-core/secp256k1#1702: changelog: update
real-or-random Jul 21, 2025
cde4130
musig/tests: initialize keypair
jonasnick Jul 21, 2025
020ee60
Merge bitcoin-core/secp256k1#1706: musig/tests: initialize keypair
real-or-random Jul 21, 2025
f67b0ac
ci: Don't hardcode ABI version
real-or-random Jul 21, 2025
a3e742d
release: Prepare for 0.7.0
real-or-random Jul 21, 2025
7ab8b0c
release cleanup: bump version after 0.7.0
jonasnick Jul 21, 2025
a660a49
Merge bitcoin-core/secp256k1#1707: release: Prepare for 0.7.0
real-or-random Jul 21, 2025
b9313c6
Merge bitcoin-core/secp256k1#1708: release cleanup: bump version afte…
real-or-random Jul 21, 2025
9dcd857
Merge commits '29e73f4b 89096c23 c4987790 ad60ef7e 943479a7 cbbbf3bd …
mllwchrry Feb 24, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
104 changes: 0 additions & 104 deletions .cirrus.yml

This file was deleted.

109 changes: 68 additions & 41 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -53,8 +53,18 @@ env:

jobs:
docker_cache:
name: "Build Docker image"
runs-on: ubuntu-latest
name: "Build ${{ matrix.arch }} Docker image"
runs-on: ${{ matrix.runner }}

strategy:
fail-fast: false
matrix:
include:
- arch: x64
runner: ubuntu-latest
- arch: arm64
runner: ubuntu-24.04-arm

steps:
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
Expand All @@ -67,11 +77,11 @@ jobs:
uses: docker/build-push-action@v5
with:
file: ./ci/linux-debian.Dockerfile
tags: linux-debian-image
tags: ${{ matrix.arch }}-debian-image
cache-from: type=gha
cache-to: type=gha,mode=min

linux_debian:
x86_64-debian:
name: "x86_64: Linux (Debian stable)"
runs-on: ubuntu-latest
needs: docker_cache
Expand Down Expand Up @@ -113,7 +123,7 @@ jobs:
uses: ./.github/actions/run-in-docker-action
with:
dockerfile: ./ci/linux-debian.Dockerfile
tag: linux-debian-image
tag: x64-debian-image

- name: Print logs
uses: ./.github/actions/print-logs
Expand Down Expand Up @@ -157,7 +167,7 @@ jobs:
uses: ./.github/actions/run-in-docker-action
with:
dockerfile: ./ci/linux-debian.Dockerfile
tag: linux-debian-image
tag: x64-debian-image

- name: Print logs
uses: ./.github/actions/print-logs
Expand Down Expand Up @@ -197,7 +207,7 @@ jobs:
uses: ./.github/actions/run-in-docker-action
with:
dockerfile: ./ci/linux-debian.Dockerfile
tag: linux-debian-image
tag: x64-debian-image

- name: Print logs
uses: ./.github/actions/print-logs
Expand Down Expand Up @@ -246,21 +256,19 @@ jobs:
uses: ./.github/actions/run-in-docker-action
with:
dockerfile: ./ci/linux-debian.Dockerfile
tag: linux-debian-image
tag: x64-debian-image

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

arm64_debian:
name: "ARM64: Linux (Debian stable, QEMU)"
runs-on: ubuntu-latest
arm64-debian:
name: "arm64: Linux (Debian stable)"
runs-on: ubuntu-24.04-arm
needs: docker_cache

env:
WRAPPER_CMD: 'qemu-aarch64'
SECP256K1_TEST_ITERS: 16
HOST: 'aarch64-linux-gnu'
WITH_VALGRIND: 'no'
ECDH: 'yes'
RECOVERY: 'yes'
Expand All @@ -277,27 +285,26 @@ jobs:
BPPP: 'yes'
SCHNORRSIG_HALFAGG: 'yes'
CTIMETESTS: 'no'
CC: ${{ matrix.cc }}

strategy:
fail-fast: false
matrix:
configuration:
- env_vars: { } # gcc
- env_vars: # clang
CC: 'clang --target=aarch64-linux-gnu'
- env_vars: # clang-snapshot
CC: 'clang-snapshot --target=aarch64-linux-gnu'
cc:
- 'gcc'
- 'clang'
- 'gcc-snapshot'
- 'clang-snapshot'

steps:
- name: Checkout
uses: actions/checkout@v4

- name: CI script
env: ${{ matrix.configuration.env_vars }}
uses: ./.github/actions/run-in-docker-action
with:
dockerfile: ./ci/linux-debian.Dockerfile
tag: linux-debian-image
tag: arm64-debian-image

- name: Print logs
uses: ./.github/actions/print-logs
Expand Down Expand Up @@ -337,26 +344,46 @@ jobs:
uses: ./.github/actions/run-in-docker-action
with:
dockerfile: ./ci/linux-debian.Dockerfile
tag: linux-debian-image
tag: x64-debian-image

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


valgrind_debian:
name: "Valgrind (memcheck)"
runs-on: ubuntu-latest
name: "Valgrind ${{ matrix.binary_arch }} (memcheck)"
runs-on: ${{ matrix.runner }}
needs: docker_cache

strategy:
fail-fast: false
matrix:
configuration:
- env_vars: { CC: 'clang', ASM: 'auto' }
- env_vars: { CC: 'i686-linux-gnu-gcc', HOST: 'i686-linux-gnu', ASM: 'auto' }
- env_vars: { CC: 'clang', ASM: 'no', ECMULTGENKB: 2, ECMULTWINDOW: 2 }
- env_vars: { CC: 'i686-linux-gnu-gcc', HOST: 'i686-linux-gnu', ASM: 'no', ECMULTGENKB: 2, ECMULTWINDOW: 2 }
include:
- docker_arch: x64
runner: ubuntu-latest
binary_arch: x64
env_vars: { CC: 'clang', ASM: 'auto' }
- docker_arch: x64
runner: ubuntu-latest
binary_arch: i686
env_vars: { CC: 'i686-linux-gnu-gcc', HOST: 'i686-linux-gnu', ASM: 'auto' }
- docker_arch: arm64
runner: ubuntu-24.04-arm
binary_arch: arm64
env_vars: { CC: 'clang', ASM: 'auto' }
- docker_arch: x64
runner: ubuntu-latest
binary_arch: x64
env_vars: { CC: 'clang', ASM: 'no', ECMULTGENKB: 2, ECMULTWINDOW: 2 }
- docker_arch: x64
runner: ubuntu-latest
binary_arch: i686
env_vars: { CC: 'i686-linux-gnu-gcc', HOST: 'i686-linux-gnu', ASM: 'no', ECMULTGENKB: 2, ECMULTWINDOW: 2 }
- docker_arch: arm64
runner: ubuntu-24.04-arm
binary_arch: arm64
env_vars: { CC: 'clang', ASM: 'no', ECMULTGENKB: 2, ECMULTWINDOW: 2 }

env:
# The `--error-exitcode` is required to make the test fail if valgrind found errors,
Expand Down Expand Up @@ -384,11 +411,11 @@ jobs:
uses: actions/checkout@v4

- name: CI script
env: ${{ matrix.configuration.env_vars }}
env: ${{ matrix.env_vars }}
uses: ./.github/actions/run-in-docker-action
with:
dockerfile: ./ci/linux-debian.Dockerfile
tag: linux-debian-image
tag: ${{ matrix.docker_arch }}-debian-image

- name: Print logs
uses: ./.github/actions/print-logs
Expand Down Expand Up @@ -440,7 +467,7 @@ jobs:
uses: ./.github/actions/run-in-docker-action
with:
dockerfile: ./ci/linux-debian.Dockerfile
tag: linux-debian-image
tag: x64-debian-image

- name: Print logs
uses: ./.github/actions/print-logs
Expand Down Expand Up @@ -499,7 +526,7 @@ jobs:
uses: ./.github/actions/run-in-docker-action
with:
dockerfile: ./ci/linux-debian.Dockerfile
tag: linux-debian-image
tag: x64-debian-image

- name: Print logs
uses: ./.github/actions/print-logs
Expand Down Expand Up @@ -550,7 +577,7 @@ jobs:
uses: ./.github/actions/run-in-docker-action
with:
dockerfile: ./ci/linux-debian.Dockerfile
tag: linux-debian-image
tag: x64-debian-image

- name: Print logs
uses: ./.github/actions/print-logs
Expand Down Expand Up @@ -628,13 +655,13 @@ jobs:
fail-fast: false
matrix:
env_vars:
- { WIDEMUL: 'int64', RECOVERY: 'yes', ECDH: 'yes', EXTRAKEYS: 'yes', SCHNORRSIG: 'yes', ELLSWIFT: 'yes', EXPERIMENTAL: 'yes', ECDSA_S2C: 'yes', RANGEPROOF: 'yes', WHITELIST: 'yes', GENERATOR: 'yes', MUSIG: 'yes', ECDSAADAPTOR: 'yes', BPPP: 'yes', SCHNORRSIG_HALFAGG: 'yes' }
- { WIDEMUL: 'int64', RECOVERY: 'yes', ECDH: 'yes', EXTRAKEYS: 'yes', SCHNORRSIG: 'yes', MUSIG: 'yes', ELLSWIFT: 'yes', EXPERIMENTAL: 'yes', ECDSA_S2C: 'yes', RANGEPROOF: 'yes', WHITELIST: 'yes', GENERATOR: 'yes', ECDSAADAPTOR: 'yes', BPPP: 'yes', SCHNORRSIG_HALFAGG: 'yes' }
- { WIDEMUL: 'int128_struct', ECMULTGENKB: 2, ECMULTWINDOW: 4 }
- { WIDEMUL: 'int128', ECDH: 'yes', EXTRAKEYS: 'yes', SCHNORRSIG: 'yes', ELLSWIFT: 'yes', EXPERIMENTAL: 'yes', ECDSA_S2C: 'yes', RANGEPROOF: 'yes', WHITELIST: 'yes', GENERATOR: 'yes', MUSIG: 'yes', ECDSAADAPTOR: 'yes', BPPP: 'yes', SCHNORRSIG_HALFAGG: 'yes' }
- { WIDEMUL: 'int128', ECDH: 'yes', EXTRAKEYS: 'yes', SCHNORRSIG: 'yes', MUSIG: 'yes', ELLSWIFT: 'yes', EXPERIMENTAL: 'yes', ECDSA_S2C: 'yes', RANGEPROOF: 'yes', WHITELIST: 'yes', GENERATOR: 'yes', ECDSAADAPTOR: 'yes', BPPP: 'yes', SCHNORRSIG_HALFAGG: 'yes' }
- { WIDEMUL: 'int128', RECOVERY: 'yes' }
- { WIDEMUL: 'int128', RECOVERY: 'yes', ECDH: 'yes', EXTRAKEYS: 'yes', SCHNORRSIG: 'yes', ELLSWIFT: 'yes', EXPERIMENTAL: 'yes', ECDSA_S2C: 'yes', RANGEPROOF: 'yes', WHITELIST: 'yes', GENERATOR: 'yes', MUSIG: 'yes', ECDSAADAPTOR: 'yes', BPPP: 'yes', SCHNORRSIG_HALFAGG: 'yes' }
- { WIDEMUL: 'int128', RECOVERY: 'yes', ECDH: 'yes', EXTRAKEYS: 'yes', SCHNORRSIG: 'yes', ELLSWIFT: 'yes', EXPERIMENTAL: 'yes', ECDSA_S2C: 'yes', RANGEPROOF: 'yes', WHITELIST: 'yes', GENERATOR: 'yes', MUSIG: 'yes', ECDSAADAPTOR: 'yes', BPPP: 'yes', SCHNORRSIG_HALFAGG: 'yes', CC: 'gcc' }
- { WIDEMUL: 'int128', RECOVERY: 'yes', ECDH: 'yes', EXTRAKEYS: 'yes', SCHNORRSIG: 'yes', ELLSWIFT: 'yes', EXPERIMENTAL: 'yes', ECDSA_S2C: 'yes', RANGEPROOF: 'yes', WHITELIST: 'yes', GENERATOR: 'yes', MUSIG: 'yes', ECDSAADAPTOR: 'yes', BPPP: 'yes', SCHNORRSIG_HALFAGG: 'yes', CPPFLAGS: '-DVERIFY' }
- { WIDEMUL: 'int128', RECOVERY: 'yes', ECDH: 'yes', EXTRAKEYS: 'yes', SCHNORRSIG: 'yes', MUSIG: 'yes', ELLSWIFT: 'yes', EXPERIMENTAL: 'yes', ECDSA_S2C: 'yes', RANGEPROOF: 'yes', WHITELIST: 'yes', GENERATOR: 'yes', ECDSAADAPTOR: 'yes', BPPP: 'yes', SCHNORRSIG_HALFAGG: 'yes' }
- { WIDEMUL: 'int128', RECOVERY: 'yes', ECDH: 'yes', EXTRAKEYS: 'yes', SCHNORRSIG: 'yes', MUSIG: 'yes', ELLSWIFT: 'yes', EXPERIMENTAL: 'yes', ECDSA_S2C: 'yes', RANGEPROOF: 'yes', WHITELIST: 'yes', GENERATOR: 'yes', ECDSAADAPTOR: 'yes', BPPP: 'yes', SCHNORRSIG_HALFAGG: 'yes', CC: 'gcc' }
- { WIDEMUL: 'int128', RECOVERY: 'yes', ECDH: 'yes', EXTRAKEYS: 'yes', SCHNORRSIG: 'yes', MUSIG: 'yes', ELLSWIFT: 'yes', EXPERIMENTAL: 'yes', ECDSA_S2C: 'yes', RANGEPROOF: 'yes', WHITELIST: 'yes', GENERATOR: 'yes', ECDSAADAPTOR: 'yes', BPPP: 'yes', SCHNORRSIG_HALFAGG: 'yes', CPPFLAGS: '-DVERIFY' }
- BUILD: 'distcheck'

steps:
Expand Down Expand Up @@ -769,7 +796,7 @@ jobs:
uses: ./.github/actions/run-in-docker-action
with:
dockerfile: ./ci/linux-debian.Dockerfile
tag: linux-debian-image
tag: x64-debian-image

- name: Print logs
uses: ./.github/actions/print-logs
Expand All @@ -788,7 +815,7 @@ jobs:
uses: ./.github/actions/run-in-docker-action
with:
dockerfile: ./ci/linux-debian.Dockerfile
tag: linux-debian-image
tag: x64-debian-image
command: |
g++ -Werror include/*.h
clang -Werror -x c++-header include/*.h
Expand Down
Loading