]> www.wagner.pp.ru Git - openssl-gost/engine.git/blob - .travis.yml
travis-ci: Fix build on 'OpenSSL_1_1_1-stable'
[openssl-gost/engine.git] / .travis.yml
1 dist: bionic
2
3 os: linux
4
5 language: c
6
7 env:
8   global:
9     - PREFIX=${HOME}/opt
10     - PATH=${PREFIX}/bin:${PATH}
11     - OPENSSL_BRANCH=master
12
13 matrix:
14   include:
15     - name: linux/gcc/x86_64/openssl-master
16       os: linux
17       compiler: gcc
18     - name: linux/clang/x86_64/openssl-master
19       os: linux
20       compiler: clang
21     - name: linux/gcc/i386/openssl-master
22       os: linux
23       compiler: gcc
24       env: CFLAGS=-m32 LDFLAGS=-m32 SETARCH="setarch i386" APT_INSTALL=gcc-multilib
25     - name: linux/gcc/x86_64/openssl-1.1.1
26       os: linux
27       compiler: gcc
28       env: OPENSSL_BRANCH=OpenSSL_1_1_1-stable
29       if: type != cron
30     - name: linux/gcc/ppc64le/openssl-master
31       os: linux
32       arch: ppc64le
33       compiler: gcc
34     - name: linux/gcc+ASan/x86_64/openssl-master
35       env: ASAN=-DASAN=1
36       os: linux
37       compiler: gcc
38     - name: linux/gcc+Coverity/x86_64 (cron)
39       env: COVERITY_SCAN_PROJECT_NAME="gost-engine" COVERITY_SCAN_BRANCH_PATTERN="*" COVERITY_SCAN_NOTIFICATION_EMAIL="beldmit@gmail.com" COVERITY_SCAN_BUILD_COMMAND="make"
40       if: type == cron
41       os: linux
42       compiler: gcc
43       script:
44         - mkdir build
45         - cd build
46         - cmake -DOPENSSL_ROOT_DIR=${PREFIX} -DOPENSSL_LIBRARIES=${PREFIX}/lib -DOPENSSL_ENGINES_DIR=${PREFIX}/engines ..
47         - curl -s "https://scan.coverity.com/scripts/travisci_build_coverity_scan.sh" | bash || true
48     - name: linux/gcc/arm64/openssl-master
49       os: linux
50       arch: arm64
51       compiler: gcc
52     - name: linux/gcc/s390x/openssl-master
53       os: linux
54       arch: s390x
55       compiler: gcc
56     - name: osx/clang/x86_64/openssl-master
57       os: osx
58       compiler: clang
59
60 before_script:
61   - curl -L https://cpanmin.us | sudo perl - --sudo App::cpanminus
62   - sudo cpanm --notest Test2::V0 > build.log 2>&1 || (cat build.log && exit 1)
63   - if [ "$APT_INSTALL" ]; then sudo apt-get install -y $APT_INSTALL; fi
64   - git clone --depth 1 -b ${OPENSSL_BRANCH} https://github.com/openssl/openssl.git
65   - cd openssl
66   - git describe --always --long
67   - $SETARCH ./config shared -d --prefix=${PREFIX} --openssldir=${PREFIX} -Wl,-rpath=${PREFIX}/lib
68   - travis_wait $SETARCH make -s -j$(nproc) build_libs
69   - travis_wait $SETARCH make -s -j$(nproc) build_programs
70   - make -s install_sw
71   - cd ..
72
73 script:
74   - mkdir build
75   - cd build
76   - cmake -DOPENSSL_ROOT_DIR=${PREFIX} -DOPENSSL_LIBRARIES=${PREFIX}/lib -DOPENSSL_ENGINES_DIR=${PREFIX}/engines ${ASAN} ..
77   - make
78   - make test CTEST_OUTPUT_ON_FAILURE=1
79   - if [ -z "$ASAN" ]; then make tcl_tests; fi