3333 RECOVERY : ' no'
3434 EXTRAKEYS : ' no'
3535 SCHNORRSIG : ' no'
36+ MUSIG : ' no'
3637 ELLSWIFT : ' no'
3738 # ## test options
3839 SECP256K1_TEST_ITERS :
3940 BENCH : ' yes'
4041 SECP256K1_BENCH_ITERS : 2
4142 CTIMETESTS : ' yes'
43+ SYMBOL_CHECK : ' yes'
4244 # Compile and run the examples.
4345 EXAMPLES : ' yes'
4446
@@ -72,18 +74,18 @@ jobs:
7274 matrix :
7375 configuration :
7476 - env_vars : { WIDEMUL: 'int64', RECOVERY: 'yes' }
75- - env_vars : { WIDEMUL: 'int64', ECDH: 'yes', EXTRAKEYS: 'yes', SCHNORRSIG: 'yes', ELLSWIFT: 'yes' }
77+ - env_vars : { WIDEMUL: 'int64', ECDH: 'yes', EXTRAKEYS: 'yes', SCHNORRSIG: 'yes', MUSIG: 'yes', ELLSWIFT: 'yes' }
7678 - env_vars : { WIDEMUL: 'int128' }
7779 - env_vars : { WIDEMUL: 'int128_struct', ELLSWIFT: 'yes' }
78- - env_vars : { WIDEMUL: 'int128', RECOVERY: 'yes', EXTRAKEYS: 'yes', SCHNORRSIG: 'yes', ELLSWIFT: 'yes' }
79- - env_vars : { WIDEMUL: 'int128', ECDH: 'yes', EXTRAKEYS: 'yes', SCHNORRSIG: 'yes' }
80+ - env_vars : { WIDEMUL: 'int128', RECOVERY: 'yes', EXTRAKEYS: 'yes', SCHNORRSIG: 'yes', MUSIG: 'yes', ELLSWIFT: 'yes' }
81+ - env_vars : { WIDEMUL: 'int128', ECDH: 'yes', EXTRAKEYS: 'yes', SCHNORRSIG: 'yes', MUSIG: 'yes' }
8082 - env_vars : { WIDEMUL: 'int128', ASM: 'x86_64', ELLSWIFT: 'yes' }
81- - env_vars : { RECOVERY: 'yes', EXTRAKEYS: 'yes', SCHNORRSIG: 'yes' }
82- - env_vars : { CTIMETESTS: 'no', RECOVERY: 'yes', ECDH: 'yes', EXTRAKEYS: 'yes', SCHNORRSIG: 'yes', CPPFLAGS: '-DVERIFY' }
83+ - env_vars : { RECOVERY: 'yes', EXTRAKEYS: 'yes', SCHNORRSIG: 'yes', MUSIG: 'yes' }
84+ - env_vars : { CTIMETESTS: 'no', RECOVERY: 'yes', ECDH: 'yes', EXTRAKEYS: 'yes', SCHNORRSIG: 'yes', MUSIG: 'yes', CPPFLAGS: '-DVERIFY' }
8385 - env_vars : { BUILD: 'distcheck', WITH_VALGRIND: 'no', CTIMETESTS: 'no', BENCH: 'no' }
8486 - env_vars : { CPPFLAGS: '-DDETERMINISTIC' }
8587 - env_vars : { CFLAGS: '-O0', CTIMETESTS: 'no' }
86- - env_vars : { CFLAGS: '-O1', RECOVERY: 'yes', ECDH: 'yes', EXTRAKEYS: 'yes', SCHNORRSIG: 'yes', ELLSWIFT: 'yes' }
88+ - env_vars : { CFLAGS: '-O1', RECOVERY: 'yes', ECDH: 'yes', EXTRAKEYS: 'yes', SCHNORRSIG: 'yes', MUSIG: 'yes', ELLSWIFT: 'yes' }
8789 - env_vars : { ECMULTGENKB: 2, ECMULTWINDOW: 2 }
8890 - env_vars : { ECMULTGENKB: 86, ECMULTWINDOW: 4 }
8991 cc :
@@ -142,6 +144,7 @@ jobs:
142144 RECOVERY : ' yes'
143145 EXTRAKEYS : ' yes'
144146 SCHNORRSIG : ' yes'
147+ MUSIG : ' yes'
145148 ELLSWIFT : ' yes'
146149 CC : ${{ matrix.cc }}
147150
@@ -187,6 +190,7 @@ jobs:
187190 RECOVERY : ' yes'
188191 EXTRAKEYS : ' yes'
189192 SCHNORRSIG : ' yes'
193+ MUSIG : ' yes'
190194 ELLSWIFT : ' yes'
191195 CTIMETESTS : ' no'
192196
@@ -239,6 +243,7 @@ jobs:
239243 RECOVERY : ' yes'
240244 EXTRAKEYS : ' yes'
241245 SCHNORRSIG : ' yes'
246+ MUSIG : ' yes'
242247 ELLSWIFT : ' yes'
243248 CTIMETESTS : ' no'
244249
@@ -285,6 +290,7 @@ jobs:
285290 RECOVERY : ' yes'
286291 EXTRAKEYS : ' yes'
287292 SCHNORRSIG : ' yes'
293+ MUSIG : ' yes'
288294 ELLSWIFT : ' yes'
289295 CTIMETESTS : ' no'
290296
@@ -341,6 +347,7 @@ jobs:
341347 RECOVERY : ' yes'
342348 EXTRAKEYS : ' yes'
343349 SCHNORRSIG : ' yes'
350+ MUSIG : ' yes'
344351 ELLSWIFT : ' yes'
345352 CTIMETESTS : ' no'
346353
@@ -394,6 +401,7 @@ jobs:
394401 RECOVERY : ' yes'
395402 EXTRAKEYS : ' yes'
396403 SCHNORRSIG : ' yes'
404+ MUSIG : ' yes'
397405 ELLSWIFT : ' yes'
398406 CTIMETESTS : ' no'
399407 SECP256K1_TEST_ITERS : 2
@@ -446,13 +454,15 @@ jobs:
446454 RECOVERY : ' yes'
447455 EXTRAKEYS : ' yes'
448456 SCHNORRSIG : ' yes'
457+ MUSIG : ' yes'
449458 ELLSWIFT : ' yes'
450459 CTIMETESTS : ' no'
451460 CFLAGS : ' -fsanitize=undefined,address -g'
452461 UBSAN_OPTIONS : ' print_stacktrace=1:halt_on_error=1'
453462 ASAN_OPTIONS : ' strict_string_checks=1:detect_stack_use_after_return=1:detect_leaks=1'
454463 LSAN_OPTIONS : ' use_unaligned=1'
455464 SECP256K1_TEST_ITERS : 32
465+ SYMBOL_CHECK : ' no'
456466
457467 steps :
458468 - name : Checkout
@@ -511,11 +521,13 @@ jobs:
511521 RECOVERY : ' yes'
512522 EXTRAKEYS : ' yes'
513523 SCHNORRSIG : ' yes'
524+ MUSIG : ' yes'
514525 ELLSWIFT : ' yes'
515526 CC : ' clang'
516527 SECP256K1_TEST_ITERS : 32
517528 ASM : ' no'
518529 WITH_VALGRIND : ' no'
530+ SYMBOL_CHECK : ' no'
519531
520532 steps :
521533 - name : Checkout
@@ -558,6 +570,7 @@ jobs:
558570 RECOVERY : ' yes'
559571 EXTRAKEYS : ' yes'
560572 SCHNORRSIG : ' yes'
573+ MUSIG : ' yes'
561574 ELLSWIFT : ' yes'
562575 CTIMETESTS : ' no'
563576
@@ -610,20 +623,21 @@ jobs:
610623 CC : ' clang'
611624 HOMEBREW_NO_AUTO_UPDATE : 1
612625 HOMEBREW_NO_INSTALL_CLEANUP : 1
626+ SYMBOL_CHECK : ' no'
613627
614628 strategy :
615629 fail-fast : false
616630 matrix :
617631 env_vars :
618- - { WIDEMUL: 'int64', RECOVERY: 'yes', ECDH: 'yes', EXTRAKEYS: 'yes', SCHNORRSIG: 'yes', ELLSWIFT: 'yes' }
632+ - { WIDEMUL: 'int64', RECOVERY: 'yes', ECDH: 'yes', EXTRAKEYS: 'yes', SCHNORRSIG: 'yes', MUSIG: 'yes', ELLSWIFT: 'yes' }
619633 - { WIDEMUL: 'int128_struct', ECMULTGENKB: 2, ECMULTWINDOW: 4 }
620- - { WIDEMUL: 'int128', ECDH: 'yes', EXTRAKEYS: 'yes', SCHNORRSIG: 'yes', ELLSWIFT: 'yes' }
634+ - { WIDEMUL: 'int128', ECDH: 'yes', EXTRAKEYS: 'yes', SCHNORRSIG: 'yes', MUSIG: 'yes', ELLSWIFT: 'yes' }
621635 - { WIDEMUL: 'int128', RECOVERY: 'yes' }
622- - { WIDEMUL: 'int128', RECOVERY: 'yes', ECDH: 'yes', EXTRAKEYS: 'yes', SCHNORRSIG: 'yes', ELLSWIFT: 'yes' }
623- - { WIDEMUL: 'int128', RECOVERY: 'yes', ECDH: 'yes', EXTRAKEYS: 'yes', SCHNORRSIG: 'yes', ELLSWIFT: 'yes', CC: 'gcc' }
624- - { WIDEMUL: 'int128', RECOVERY: 'yes', ECDH: 'yes', EXTRAKEYS: 'yes', SCHNORRSIG: 'yes', ELLSWIFT: 'yes', WRAPPER_CMD: 'valgrind --error-exitcode=42', SECP256K1_TEST_ITERS: 2 }
625- - { WIDEMUL: 'int128', RECOVERY: 'yes', ECDH: 'yes', EXTRAKEYS: 'yes', SCHNORRSIG: 'yes', ELLSWIFT: 'yes', CC: 'gcc', WRAPPER_CMD: 'valgrind --error-exitcode=42', SECP256K1_TEST_ITERS: 2 }
626- - { WIDEMUL: 'int128', RECOVERY: 'yes', ECDH: 'yes', EXTRAKEYS: 'yes', SCHNORRSIG: 'yes', ELLSWIFT: 'yes', CPPFLAGS: '-DVERIFY', CTIMETESTS: 'no' }
636+ - { WIDEMUL: 'int128', RECOVERY: 'yes', ECDH: 'yes', EXTRAKEYS: 'yes', SCHNORRSIG: 'yes', MUSIG: 'yes', ELLSWIFT: 'yes' }
637+ - { WIDEMUL: 'int128', RECOVERY: 'yes', ECDH: 'yes', EXTRAKEYS: 'yes', SCHNORRSIG: 'yes', MUSIG: 'yes', ELLSWIFT: 'yes', CC: 'gcc' }
638+ - { WIDEMUL: 'int128', RECOVERY: 'yes', ECDH: 'yes', EXTRAKEYS: 'yes', SCHNORRSIG: 'yes', MUSIG: 'yes', ELLSWIFT: 'yes', WRAPPER_CMD: 'valgrind --error-exitcode=42', SECP256K1_TEST_ITERS: 2 }
639+ - { WIDEMUL: 'int128', RECOVERY: 'yes', ECDH: 'yes', EXTRAKEYS: 'yes', SCHNORRSIG: 'yes', MUSIG: 'yes', ELLSWIFT: 'yes', CC: 'gcc', WRAPPER_CMD: 'valgrind --error-exitcode=42', SECP256K1_TEST_ITERS: 2 }
640+ - { WIDEMUL: 'int128', RECOVERY: 'yes', ECDH: 'yes', EXTRAKEYS: 'yes', SCHNORRSIG: 'yes', MUSIG: 'yes', ELLSWIFT: 'yes', CPPFLAGS: '-DVERIFY', CTIMETESTS: 'no' }
627641 - BUILD : ' distcheck'
628642
629643 steps :
@@ -642,6 +656,11 @@ jobs:
642656 env : ${{ matrix.env_vars }}
643657 run : ./ci/ci.sh
644658
659+ - name : Symbol check
660+ run : |
661+ python3 -m pip install lief
662+ python3 ./tools/symbol-check.py .libs/libsecp256k1.dylib
663+
645664 - run : cat tests.log || true
646665 if : ${{ always() }}
647666 - run : cat noverify_tests.log || true
@@ -671,6 +690,7 @@ jobs:
671690 HOMEBREW_NO_INSTALL_CLEANUP : 1
672691 WITH_VALGRIND : ' no'
673692 CTIMETESTS : ' no'
693+ SYMBOL_CHECK : ' no'
674694
675695 strategy :
676696 fail-fast : false
@@ -698,6 +718,15 @@ jobs:
698718 env : ${{ matrix.env_vars }}
699719 run : ./ci/ci.sh
700720
721+ - name : Symbol check
722+ env :
723+ VIRTUAL_ENV : ' ${{ github.workspace }}/venv'
724+ run : |
725+ python3 -m venv $VIRTUAL_ENV
726+ export PATH="$VIRTUAL_ENV/bin:$PATH"
727+ python3 -m pip install lief
728+ python3 ./tools/symbol-check.py .libs/libsecp256k1.dylib
729+
701730 - run : cat tests.log || true
702731 if : ${{ always() }}
703732 - run : cat noverify_tests.log || true
@@ -751,14 +780,20 @@ jobs:
751780 # Use the bash shell included with Git for Windows.
752781 shell : bash
753782 run : |
754- cd build/src/RelWithDebInfo && file *tests.exe bench*.exe libsecp256k1-*.dll || true
783+ cd build/bin/RelWithDebInfo && file *tests.exe bench*.exe libsecp256k1-*.dll || true
784+
785+ - name : Symbol check
786+ if : ${{ matrix.configuration.cmake_options != '-A x64 -DBUILD_SHARED_LIBS=OFF' }}
787+ run : |
788+ python -m pip install lief
789+ python .\tools\symbol-check.py build\bin\RelWithDebInfo\libsecp256k1-2.dll
755790
756791 - name : Check
757792 run : |
758793 ctest -C RelWithDebInfo --test-dir build -j ([int]$env:NUMBER_OF_PROCESSORS + 1)
759- build\src \RelWithDebInfo\bench_ecmult.exe
760- build\src \RelWithDebInfo\bench_internal.exe
761- build\src \RelWithDebInfo\bench.exe
794+ build\bin \RelWithDebInfo\bench_ecmult.exe
795+ build\bin \RelWithDebInfo\bench_internal.exe
796+ build\bin \RelWithDebInfo\bench.exe
762797
763798 win64-native-headers :
764799 name : " x64 (MSVC): C++ (public headers)"
@@ -790,6 +825,7 @@ jobs:
790825 RECOVERY : ' yes'
791826 EXTRAKEYS : ' yes'
792827 SCHNORRSIG : ' yes'
828+ MUSIG : ' yes'
793829 ELLSWIFT : ' yes'
794830
795831 steps :
0 commit comments