Skip to content

Commit c066aff

Browse files
committed
ci: Add "x86_64: Linux (Debian stable)" GitHub Actions job
1 parent 635becf commit c066aff

File tree

1 file changed

+86
-0
lines changed

1 file changed

+86
-0
lines changed

.github/workflows/ci.yml

Lines changed: 86 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,36 @@ on:
77
tags-ignore:
88
- '**'
99

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+
1040
jobs:
1141
check_dependencies:
1242
runs-on: ubuntu-latest
@@ -47,3 +77,59 @@ jobs:
4777
packages: write
4878
needs: check_dependencies
4979
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

Comments
 (0)