From 42a6213fe3bab6003121069ef28a1419e2342b3c Mon Sep 17 00:00:00 2001 From: Vitaly Chikunov Date: Thu, 7 Jan 2021 22:05:16 +0300 Subject: [PATCH] CI: Covert some Travis-CI to GitHub Actions All, excluding ppc64le/s390x/ar64 architectures, macOS, and Coverity run. --- .github/before_script.sh | 19 ++++++++++++++ .github/script.sh | 13 ++++++++++ .github/workflows/ci.yml | 54 ++++++++++++++++++++++++++++++++++++++++ 3 files changed, 86 insertions(+) create mode 100755 .github/before_script.sh create mode 100755 .github/script.sh create mode 100644 .github/workflows/ci.yml diff --git a/.github/before_script.sh b/.github/before_script.sh new file mode 100755 index 0000000..7a86543 --- /dev/null +++ b/.github/before_script.sh @@ -0,0 +1,19 @@ +#!/bin/bash -efux + +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 + +PREFIX=$HOME/opt + +${SETARCH-} ./config shared -d --prefix=$PREFIX --openssldir=$PREFIX -Wl,-rpath=$PREFIX/lib +${SETARCH-} make -s -j$(nproc) build_libs +${SETARCH-} make -s -j$(nproc) build_programs +make -s install_sw diff --git a/.github/script.sh b/.github/script.sh new file mode 100755 index 0000000..dcc4ea8 --- /dev/null +++ b/.github/script.sh @@ -0,0 +1,13 @@ +#!/bin/bash -efux + +PREFIX=$HOME/opt +PATH=$PREFIX/bin:$PATH + +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 diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 0000000..2fbc154 --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,54 @@ +name: CI +on: [push, pull_request] + +env: + OPENSSL_BRANCH: openssl-3.0.0-alpha8 + +jobs: + gcc-openssl-stable: + runs-on: ubuntu-20.04 + steps: + - uses: actions/checkout@v2 + - run: .github/before_script.sh + - run: .github/script.sh + + clang-openssl-stable: + runs-on: ubuntu-20.04 + env: + CC: clang + steps: + - uses: actions/checkout@v2 + - run: .github/before_script.sh + - run: .github/script.sh + + gcc-openssl-master: + runs-on: ubuntu-20.04 + env: + OPENSSL_BRANCH: master + steps: + - uses: actions/checkout@v2 + - run: .github/before_script.sh + - run: .github/script.sh + + gcc-asan-openssl-master: + runs-on: ubuntu-20.04 + env: + OPENSSL_BRANCH: master + ASAN: -DASAN=1 + steps: + - uses: actions/checkout@v2 + - run: .github/before_script.sh + - run: .github/script.sh + + gcc-openssl-stable-x86: + runs-on: ubuntu-20.04 + env: + CFLAGS: -m32 + LDFLAGS: -m32 + SETARCH: "setarch i386" + APT_INSTALL: gcc-multilib + steps: + - uses: actions/checkout@v2 + - run: .github/before_script.sh + - run: .github/script.sh + -- 2.39.5