diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index f4a91a1ff..be6fc254f 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -18,5 +18,10 @@ jobs: uses: ./.github/workflows/docker-OpenWrt.yml os-check: uses: ./.github/workflows/os-check.yml - osp: - uses: ./.github/workflows/osp-check.yml + stunnel: + uses: ./.github/workflows/opensource/stunnel-check.yml + openvpn: + uses: ./.github/workflows/opensource/openvpn-check.yml +# TODO: Currently this test fails. Enable it once it becomes passing. +# haproxy: +# uses: ./.github/workflows/opensource/haproxy-check.yml diff --git a/.github/workflows/opensource/haproxy.yml b/.github/workflows/opensource/haproxy.yml new file mode 100644 index 000000000..13335910b --- /dev/null +++ b/.github/workflows/opensource/haproxy.yml @@ -0,0 +1,50 @@ +name: HaProxy Tests + +on: + workflow_call: + +jobs: + haproxy_check: + strategy: + matrix: + # List of refs to test + ref: [ master ] + name: ${{ matrix.ref }} + runs-on: ubuntu-latest + steps: + - name: Build wolfSSL + uses: wolfSSL/actions-build-autotools-project@v1 + with: + path: wolfssl + configure: --enable-quic --enable-haproxy + install: true + + - name: Checkout VTest + uses: actions/checkout@v3 + with: + repository: vtest/VTest + path: VTest + + - name: Build VTest + working-directory: VTest + # Special flags due to: https://github.com/vtest/VTest/issues/12 + run: make FLAGS='-O2 -s -Wall' + + - name: Checkout HaProxy + uses: actions/checkout@v3 + with: + repository: haproxy/haproxy + path: haproxy + ref: ${{ matrix.ref }} + + - name: Build HaProxy + working-directory: haproxy + run: >- + make -j TARGET=linux-glibc DEBUG='-DDEBUG_MEMORY_POOLS -DDEBUG_STRICT' + USE_OPENSSL_WOLFSSL=1 USE_QUIC=1 SSL_INC=$GITHUB_WORKSPACE/build-dir/include/ + SSL_LIB=$GITHUB_WORKSPACE/build-dir/lib/ ADDLIB=-Wl,-rpath=$GITHUB_WORKSPACE/build-dir/lib + + - name: Test HaProxy + working-directory: haproxy + run: make reg-tests reg-tests/ssl VTEST_PROGRAM=$GITHUB_WORKSPACE/VTest/vtest + diff --git a/.github/workflows/opensource/openvpn.yml b/.github/workflows/opensource/openvpn.yml new file mode 100644 index 000000000..93af9d637 --- /dev/null +++ b/.github/workflows/opensource/openvpn.yml @@ -0,0 +1,36 @@ +name: OpenVPN Tests + +on: + workflow_call: + +jobs: + openvpn_check: + strategy: + matrix: + # List of refs to test + ref: [ master, release/2.6, v2.6.0 ] + name: ${{ matrix.ref }} + runs-on: ubuntu-latest + steps: + - name: Build wolfSSL + uses: wolfSSL/actions-build-autotools-project@v1 + with: + path: wolfssl + configure: --enable-openvpn + install: true + + - name: Install dependencies + run: sudo apt-get update && sudo apt-get install liblzo2-dev libpam0g-dev liblz4-dev libcap-ng-dev linux-libc-dev man2html libcmocka-dev python3-docutils libtool automake autoconf + + - name: Build and test openvpn + uses: wolfSSL/actions-build-autotools-project@v1 + with: + repository: OpenVPN/openvpn + ref: ${{ matrix.ref }} + path: openvpn + configure: >- + --with-crypto-library=wolfssl + WOLFSSL_CFLAGS="-I$GITHUB_WORKSPACE/build-dir/include/ -I$GITHUB_WORKSPACE/build-dir/include/wolfssl" + WOLFSSL_LIBS="-L$GITHUB_WORKSPACE/build-dir/lib -lwolfssl" + check: true + diff --git a/.github/workflows/opensource/stunnel.yml b/.github/workflows/opensource/stunnel.yml new file mode 100644 index 000000000..1821eb5e6 --- /dev/null +++ b/.github/workflows/opensource/stunnel.yml @@ -0,0 +1,41 @@ +name: stunnel Tests + +on: + workflow_call: + +jobs: + stunnel_check: + strategy: + matrix: + # List of releases to test + ref: [ 5.67 ] + name: ${{ matrix.ref }} + runs-on: ubuntu-latest + steps: + - name: Build wolfSSL + uses: wolfSSL/actions-build-autotools-project@v1 + with: + path: wolfssl + configure: --enable-stunnel + install: true + + - name: Checkout OSP + uses: actions/checkout@v3 + with: + repository: wolfssl/osp + path: osp + + - name: Build and test stunnel + uses: wolfSSL/actions-build-autotools-project@v1 + with: + repository: mtrojnar/stunnel + ref: stunnel-${{ matrix.ref }} + path: stunnel + patch-file: $GITHUB_WORKSPACE/osp/stunnel/${{ matrix.ref }}/stunnel-${{ matrix.ref }}.patch + configure: --enable-wolfssl SSLDIR=$GITHUB_WORKSPACE/build-dir + check: true + + - name: Confirm stunnel built with wolfSSL + working-directory: ./stunnel + run: ldd src/stunnel | grep wolfssl + diff --git a/.github/workflows/osp-check.yml b/.github/workflows/osp-check.yml deleted file mode 100644 index a238b9c96..000000000 --- a/.github/workflows/osp-check.yml +++ /dev/null @@ -1,115 +0,0 @@ -name: OSP Tests - -on: - workflow_call: - -jobs: - stunnel_check: - strategy: - matrix: - # List of releases to test - ref: [ 5.67 ] - name: stunnel ${{ matrix.ref }} - runs-on: ubuntu-latest - steps: - - name: Build wolfSSL - uses: wolfSSL/actions-build-autotools-project@v1 - with: - path: wolfssl - configure: --enable-stunnel - install: true - - - name: Checkout OSP - uses: actions/checkout@v3 - with: - repository: wolfssl/osp - path: osp - - - name: Build and test stunnel - uses: wolfSSL/actions-build-autotools-project@v1 - with: - repository: mtrojnar/stunnel - ref: stunnel-${{ matrix.ref }} - path: stunnel - patch-file: $GITHUB_WORKSPACE/osp/stunnel/${{ matrix.ref }}/stunnel-${{ matrix.ref }}.patch - configure: --enable-wolfssl SSLDIR=$GITHUB_WORKSPACE/build-dir - check: true - - - name: Confirm stunnel built with wolfSSL - working-directory: ./stunnel - run: ldd src/stunnel | grep wolfssl - - openvpn_check: - strategy: - matrix: - # List of refs to test - ref: [ master, release/2.6, v2.6.0 ] - name: openvpn ${{ matrix.ref }} - runs-on: ubuntu-latest - steps: - - name: Build wolfSSL - uses: wolfSSL/actions-build-autotools-project@v1 - with: - path: wolfssl - configure: --enable-openvpn - install: true - - - name: Install dependencies - run: sudo apt-get update && sudo apt-get install liblzo2-dev libpam0g-dev liblz4-dev libcap-ng-dev linux-libc-dev man2html libcmocka-dev python3-docutils libtool automake autoconf - - - name: Build and test openvpn - uses: wolfSSL/actions-build-autotools-project@v1 - with: - repository: OpenVPN/openvpn - ref: ${{ matrix.ref }} - path: openvpn - configure: >- - --with-crypto-library=wolfssl - WOLFSSL_CFLAGS="-I$GITHUB_WORKSPACE/build-dir/include/ -I$GITHUB_WORKSPACE/build-dir/include/wolfssl" - WOLFSSL_LIBS="-L$GITHUB_WORKSPACE/build-dir/lib -lwolfssl" - check: true - -# TODO: Currently this test fails. Enable it once it becomes passing. -# haproxy_check: -# strategy: -# matrix: -# # List of refs to test -# ref: [ master ] -# name: haproxy ${{ matrix.ref }} -# runs-on: ubuntu-latest -# steps: -# - name: Build wolfSSL -# uses: wolfSSL/actions-build-autotools-project@v1 -# with: -# path: wolfssl -# configure: --enable-quic --enable-haproxy -# install: true -# -# - name: Checkout VTest -# uses: actions/checkout@v3 -# with: -# repository: vtest/VTest -# path: VTest -# -# - name: Build VTest -# working-directory: VTest -# # Special flags due to: https://github.com/vtest/VTest/issues/12 -# run: make FLAGS='-O2 -s -Wall' -# -# - name: Checkout HaProxy -# uses: actions/checkout@v3 -# with: -# repository: haproxy/haproxy -# path: haproxy -# -# - name: Build HaProxy -# working-directory: haproxy -# run: >- -# make -j TARGET=linux-glibc DEBUG='-DDEBUG_MEMORY_POOLS -DDEBUG_STRICT' -# USE_OPENSSL_WOLFSSL=1 USE_QUIC=1 SSL_INC=$GITHUB_WORKSPACE/build-dir/include/ -# SSL_LIB=$GITHUB_WORKSPACE/build-dir/lib/ ADDLIB=-Wl,-rpath=$GITHUB_WORKSPACE/build-dir/lib -# -# - name: Test HaProxy -# working-directory: haproxy -# run: make reg-tests reg-tests/ssl VTEST_PROGRAM=$GITHUB_WORKSPACE/VTest/vtest - \ No newline at end of file