]> www.wagner.pp.ru Git - openssl-gost/engine.git/blobdiff - .travis.yml
Tests against master
[openssl-gost/engine.git] / .travis.yml
index b3d8ad107d9cdc81acd1a8f1c3d293a1620c1350..5a3ca214183a55de230254449243c9bc131ea704 100644 (file)
@@ -1,35 +1,65 @@
 sudo: required
-dist: trusty
+dist: bionic
 
 os: linux
 
 language: c
 
+addons:
+  apt:
+    packages: [ cpanminus ]
+  homebrew:
+    packages: [ cpanminus ]
+
 env:
   global:
     - PREFIX=${HOME}/opt
-    - LD_LIBRARY_PATH=${PREFIX}/lib
     - PATH=${PREFIX}/bin:${PATH}
-    - OPENSSL_ENGINES=${TRAVIS_BUILD_DIR}/bin
+    - OPENSSL_BRANCH=master
 
 matrix:
   include:
-    - env: OPENSSL_BRANCH=master
+    - 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: OPENSSL_BRANCH=OpenSSL_1_1_0-stable
+    - 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
-#    - env: OPENSSL_BRANCH=OpenSSL_1_0_2-stable
-#      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:
-  - git clone -b ${OPENSSL_BRANCH} https://github.com/openssl/openssl.git
+  - 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 --prefix=${PREFIX} --openssldir=${PREFIX} && make all install_sw > build.log 2>&1 || (cat build.log && exit 1)
+  - ./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:
-  - cmake -DOPENSSL_ROOT_DIR=${PREFIX} -DOPENSSL_LIBRARIES=${PREFIX}/lib && make
-  - prove -v test/{00-engine.t,01-digest.t,02-mac.t,03-encrypt.t}
+  - 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