33
33
RECOVERY : ' no'
34
34
EXTRAKEYS : ' no'
35
35
SCHNORRSIG : ' no'
36
+ MUSIG : ' no'
36
37
ELLSWIFT : ' no'
37
38
# ## test options
38
39
SECP256K1_TEST_ITERS :
39
40
BENCH : ' yes'
40
41
SECP256K1_BENCH_ITERS : 2
41
42
CTIMETESTS : ' yes'
43
+ SYMBOL_CHECK : ' yes'
42
44
# Compile and run the examples.
43
45
EXAMPLES : ' yes'
44
46
@@ -72,18 +74,18 @@ jobs:
72
74
matrix :
73
75
configuration :
74
76
- 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' }
76
78
- env_vars : { WIDEMUL: 'int128' }
77
79
- 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' }
80
82
- 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' }
83
85
- env_vars : { BUILD: 'distcheck', WITH_VALGRIND: 'no', CTIMETESTS: 'no', BENCH: 'no' }
84
86
- env_vars : { CPPFLAGS: '-DDETERMINISTIC' }
85
87
- 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' }
87
89
- env_vars : { ECMULTGENKB: 2, ECMULTWINDOW: 2 }
88
90
- env_vars : { ECMULTGENKB: 86, ECMULTWINDOW: 4 }
89
91
cc :
@@ -142,6 +144,7 @@ jobs:
142
144
RECOVERY : ' yes'
143
145
EXTRAKEYS : ' yes'
144
146
SCHNORRSIG : ' yes'
147
+ MUSIG : ' yes'
145
148
ELLSWIFT : ' yes'
146
149
CC : ${{ matrix.cc }}
147
150
@@ -187,6 +190,7 @@ jobs:
187
190
RECOVERY : ' yes'
188
191
EXTRAKEYS : ' yes'
189
192
SCHNORRSIG : ' yes'
193
+ MUSIG : ' yes'
190
194
ELLSWIFT : ' yes'
191
195
CTIMETESTS : ' no'
192
196
@@ -239,6 +243,7 @@ jobs:
239
243
RECOVERY : ' yes'
240
244
EXTRAKEYS : ' yes'
241
245
SCHNORRSIG : ' yes'
246
+ MUSIG : ' yes'
242
247
ELLSWIFT : ' yes'
243
248
CTIMETESTS : ' no'
244
249
@@ -285,6 +290,7 @@ jobs:
285
290
RECOVERY : ' yes'
286
291
EXTRAKEYS : ' yes'
287
292
SCHNORRSIG : ' yes'
293
+ MUSIG : ' yes'
288
294
ELLSWIFT : ' yes'
289
295
CTIMETESTS : ' no'
290
296
@@ -341,6 +347,7 @@ jobs:
341
347
RECOVERY : ' yes'
342
348
EXTRAKEYS : ' yes'
343
349
SCHNORRSIG : ' yes'
350
+ MUSIG : ' yes'
344
351
ELLSWIFT : ' yes'
345
352
CTIMETESTS : ' no'
346
353
@@ -394,6 +401,7 @@ jobs:
394
401
RECOVERY : ' yes'
395
402
EXTRAKEYS : ' yes'
396
403
SCHNORRSIG : ' yes'
404
+ MUSIG : ' yes'
397
405
ELLSWIFT : ' yes'
398
406
CTIMETESTS : ' no'
399
407
SECP256K1_TEST_ITERS : 2
@@ -446,13 +454,15 @@ jobs:
446
454
RECOVERY : ' yes'
447
455
EXTRAKEYS : ' yes'
448
456
SCHNORRSIG : ' yes'
457
+ MUSIG : ' yes'
449
458
ELLSWIFT : ' yes'
450
459
CTIMETESTS : ' no'
451
460
CFLAGS : ' -fsanitize=undefined,address -g'
452
461
UBSAN_OPTIONS : ' print_stacktrace=1:halt_on_error=1'
453
462
ASAN_OPTIONS : ' strict_string_checks=1:detect_stack_use_after_return=1:detect_leaks=1'
454
463
LSAN_OPTIONS : ' use_unaligned=1'
455
464
SECP256K1_TEST_ITERS : 32
465
+ SYMBOL_CHECK : ' no'
456
466
457
467
steps :
458
468
- name : Checkout
@@ -511,11 +521,13 @@ jobs:
511
521
RECOVERY : ' yes'
512
522
EXTRAKEYS : ' yes'
513
523
SCHNORRSIG : ' yes'
524
+ MUSIG : ' yes'
514
525
ELLSWIFT : ' yes'
515
526
CC : ' clang'
516
527
SECP256K1_TEST_ITERS : 32
517
528
ASM : ' no'
518
529
WITH_VALGRIND : ' no'
530
+ SYMBOL_CHECK : ' no'
519
531
520
532
steps :
521
533
- name : Checkout
@@ -558,6 +570,7 @@ jobs:
558
570
RECOVERY : ' yes'
559
571
EXTRAKEYS : ' yes'
560
572
SCHNORRSIG : ' yes'
573
+ MUSIG : ' yes'
561
574
ELLSWIFT : ' yes'
562
575
CTIMETESTS : ' no'
563
576
@@ -610,20 +623,21 @@ jobs:
610
623
CC : ' clang'
611
624
HOMEBREW_NO_AUTO_UPDATE : 1
612
625
HOMEBREW_NO_INSTALL_CLEANUP : 1
626
+ SYMBOL_CHECK : ' no'
613
627
614
628
strategy :
615
629
fail-fast : false
616
630
matrix :
617
631
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' }
619
633
- { 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' }
621
635
- { 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' }
627
641
- BUILD : ' distcheck'
628
642
629
643
steps :
@@ -642,6 +656,11 @@ jobs:
642
656
env : ${{ matrix.env_vars }}
643
657
run : ./ci/ci.sh
644
658
659
+ - name : Symbol check
660
+ run : |
661
+ python3 -m pip install lief
662
+ python3 ./tools/symbol-check.py .libs/libsecp256k1.dylib
663
+
645
664
- run : cat tests.log || true
646
665
if : ${{ always() }}
647
666
- run : cat noverify_tests.log || true
@@ -671,6 +690,7 @@ jobs:
671
690
HOMEBREW_NO_INSTALL_CLEANUP : 1
672
691
WITH_VALGRIND : ' no'
673
692
CTIMETESTS : ' no'
693
+ SYMBOL_CHECK : ' no'
674
694
675
695
strategy :
676
696
fail-fast : false
@@ -698,6 +718,15 @@ jobs:
698
718
env : ${{ matrix.env_vars }}
699
719
run : ./ci/ci.sh
700
720
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
+
701
730
- run : cat tests.log || true
702
731
if : ${{ always() }}
703
732
- run : cat noverify_tests.log || true
@@ -751,14 +780,20 @@ jobs:
751
780
# Use the bash shell included with Git for Windows.
752
781
shell : bash
753
782
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
755
790
756
791
- name : Check
757
792
run : |
758
793
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
762
797
763
798
win64-native-headers :
764
799
name : " x64 (MSVC): C++ (public headers)"
@@ -790,6 +825,7 @@ jobs:
790
825
RECOVERY : ' yes'
791
826
EXTRAKEYS : ' yes'
792
827
SCHNORRSIG : ' yes'
828
+ MUSIG : ' yes'
793
829
ELLSWIFT : ' yes'
794
830
795
831
steps :
0 commit comments