forked from gost-engine/engine
-
Notifications
You must be signed in to change notification settings - Fork 0
/
.travis.yml
71 lines (65 loc) · 2.33 KB
/
.travis.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
dist: bionic
os: linux
language: c
env:
global:
- PREFIX=${HOME}/opt
- PATH=${PREFIX}/bin:${PATH}
- OPENSSL_BRANCH=openssl-3.0.0-alpha2
#- OPENSSL_BRANCH=master
- RPATH="-Wl,-rpath=${PREFIX}/lib"
matrix:
include:
- name: gcc | openssl-stable
- name: clang | openssl-stable
compiler: clang
- name: gcc | openssl-master
env: OPENSSL_BRANCH=master
# Dynamic and static analysers
- name: gcc+ASan | openssl-stable
env: ASAN=-DASAN=1
- name: gcc+Coverity | openssl-stable (cron)
env: COVERITY_SCAN_PROJECT_NAME="gost-engine" COVERITY_SCAN_BRANCH_PATTERN="*" COVERITY_SCAN_NOTIFICATION_EMAIL="[email protected]" COVERITY_SCAN_BUILD_COMMAND="make"
if: type == cron
script:
- mkdir build
- cd build
- cmake -DOPENSSL_ROOT_DIR=${PREFIX} -DOPENSSL_LIBRARIES=${PREFIX}/lib -DOPENSSL_ENGINES_DIR=${PREFIX}/engines ..
- curl -s "https://scan.coverity.com/scripts/travisci_build_coverity_scan.sh" | bash || true
# Other arches
- name: gcc | openssl-stable
env: CFLAGS=-m32 LDFLAGS=-m32 SETARCH="setarch i386" APT_INSTALL=gcc-multilib
- name: gcc | openssl-stable
arch: ppc64le
- name: gcc | openssl-stable
arch: arm64
- name: gcc | openssl-stable
arch: s390x
# Non-linux
- name: clang | openssl-stable
os: osx
compiler: clang
env: RPATH="-Wl,-rpath,${PREFIX}/lib"
allow_failures:
env: OPENSSL_BRANCH=master
if: type == pull_request
before_script:
- curl -L https://cpanmin.us | sudo perl - --sudo App::cpanminus
- sudo cpanm --notest Test2::V0 > build.log 2>&1 || (cat build.log && exit 1)
- if [ "$APT_INSTALL" ]; then sudo apt-get install -y $APT_INSTALL; fi
- git clone --depth 1 -b ${OPENSSL_BRANCH} https://github.com/openssl/openssl.git
- cd openssl
- git describe --always --long
- $SETARCH ./config shared -d --prefix=${PREFIX} --openssldir=${PREFIX} ${RPATH}
- travis_wait $SETARCH make -s -j$(nproc) build_libs
- travis_wait $SETARCH make -s -j$(nproc) build_programs
- make -s install_sw
- cd ..
script:
- set -e
- mkdir build
- cd build
- cmake -DOPENSSL_ROOT_DIR=${PREFIX} -DOPENSSL_LIBRARIES=${PREFIX}/lib -DOPENSSL_ENGINES_DIR=${PREFIX}/engines ${ASAN} ..
- make
- make test CTEST_OUTPUT_ON_FAILURE=1
- if [ -z "$ASAN" ]; then make tcl_tests; fi