aboutsummaryrefslogtreecommitdiff
path: root/.travis.yml
blob: 47f49b825e0f8c4123a521cf025e7fbab49e98b5 (plain)
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
sudo: required
dist: xenial

os: linux

language: c

addons:
  apt:
    packages: [ cpanminus ]
  homebrew:
    packages: [ cpanminus ]

env:
  global:
    - PREFIX=${HOME}/opt
    - PATH=${PREFIX}/bin:${PATH}
    - OPENSSL_BRANCH=master

matrix:
  include:
    - os: linux
      compiler: gcc
    - env: ASAN=-DASAN=1
      os: linux
      compiler: gcc
    - os: osx
      compiler: clang


before_script:
  - sudo cpanm --notest Test2::V0 > build.log 2>&1 || (cat build.log && exit 1)
  - git clone --depth 1 -b ${OPENSSL_BRANCH} https://github.com/openssl/openssl.git
  - cd openssl
  - ./config shared -d --prefix=${PREFIX} --openssldir=${PREFIX} && make -j$(nproc) all && make install_sw > build.log 2>&1 || (cat build.log && exit 1)
  - cd ..

script:
  - if [ "${TRAVIS_OS_NAME}" = "linux" ]; then export LD_LIBRARY_PATH="${PREFIX}/lib:${LD_LIBRARY_PATH:-}"; fi
  - if [ "${TRAVIS_OS_NAME}" = "osx" ]; then export DYLD_LIBRARY_PATH="${PREFIX}/lib:${DYLD_LIBRARY_PATH:-}"; fi
  - mkdir build
  - cd build
  - cmake -DOPENSSL_ROOT_DIR=${PREFIX} -DOPENSSL_LIBRARIES=${PREFIX}/lib -DOPENSSL_ENGINES_DIR=${PREFIX}/engines ${ASAN} ..
  - make
  - if [ "${TRAVIS_OS_NAME}" = "osx" ]; then cp bin/gost.{dylib,so}; fi # this hack is most probably related to https://github.com/openssl/openssl/issues/727
  - make test CTEST_OUTPUT_ON_FAILURE=1