]> Git Repo - secp256k1.git/blob - .travis.yml
4d5adf779d539ce203166a666bb307411bbf5414
[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 cache:
10   directories:
11   - src/java/guava/
12 env:
13   global:
14     - FIELD=auto  BIGNUM=auto  SCALAR=auto  ENDOMORPHISM=no  STATICPRECOMPUTATION=yes  ECMULTGENPRECISION=auto  ASM=no  BUILD=check  EXTRAFLAGS=  HOST=  ECDH=no  RECOVERY=no  EXPERIMENTAL=no  JNI=no
15     - GUAVA_URL=https://search.maven.org/remotecontent?filepath=com/google/guava/guava/18.0/guava-18.0.jar GUAVA_JAR=src/java/guava/guava-18.0.jar
16   matrix:
17     - SCALAR=32bit    RECOVERY=yes
18     - SCALAR=32bit    FIELD=32bit       ECDH=yes  EXPERIMENTAL=yes
19     - SCALAR=64bit
20     - FIELD=64bit     RECOVERY=yes
21     - FIELD=64bit     ENDOMORPHISM=yes
22     - FIELD=64bit     ENDOMORPHISM=yes  ECDH=yes EXPERIMENTAL=yes
23     - FIELD=64bit                       ASM=x86_64
24     - FIELD=64bit     ENDOMORPHISM=yes  ASM=x86_64
25     - FIELD=32bit     ENDOMORPHISM=yes
26     - BIGNUM=no
27     - BIGNUM=no       ENDOMORPHISM=yes RECOVERY=yes EXPERIMENTAL=yes
28     - BIGNUM=no       STATICPRECOMPUTATION=no
29     - BUILD=distcheck
30     - EXTRAFLAGS=CPPFLAGS=-DDETERMINISTIC
31     - EXTRAFLAGS=CFLAGS=-O0
32     - BUILD=check-java JNI=yes ECDH=yes EXPERIMENTAL=yes
33     - ECMULTGENPRECISION=2
34     - ECMULTGENPRECISION=8
35 matrix:
36   fast_finish: true
37   include:
38     - compiler: clang
39       env: HOST=i686-linux-gnu ENDOMORPHISM=yes
40       addons:
41         apt:
42           packages:
43             - gcc-multilib
44             - libgmp-dev:i386
45     - compiler: clang
46       env: HOST=i686-linux-gnu
47       addons:
48         apt:
49           packages:
50             - gcc-multilib
51     - compiler: gcc
52       env: HOST=i686-linux-gnu ENDOMORPHISM=yes
53       addons:
54         apt:
55           packages:
56             - gcc-multilib
57     - compiler: gcc
58       env: HOST=i686-linux-gnu
59       addons:
60         apt:
61           packages:
62             - gcc-multilib
63             - libgmp-dev:i386
64     - compiler: gcc
65       env:
66         - BIGNUM=no  ENDOMORPHISM=yes  ASM=x86_64 EXPERIMENTAL=yes ECDH=yes  RECOVERY=yes
67         - VALGRIND=yes EXTRAFLAGS="--disable-openssl-tests CPPFLAGS=-DVALGRIND" BUILD=
68       addons:
69         apt:
70           packages:
71             - valgrind
72     - compiler: gcc
73       env: # The same as above but without endomorphism.
74         - BIGNUM=no  ENDOMORPHISM=no  ASM=x86_64 EXPERIMENTAL=yes ECDH=yes  RECOVERY=yes
75         - VALGRIND=yes EXTRAFLAGS="--disable-openssl-tests CPPFLAGS=-DVALGRIND" BUILD=
76       addons:
77         apt:
78           packages:
79             - valgrind
80
81 before_install: mkdir -p `dirname $GUAVA_JAR`
82 install: if [ ! -f $GUAVA_JAR ]; then wget $GUAVA_URL -O $GUAVA_JAR; fi
83 before_script: ./autogen.sh
84
85 script:
86  - if [ -n "$HOST" ]; then export USE_HOST="--host=$HOST"; fi
87  - if [ "x$HOST" = "xi686-linux-gnu" ]; then export CC="$CC -m32"; fi
88  - ./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 --enable-jni=$JNI $EXTRAFLAGS $USE_HOST
89  - if [ -n "$BUILD" ]; then make -j2 $BUILD; fi
90  - # 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)
91  - # 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)
92  - if [ -n "$VALGRIND" ]; then
93    make -j2 &&
94    travis_wait 30 valgrind --error-exitcode=42 ./tests 16 &&
95    travis_wait 30 valgrind --error-exitcode=42 ./exhaustive_tests;
96    fi
97
98 after_script:
99     - cat ./tests.log
100     - cat ./exhaustive_tests.log
This page took 0.018473 seconds and 2 git commands to generate.