mirror of
https://github.com/wolfSSL/wolfssl.git
synced 2025-07-30 10:47:28 +02:00
Merge pull request #6100 from julek-wolfssl/stunnel-github-action-test
Add OSP github action
This commit is contained in:
6
.github/workflows/docker-Espressif.yml
vendored
6
.github/workflows/docker-Espressif.yml
vendored
@ -4,7 +4,7 @@ on:
|
|||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
espressif_latest:
|
espressif_latest:
|
||||||
name: Test Espressif on latest Docker container
|
name: latest Docker container
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
container:
|
container:
|
||||||
image: espressif/idf:latest
|
image: espressif/idf:latest
|
||||||
@ -13,7 +13,7 @@ jobs:
|
|||||||
- name: Initialize Espressif IDE and build examples
|
- name: Initialize Espressif IDE and build examples
|
||||||
run: . /opt/esp/idf/export.sh; IDE/Espressif/ESP-IDF/compileAllExamples.sh
|
run: . /opt/esp/idf/export.sh; IDE/Espressif/ESP-IDF/compileAllExamples.sh
|
||||||
espressif_v4_4:
|
espressif_v4_4:
|
||||||
name: Test Espressif on v4.4 Docker container
|
name: v4.4 Docker container
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
container:
|
container:
|
||||||
image: espressif/idf:release-v4.4
|
image: espressif/idf:release-v4.4
|
||||||
@ -22,7 +22,7 @@ jobs:
|
|||||||
- name: Initialize Espressif IDE and build examples
|
- name: Initialize Espressif IDE and build examples
|
||||||
run: . /opt/esp/idf/export.sh; IDE/Espressif/ESP-IDF/compileAllExamples.sh
|
run: . /opt/esp/idf/export.sh; IDE/Espressif/ESP-IDF/compileAllExamples.sh
|
||||||
espressif_v5_0:
|
espressif_v5_0:
|
||||||
name: Test Espressif on v5.0 Docker container
|
name: v5.0 Docker container
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
container:
|
container:
|
||||||
image: espressif/idf:release-v5.0
|
image: espressif/idf:release-v5.0
|
||||||
|
5
.github/workflows/docker-OpenWrt.yml
vendored
5
.github/workflows/docker-OpenWrt.yml
vendored
@ -24,7 +24,7 @@ jobs:
|
|||||||
path: src/.libs/libwolfssl.so
|
path: src/.libs/libwolfssl.so
|
||||||
retention-days: 1
|
retention-days: 1
|
||||||
compile_container:
|
compile_container:
|
||||||
name: OpenWrt test
|
name: Compile container
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
needs: build_library
|
needs: build_library
|
||||||
strategy:
|
strategy:
|
||||||
@ -37,8 +37,7 @@ jobs:
|
|||||||
with:
|
with:
|
||||||
name: libwolfssl.so
|
name: libwolfssl.so
|
||||||
path: Docker/OpenWrt/.
|
path: Docker/OpenWrt/.
|
||||||
-
|
- name: Build but dont push
|
||||||
name: Build but dont push
|
|
||||||
uses: docker/build-push-action@v3
|
uses: docker/build-push-action@v3
|
||||||
with:
|
with:
|
||||||
context: Docker/OpenWrt
|
context: Docker/OpenWrt
|
||||||
|
50
.github/workflows/haproxy.yml
vendored
Normal file
50
.github/workflows/haproxy.yml
vendored
Normal file
@ -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
|
||||||
|
|
17
.github/workflows/main.yml
vendored
17
.github/workflows/main.yml
vendored
@ -1,4 +1,4 @@
|
|||||||
name: wolfSSL CI tests
|
name: CI
|
||||||
concurrency:
|
concurrency:
|
||||||
group: ${{ github.ref }}
|
group: ${{ github.ref }}
|
||||||
cancel-in-progress: true
|
cancel-in-progress: true
|
||||||
@ -10,11 +10,18 @@ on:
|
|||||||
branches: [ '*' ]
|
branches: [ '*' ]
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
call_docker-Espressif:
|
espressif:
|
||||||
uses: ./.github/workflows/docker-Espressif.yml
|
uses: ./.github/workflows/docker-Espressif.yml
|
||||||
call_multi-compiler:
|
multi-compiler:
|
||||||
uses: ./.github/workflows/multi-compiler.yml
|
uses: ./.github/workflows/multi-compiler.yml
|
||||||
call_docker-OpenWrt:
|
openwrt:
|
||||||
uses: ./.github/workflows/docker-OpenWrt.yml
|
uses: ./.github/workflows/docker-OpenWrt.yml
|
||||||
call_os-check:
|
os-check:
|
||||||
uses: ./.github/workflows/os-check.yml
|
uses: ./.github/workflows/os-check.yml
|
||||||
|
stunnel:
|
||||||
|
uses: ./.github/workflows/stunnel.yml
|
||||||
|
openvpn:
|
||||||
|
uses: ./.github/workflows/openvpn.yml
|
||||||
|
# TODO: Currently this test fails. Enable it once it becomes passing.
|
||||||
|
# haproxy:
|
||||||
|
# uses: ./.github/workflows/haproxy.yml
|
||||||
|
36
.github/workflows/openvpn.yml
vendored
Normal file
36
.github/workflows/openvpn.yml
vendored
Normal file
@ -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
|
||||||
|
|
149
.github/workflows/os-check.yml
vendored
149
.github/workflows/os-check.yml
vendored
@ -8,79 +8,68 @@ jobs:
|
|||||||
strategy:
|
strategy:
|
||||||
matrix:
|
matrix:
|
||||||
os: [ ubuntu-latest, macos-latest ]
|
os: [ ubuntu-latest, macos-latest ]
|
||||||
name: make_check on ${{ matrix.os }}
|
config: [
|
||||||
|
# Add new configs here
|
||||||
|
'',
|
||||||
|
'--enable-all --enable-asn=template',
|
||||||
|
'--enable-all --enable-asn=original',
|
||||||
|
]
|
||||||
|
name: make check
|
||||||
runs-on: ${{ matrix.os }}
|
runs-on: ${{ matrix.os }}
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v3
|
- name: Build and test wolfSSL
|
||||||
- if: ${{ matrix.os == 'macos-latest' }}
|
uses: wolfSSL/actions-build-autotools-project@v1
|
||||||
run: brew install automake libtool
|
with:
|
||||||
- run: ./autogen.sh
|
configure: ${{ matrix.config }}
|
||||||
- name: configure make check
|
check: true
|
||||||
run: |
|
|
||||||
./configure
|
|
||||||
make
|
|
||||||
make check
|
|
||||||
make distcheck
|
|
||||||
|
|
||||||
make_check_enable_all:
|
make_user_settings:
|
||||||
strategy:
|
strategy:
|
||||||
matrix:
|
matrix:
|
||||||
os: [ ubuntu-latest, macos-latest ]
|
os: [ ubuntu-latest, macos-latest ]
|
||||||
name: make_check_enable_all on ${{ matrix.os }}
|
user-settings: [
|
||||||
|
# Add new user_settings.h here
|
||||||
|
'examples/configs/user_settings_all.h',
|
||||||
|
]
|
||||||
|
name: make user_setting.h
|
||||||
runs-on: ${{ matrix.os }}
|
runs-on: ${{ matrix.os }}
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v3
|
- name: Build and test wolfSSL
|
||||||
- if: ${{ matrix.os == 'macos-latest' }}
|
uses: wolfSSL/actions-build-autotools-project@v1
|
||||||
run: brew install automake libtool
|
with:
|
||||||
- run: ./autogen.sh
|
configure: --enable-usersettings
|
||||||
- name: configure all make check
|
check: true
|
||||||
run: |
|
user-settings: ${{ matrix.user-settings }}
|
||||||
./configure --enable-all
|
|
||||||
make
|
|
||||||
make check
|
|
||||||
make distcheck
|
|
||||||
|
|
||||||
make_check_enable_all_asn:
|
make_user_settings_testwolfcrypt:
|
||||||
strategy:
|
strategy:
|
||||||
matrix:
|
matrix:
|
||||||
os: [ ubuntu-latest, macos-latest ]
|
os: [ ubuntu-latest, macos-latest ]
|
||||||
name: make_check_enable_all_asn on ${{ matrix.os }}
|
user-settings: [
|
||||||
|
# Add new user_settings.h here
|
||||||
|
'examples/configs/user_settings_min_ecc.h',
|
||||||
|
'examples/configs/user_settings_wolfboot_keytools.h',
|
||||||
|
'examples/configs/user_settings_wolftpm.h',
|
||||||
|
]
|
||||||
|
name: make user_setting.h (testwolfcrypt only)
|
||||||
runs-on: ${{ matrix.os }}
|
runs-on: ${{ matrix.os }}
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v3
|
- name: Build and test wolfSSL
|
||||||
- if: ${{ matrix.os == 'macos-latest' }}
|
uses: wolfSSL/actions-build-autotools-project@v1
|
||||||
run: brew install automake libtool
|
with:
|
||||||
- run: ./autogen.sh
|
configure: --enable-usersettings --disable-examples
|
||||||
- name: configure all ASN template
|
check: false
|
||||||
run: |
|
user-settings: ${{ matrix.user-settings }}
|
||||||
./configure --enable-all --enable-asn=template
|
|
||||||
make
|
|
||||||
make check
|
|
||||||
make distcheck
|
|
||||||
|
|
||||||
make_user:
|
- name: Run wolfcrypt/test/testwolfcrypt
|
||||||
strategy:
|
run: ./wolfcrypt/test/testwolfcrypt
|
||||||
matrix:
|
|
||||||
os: [ ubuntu-latest, macos-latest ]
|
|
||||||
name: make_user on ${{ matrix.os }}
|
|
||||||
runs-on: ${{ matrix.os }}
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v3
|
|
||||||
- if: ${{ matrix.os == 'macos-latest' }}
|
|
||||||
run: brew install automake libtool
|
|
||||||
- run: ./autogen.sh
|
|
||||||
- name: make user_settings_all.h
|
|
||||||
run: |
|
|
||||||
cp ./examples/configs/user_settings_all.h user_settings.h
|
|
||||||
./configure --enable-usersettings
|
|
||||||
make
|
|
||||||
make check
|
|
||||||
|
|
||||||
|
# Has to be dedicated function due to the sed call
|
||||||
make_user_all:
|
make_user_all:
|
||||||
strategy:
|
strategy:
|
||||||
matrix:
|
matrix:
|
||||||
os: [ ubuntu-latest, macos-latest ]
|
os: [ ubuntu-latest, macos-latest ]
|
||||||
name: make_user_all on ${{ matrix.os }}
|
name: make user_setting.h (with sed)
|
||||||
runs-on: ${{ matrix.os }}
|
runs-on: ${{ matrix.os }}
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v3
|
- uses: actions/checkout@v3
|
||||||
@ -95,60 +84,6 @@ jobs:
|
|||||||
make
|
make
|
||||||
make check
|
make check
|
||||||
|
|
||||||
make_user_minecc:
|
|
||||||
strategy:
|
|
||||||
matrix:
|
|
||||||
os: [ ubuntu-latest, macos-latest ]
|
|
||||||
name: make_user_minecc on ${{ matrix.os }}
|
|
||||||
runs-on: ${{ matrix.os }}
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v3
|
|
||||||
- if: ${{ matrix.os == 'macos-latest' }}
|
|
||||||
run: brew install automake libtool
|
|
||||||
- run: ./autogen.sh
|
|
||||||
- name: user_settings_min_ecc.h
|
|
||||||
run: |
|
|
||||||
cp ./examples/configs/user_settings_min_ecc.h user_settings.h
|
|
||||||
./configure --enable-usersettings --disable-examples
|
|
||||||
make
|
|
||||||
./wolfcrypt/test/testwolfcrypt
|
|
||||||
|
|
||||||
make_user_wolfboot:
|
|
||||||
strategy:
|
|
||||||
matrix:
|
|
||||||
os: [ ubuntu-latest, macos-latest ]
|
|
||||||
name: make_user_wolfboot on ${{ matrix.os }}
|
|
||||||
runs-on: ${{ matrix.os }}
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v3
|
|
||||||
- if: ${{ matrix.os == 'macos-latest' }}
|
|
||||||
run: brew install automake libtool
|
|
||||||
- run: ./autogen.sh
|
|
||||||
- name: user_settings_wolfboot_keytools.h
|
|
||||||
run: |
|
|
||||||
cp ./examples/configs/user_settings_wolfboot_keytools.h user_settings.h
|
|
||||||
./configure --enable-usersettings --disable-examples
|
|
||||||
make
|
|
||||||
./wolfcrypt/test/testwolfcrypt
|
|
||||||
|
|
||||||
make_user_wolftpm:
|
|
||||||
strategy:
|
|
||||||
matrix:
|
|
||||||
os: [ ubuntu-latest, macos-latest ]
|
|
||||||
name: make_user_wolftpm on ${{ matrix.os }}
|
|
||||||
runs-on: ${{ matrix.os }}
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v3
|
|
||||||
- if: ${{ matrix.os == 'macos-latest' }}
|
|
||||||
run: brew install automake libtool
|
|
||||||
- run: ./autogen.sh
|
|
||||||
- name: user_settings_wolftpm.h
|
|
||||||
run: |
|
|
||||||
cp ./examples/configs/user_settings_wolftpm.h user_settings.h
|
|
||||||
./configure --enable-usersettings --disable-examples
|
|
||||||
make
|
|
||||||
./wolfcrypt/test/testwolfcrypt
|
|
||||||
|
|
||||||
windows_build:
|
windows_build:
|
||||||
name: Windows Build Test
|
name: Windows Build Test
|
||||||
runs-on: windows-latest
|
runs-on: windows-latest
|
||||||
|
41
.github/workflows/stunnel.yml
vendored
Normal file
41
.github/workflows/stunnel.yml
vendored
Normal file
@ -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
|
||||||
|
|
Reference in New Issue
Block a user