dist: bionic os: linux language: c env: global: - PREFIX=${HOME}/opt - PATH=${PREFIX}/bin:${PATH} - OPENSSL_BRANCH=openssl-3.0.0-alpha8 - 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="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 - 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