--- /dev/null
+#!/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
--- /dev/null
+#!/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
--- /dev/null
+name: CI
+on: [push, pull_request]
+
+env:
+ OPENSSL_BRANCH: openssl-3.0.0-alpha17
+
+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
+
+ macos-asan-openssl-master:
+ runs-on: macos-latest
+ env:
+ OPENSSL_BRANCH: master
+ ASAN: -DASAN=1
+ steps:
+ - name: install cpanm and Test2::V0
+ uses: perl-actions/install-with-cpanm@v1
+ with:
+ install: Test2::V0
+ - name: Checkout gost-engine
+ uses: actions/checkout@v2
+ - name: checkout OpenSSL
+ uses: actions/checkout@v2
+ with:
+ repository: openssl/openssl
+ ref: master
+ path: openssl
+ - name: configure OpenSSL
+ run: |
+ mkdir $HOME/opt
+ ./Configure --prefix=$HOME/opt
+ working-directory: openssl
+ - name: build+install OpenSSL
+ run: make -s install_sw
+ working-directory: openssl
+ - 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
+
name: "CodeQL"
+env:
+ OPENSSL_BRANCH: openssl-3.0.0-alpha17
+ #RPATH: "-Wl,-rpath=${PREFIX}/lib"
+ #PREFIX: ${HOME}/opt
+ #PATH: ${PREFIX}/bin:${PATH}
+
on:
push:
branches: [master, ]
# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
uses: github/codeql-action/init@v1
+ # languages: cpp
# Override language selection by uncommenting this and choosing your languages
# with:
- # languages: go, javascript, csharp, python, cpp, java
# Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
# If this step fails, then you should remove it and run the build manually (see below)
- - name: Autobuild
- uses: github/codeql-action/autobuild@v1
+ #- name: Autobuild
+ # uses: github/codeql-action/autobuild@v1
# âšī¸ Command-line programs to run using the OS shell.
# đ https://git.io/JvXDl
# and modify them (or add more) to build your code if your project
# uses a compiled language
- #- run: |
- # make bootstrap
- # make release
+ - run: |
+ 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
+ export PREFIX=`pwd`/opt
+ export RPATH="-Wl,-rpath=${PREFIX}/lib"
+ cd openssl
+ git describe --always --long
+ ./config shared -d --prefix=${PREFIX} --openssldir=${PREFIX} ${RPATH}
+ make -s build_libs
+ make -s build_programs
+ make -s install_sw
+ cd ..
+ set -e
+ mkdir build
+ cd build
+ cmake -DOPENSSL_ROOT_DIR=${PREFIX} -DOPENSSL_LIBRARIES=${PREFIX}/lib -DOPENSSL_ENGINES_DIR=${PREFIX}/engines ${ASAN} ..
+ make
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v1