]> Git Repo - secp256k1.git/blob - .travis.yml
Remove Java Native Interface
[secp256k1.git] / .travis.yml
1 language: c
2 os: linux
3 addons:
4   apt:
5     packages: libgmp-dev
6 compiler:
7   - clang
8   - gcc
9 env:
10   global:
11     - FIELD=auto  BIGNUM=auto  SCALAR=auto  ENDOMORPHISM=no  STATICPRECOMPUTATION=yes  ECMULTGENPRECISION=auto  ASM=no  BUILD=check  EXTRAFLAGS=  HOST=  ECDH=no  RECOVERY=no  EXPERIMENTAL=no
12   matrix:
13     - SCALAR=32bit    RECOVERY=yes
14     - SCALAR=32bit    FIELD=32bit       ECDH=yes  EXPERIMENTAL=yes
15     - SCALAR=64bit
16     - FIELD=64bit     RECOVERY=yes
17     - FIELD=64bit     ENDOMORPHISM=yes
18     - FIELD=64bit     ENDOMORPHISM=yes  ECDH=yes EXPERIMENTAL=yes
19     - FIELD=64bit                       ASM=x86_64
20     - FIELD=64bit     ENDOMORPHISM=yes  ASM=x86_64
21     - FIELD=32bit     ENDOMORPHISM=yes
22     - BIGNUM=no
23     - BIGNUM=no       ENDOMORPHISM=yes RECOVERY=yes EXPERIMENTAL=yes
24     - BIGNUM=no       STATICPRECOMPUTATION=no
25     - BUILD=distcheck
26     - EXTRAFLAGS=CPPFLAGS=-DDETERMINISTIC
27     - EXTRAFLAGS=CFLAGS=-O0
28     - ECMULTGENPRECISION=2
29     - ECMULTGENPRECISION=8
30 matrix:
31   fast_finish: true
32   include:
33     - compiler: clang
34       env: HOST=i686-linux-gnu ENDOMORPHISM=yes
35       addons:
36         apt:
37           packages:
38             - gcc-multilib
39             - libgmp-dev:i386
40     - compiler: clang
41       env: HOST=i686-linux-gnu
42       addons:
43         apt:
44           packages:
45             - gcc-multilib
46     - compiler: gcc
47       env: HOST=i686-linux-gnu ENDOMORPHISM=yes
48       addons:
49         apt:
50           packages:
51             - gcc-multilib
52     - compiler: gcc
53       env: HOST=i686-linux-gnu
54       addons:
55         apt:
56           packages:
57             - gcc-multilib
58             - libgmp-dev:i386
59     - compiler: gcc
60       env:
61         - BIGNUM=no  ENDOMORPHISM=yes  ASM=x86_64 EXPERIMENTAL=yes ECDH=yes  RECOVERY=yes
62         - VALGRIND=yes EXTRAFLAGS="--disable-openssl-tests CPPFLAGS=-DVALGRIND" BUILD=
63       addons:
64         apt:
65           packages:
66             - valgrind
67     - compiler: gcc
68       env: # The same as above but without endomorphism.
69         - BIGNUM=no  ENDOMORPHISM=no  ASM=x86_64 EXPERIMENTAL=yes ECDH=yes  RECOVERY=yes
70         - VALGRIND=yes EXTRAFLAGS="--disable-openssl-tests CPPFLAGS=-DVALGRIND" BUILD=
71       addons:
72         apt:
73           packages:
74             - valgrind
75
76 before_script: ./autogen.sh
77
78 script:
79  - if [ -n "$HOST" ]; then export USE_HOST="--host=$HOST"; fi
80  - if [ "x$HOST" = "xi686-linux-gnu" ]; then export CC="$CC -m32"; fi
81  - ./configure --enable-experimental=$EXPERIMENTAL --enable-endomorphism=$ENDOMORPHISM --with-field=$FIELD --with-bignum=$BIGNUM --with-asm=$ASM --with-scalar=$SCALAR --enable-ecmult-static-precomputation=$STATICPRECOMPUTATION --with-ecmult-gen-precision=$ECMULTGENPRECISION --enable-module-ecdh=$ECDH --enable-module-recovery=$RECOVERY $EXTRAFLAGS $USE_HOST
82  - if [ -n "$BUILD" ]; then make -j2 $BUILD; fi
83  - # travis_wait extends the 10 minutes without output allowed (https://docs.travis-ci.com/user/common-build-problems/#build-times-out-because-no-output-was-received)
84  - # the `--error-exitcode` is required to make the test fail if valgrind found errors, otherwise it'll return 0 (http://valgrind.org/docs/manual/manual-core.html)
85  - if [ -n "$VALGRIND" ]; then
86    make -j2 &&
87    travis_wait 30 valgrind --error-exitcode=42 ./tests 16 &&
88    travis_wait 30 valgrind --error-exitcode=42 ./exhaustive_tests;
89    fi
90
91 after_script:
92     - cat ./tests.log
93     - cat ./exhaustive_tests.log
This page took 0.028462 seconds and 4 git commands to generate.