aboutsummaryrefslogtreecommitdiff
path: root/.travis.yml
blob: 5a3ca214183a55de230254449243c9bc131ea704 (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
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
sudo: required
dist: bionic

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: LABEL="linux-ppc64le" CMAKE_VERSION=3.15.1
      os: linux-ppc64le
      compiler: gcc
      install:
        - wget https://cmake.org/files/v${CMAKE_VERSION%.*}/cmake-${CMAKE_VERSION}.tar.gz && tar -xzf cmake-${CMAKE_VERSION}.tar.gz
        - cd cmake-${CMAKE_VERSION} && ./bootstrap && sudo make install && cd ..
    - env: ASAN=-DASAN=1
      os: linux
      compiler: gcc
    - env: COVERITY_SCAN_PROJECT_NAME="gost-engine" COVERITY_SCAN_BRANCH_PATTERN="*" COVERITY_SCAN_NOTIFICATION_EMAIL="beldmit@gmail.com" COVERITY_SCAN_BUILD_COMMAND="make"
      if: type == cron
      os: linux
      compiler: gcc
      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
    - os: linux
      compiler: gcc
    - os: linux
      arch: arm64
      compiler: gcc
    - os: osx
      compiler: clang

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)
  - 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
  - make test CTEST_OUTPUT_ON_FAILURE=1