]> www.wagner.pp.ru Git - openssl-gost/engine.git/blob - .travis.yml
Merge branch 'master' of https://github.com/gost-engine/engine
[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=openssl-3.0.0-alpha2
12     #- OPENSSL_BRANCH=master
13     - RPATH="-Wl,-rpath=${PREFIX}/lib"
14
15 matrix:
16   include:
17     - name: gcc | openssl-stable
18     - name: clang | openssl-stable
19       compiler: clang
20     - name: gcc | openssl-master
21       env: OPENSSL_BRANCH=master
22     # Dynamic and static analysers
23     - name: gcc+ASan | openssl-stable
24       env: ASAN=-DASAN=1
25     - name: gcc+Coverity | openssl-stable (cron)
26       env: COVERITY_SCAN_PROJECT_NAME="gost-engine" COVERITY_SCAN_BRANCH_PATTERN="*" COVERITY_SCAN_NOTIFICATION_EMAIL="beldmit@gmail.com" COVERITY_SCAN_BUILD_COMMAND="make"
27       if: type == cron
28       script:
29         - mkdir build
30         - cd build
31         - cmake -DOPENSSL_ROOT_DIR=${PREFIX} -DOPENSSL_LIBRARIES=${PREFIX}/lib -DOPENSSL_ENGINES_DIR=${PREFIX}/engines ..
32         - curl -s "https://scan.coverity.com/scripts/travisci_build_coverity_scan.sh" | bash || true
33     # Other arches
34     - name: gcc | openssl-stable
35       env: CFLAGS=-m32 LDFLAGS=-m32 SETARCH="setarch i386" APT_INSTALL=gcc-multilib
36     - name: gcc | openssl-stable
37       arch: ppc64le
38     - name: gcc | openssl-stable
39       arch: arm64
40     - name: gcc | openssl-stable
41       arch: s390x
42     # Non-linux
43     - name: clang | openssl-stable
44       os: osx
45       compiler: clang
46       env: RPATH="-Wl,-rpath,${PREFIX}/lib"
47   allow_failures:
48       env: OPENSSL_BRANCH=master
49       if: type == pull_request
50
51 before_script:
52   - curl -L https://cpanmin.us | sudo perl - --sudo App::cpanminus
53   - sudo cpanm --notest Test2::V0 > build.log 2>&1 || (cat build.log && exit 1)
54   - if [ "$APT_INSTALL" ]; then sudo apt-get install -y $APT_INSTALL; fi
55   - git clone --depth 1 -b ${OPENSSL_BRANCH} https://github.com/openssl/openssl.git
56   - cd openssl
57   - git describe --always --long
58   - $SETARCH ./config shared -d --prefix=${PREFIX} --openssldir=${PREFIX} ${RPATH}
59   - travis_wait $SETARCH make -s -j$(nproc) build_libs
60   - travis_wait $SETARCH make -s -j$(nproc) build_programs
61   - make -s install_sw
62   - cd ..
63
64 script:
65   - mkdir build
66   - cd build
67   - cmake -DOPENSSL_ROOT_DIR=${PREFIX} -DOPENSSL_LIBRARIES=${PREFIX}/lib -DOPENSSL_ENGINES_DIR=${PREFIX}/engines ${ASAN} ..
68   - make
69   - make test CTEST_OUTPUT_ON_FAILURE=1
70   - if [ -z "$ASAN" ]; then make tcl_tests; fi