aboutsummaryrefslogtreecommitdiff
path: root/.github/workflows/ci.yml
diff options
context:
space:
mode:
Diffstat (limited to '.github/workflows/ci.yml')
-rw-r--r--.github/workflows/ci.yml74
1 files changed, 68 insertions, 6 deletions
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index d246682044..ade94e1eec 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -21,8 +21,8 @@ env:
MAKEFLAGS: '-j4'
BUILD: 'check'
### secp256k1 config
- ECMULTWINDOW: 'auto'
- ECMULTGENKB: 'auto'
+ ECMULTWINDOW: 15
+ ECMULTGENKB: 22
ASM: 'no'
WIDEMUL: 'auto'
WITH_VALGRIND: 'yes'
@@ -485,18 +485,24 @@ jobs:
matrix:
configuration:
- env_vars:
+ CTIMETESTS: 'yes'
CFLAGS: '-fsanitize=memory -fsanitize-recover=memory -g'
- env_vars:
ECMULTGENKB: 2
ECMULTWINDOW: 2
+ CTIMETESTS: 'yes'
CFLAGS: '-fsanitize=memory -fsanitize-recover=memory -g -O3'
+ - env_vars:
+ # -fsanitize-memory-param-retval is clang's default, but our build system disables it
+ # when ctime_tests when enabled.
+ CFLAGS: '-fsanitize=memory -fsanitize-recover=memory -fsanitize-memory-param-retval -g'
+ CTIMETESTS: 'no'
env:
ECDH: 'yes'
RECOVERY: 'yes'
SCHNORRSIG: 'yes'
ELLSWIFT: 'yes'
- CTIMETESTS: 'yes'
CC: 'clang'
SECP256K1_TEST_ITERS: 32
ASM: 'no'
@@ -585,10 +591,10 @@ jobs:
run: env
if: ${{ always() }}
- macos-native:
- name: "x86_64: macOS Monterey"
+ x86_64-macos-native:
+ name: "x86_64: macOS Monterey, Valgrind"
# See: https://github.com/actions/runner-images#available-images.
- runs-on: macos-12 # Use M1 once available https://github.com/github/roadmap/issues/528
+ runs-on: macos-12
env:
CC: 'clang'
@@ -644,6 +650,62 @@ jobs:
run: env
if: ${{ always() }}
+ arm64-macos-native:
+ name: "ARM64: macOS Sonoma"
+ # See: https://github.com/actions/runner-images#available-images.
+ runs-on: macos-14
+
+ env:
+ CC: 'clang'
+ HOMEBREW_NO_AUTO_UPDATE: 1
+ HOMEBREW_NO_INSTALL_CLEANUP: 1
+ WITH_VALGRIND: 'no'
+ CTIMETESTS: 'no'
+
+ strategy:
+ fail-fast: false
+ matrix:
+ env_vars:
+ - { WIDEMUL: 'int64', RECOVERY: 'yes', ECDH: 'yes', SCHNORRSIG: 'yes', ELLSWIFT: 'yes' }
+ - { WIDEMUL: 'int128_struct', ECMULTGENPRECISION: 2, ECMULTWINDOW: 4 }
+ - { WIDEMUL: 'int128', ECDH: 'yes', SCHNORRSIG: 'yes', ELLSWIFT: 'yes' }
+ - { WIDEMUL: 'int128', RECOVERY: 'yes' }
+ - { WIDEMUL: 'int128', RECOVERY: 'yes', ECDH: 'yes', SCHNORRSIG: 'yes', ELLSWIFT: 'yes' }
+ - { WIDEMUL: 'int128', RECOVERY: 'yes', ECDH: 'yes', SCHNORRSIG: 'yes', ELLSWIFT: 'yes', CC: 'gcc' }
+ - { WIDEMUL: 'int128', RECOVERY: 'yes', ECDH: 'yes', SCHNORRSIG: 'yes', ELLSWIFT: 'yes', CPPFLAGS: '-DVERIFY' }
+ - BUILD: 'distcheck'
+
+ steps:
+ - name: Checkout
+ uses: actions/checkout@v4
+
+ - name: Install Homebrew packages
+ run: |
+ brew install automake libtool gcc
+ ln -s $(brew --prefix gcc)/bin/gcc-?? /usr/local/bin/gcc
+
+ - name: CI script
+ env: ${{ matrix.env_vars }}
+ run: ./ci/ci.sh
+
+ - run: cat tests.log || true
+ if: ${{ always() }}
+ - run: cat noverify_tests.log || true
+ if: ${{ always() }}
+ - run: cat exhaustive_tests.log || true
+ if: ${{ always() }}
+ - run: cat ctime_tests.log || true
+ if: ${{ always() }}
+ - run: cat bench.log || true
+ if: ${{ always() }}
+ - run: cat config.log || true
+ if: ${{ always() }}
+ - run: cat test_env.log || true
+ if: ${{ always() }}
+ - name: CI env
+ run: env
+ if: ${{ always() }}
+
win64-native:
name: ${{ matrix.configuration.job_name }}
# See: https://github.com/actions/runner-images#available-images.