X-Git-Url: http://wagner.pp.ru/gitweb/?a=blobdiff_plain;f=.travis.yml;h=afe342281d1a3a5301ade84180e917c1429eadbc;hb=0321ed4fa2544e18001d8c50f852e676864aa980;hp=d76951099aae3da302b10c438ed21ffa2ae55138;hpb=a9b81949937c9eedc91d8e70d0d43fd7b29b9297;p=openssl-gost%2Fengine.git diff --git a/.travis.yml b/.travis.yml index d769510..afe3422 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,52 +1,70 @@ -sudo: required -dist: xenial +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 + - OPENSSL_BRANCH=openssl-3.0.0-alpha8 + - RPATH="-Wl,-rpath=${PREFIX}/lib" 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 - - os: osx + - 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="beldmit@gmail.com" 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 - - ./config shared -d --prefix=${PREFIX} --openssldir=${PREFIX} && make -j$(nproc) all && make install_sw > build.log 2>&1 || (cat build.log && exit 1) + - 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: - - 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 + - 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