|
7 | 7 | tags-ignore:
|
8 | 8 | - '**'
|
9 | 9 |
|
| 10 | +env: |
| 11 | + ### compiler options |
| 12 | + HOST: |
| 13 | + WRAPPER_CMD: |
| 14 | + # Specific warnings can be disabled with -Wno-error=foo. |
| 15 | + # -pedantic-errors is not equivalent to -Werror=pedantic and thus not implied by -Werror according to the GCC manual. |
| 16 | + WERROR_CFLAGS: '-Werror -pedantic-errors' |
| 17 | + MAKEFLAGS: '-j4' |
| 18 | + BUILD: 'check' |
| 19 | + ### secp256k1 config |
| 20 | + ECMULTWINDOW: 'auto' |
| 21 | + ECMULTGENPRECISION: 'auto' |
| 22 | + ASM: 'no' |
| 23 | + WIDEMUL: 'auto' |
| 24 | + WITH_VALGRIND: 'yes' |
| 25 | + EXTRAFLAGS: |
| 26 | + ### secp256k1 modules |
| 27 | + EXPERIMENTAL: 'no' |
| 28 | + ECDH: 'no' |
| 29 | + RECOVERY: 'no' |
| 30 | + SCHNORRSIG: 'no' |
| 31 | + ELLSWIFT: 'no' |
| 32 | + ### test options |
| 33 | + SECP256K1_TEST_ITERS: |
| 34 | + BENCH: 'yes' |
| 35 | + SECP256K1_BENCH_ITERS: 2 |
| 36 | + CTIMETESTS: 'yes' |
| 37 | + # Compile and run the examples. |
| 38 | + EXAMPLES: 'yes' |
| 39 | + |
10 | 40 | jobs:
|
11 | 41 | check_dependencies:
|
12 | 42 | runs-on: ubuntu-latest
|
|
47 | 77 | packages: write
|
48 | 78 | needs: check_dependencies
|
49 | 79 | if: needs.check_dependencies.outputs.image_invalidated
|
| 80 | + |
| 81 | + x86_64_debian_stable: |
| 82 | + name: "x86_64: Linux (Debian stable)" |
| 83 | + runs-on: ubuntu-latest |
| 84 | + needs: [check_dependencies, docker_image] |
| 85 | + container: ghcr.io/${{ github.repository_owner }}/secp256k1-ci-image:${{ needs.check_dependencies.outputs.image_tag }} |
| 86 | + if: ${{ always() }} |
| 87 | + |
| 88 | + strategy: |
| 89 | + fail-fast: false |
| 90 | + matrix: |
| 91 | + env_var: |
| 92 | + - 'WIDEMUL=int64 RECOVERY=yes' |
| 93 | + - 'WIDEMUL=int64 ECDH=yes SCHNORRSIG=yes ELLSWIFT=yes' |
| 94 | + - 'WIDEMUL=int128' |
| 95 | + - 'WIDEMUL=int128_struct ELLSWIFT=yes' |
| 96 | + - 'WIDEMUL=int128 RECOVERY=yes SCHNORRSIG=yes ELLSWIFT=yes' |
| 97 | + - 'WIDEMUL=int128 ECDH=yes SCHNORRSIG=yes' |
| 98 | + - 'WIDEMUL=int128 ASM=x86_64 ELLSWIFT=yes' |
| 99 | + - ' RECOVERY=yes SCHNORRSIG=yes' |
| 100 | + - 'CTIMETESTS=no RECOVERY=yes ECDH=yes SCHNORRSIG=yes CPPFLAGS=-DVERIFY' |
| 101 | + - 'BUILD=distcheck WITH_VALGRIND=no CTIMETESTS=no BENCH=no' |
| 102 | + - 'CPPFLAGS=-DDETERMINISTIC' |
| 103 | + - 'CFLAGS=-O0 CTIMETESTS=no' |
| 104 | + - 'CFLAGS=-O1 RECOVERY=yes ECDH=yes SCHNORRSIG=yes ELLSWIFT=yes' |
| 105 | + - 'ECMULTGENPRECISION=2 ECMULTWINDOW=2' |
| 106 | + - 'ECMULTGENPRECISION=8 ECMULTWINDOW=4' |
| 107 | + cc: ['gcc', 'clang', 'gcc-snapshot', 'clang-snapshot'] |
| 108 | + |
| 109 | + steps: |
| 110 | + - name: Checkout |
| 111 | + uses: actions/checkout@v3 |
| 112 | + |
| 113 | + - name: Run test script |
| 114 | + env: |
| 115 | + CC: ${{ matrix.cc }} |
| 116 | + run: | |
| 117 | + git config --global --add safe.directory "$GITHUB_WORKSPACE" |
| 118 | + env ${{ matrix.env_var }} ./ci/cirrus.sh |
| 119 | +
|
| 120 | + - run: cat tests.log || true |
| 121 | + if: ${{ always() }} |
| 122 | + - run: cat noverify_tests.log || true |
| 123 | + if: ${{ always() }} |
| 124 | + - run: cat exhaustive_tests.log || true |
| 125 | + if: ${{ always() }} |
| 126 | + - run: cat ctime_tests.log || true |
| 127 | + if: ${{ always() }} |
| 128 | + - run: cat bench.log || true |
| 129 | + if: ${{ always() }} |
| 130 | + - run: cat config.log || true |
| 131 | + if: ${{ always() }} |
| 132 | + - run: cat test_env.log || true |
| 133 | + if: ${{ always() }} |
| 134 | + - run: env |
| 135 | + if: ${{ always() }} |
0 commit comments