- Add cross platform freebsd to github ci.

This commit is contained in:
W.C.A. Wijngaards 2024-08-21 13:20:00 +02:00
parent 3d350fa73d
commit 04e6f9e03b
2 changed files with 171 additions and 144 deletions

View File

@ -14,153 +14,162 @@ jobs:
strategy:
matrix:
include:
- name: GCC on Linux
# - name: GCC on Linux
# os: ubuntu-latest
# config: "--enable-debug --disable-flto"
# make_test: "yes"
# - name: Clang-analyzer
# os: ubuntu-latest
# config: "CC=clang --enable-debug --disable-flto --disable-static"
# make_test: "yes"
# clang_analysis: "yes"
# - name: libevent
# os: ubuntu-latest
# install_libevent: "yes"
# config: "CC=clang --enable-debug --disable-flto --with-libevent --disable-static"
# make_test: "yes"
# clang_analysis: "yes"
# - name: OS X
# os: macos-latest
# install_expat: "yes"
# config: "--enable-debug --disable-flto --with-ssl=/opt/homebrew/opt/openssl --with-libexpat=/opt/homebrew/opt/expat"
# make_test: "yes"
# - name: Clang on OS X
# os: macos-latest
# install_expat: "yes"
# config: "CC=clang --enable-debug --disable-flto --with-ssl=/opt/homebrew/opt/openssl --with-libexpat=/opt/homebrew/opt/expat --disable-static"
# make_test: "yes"
# clang_analysis: "yes"
# - name: ubsan (gcc undefined behaviour sanitizer)
# os: ubuntu-latest
# config: 'CFLAGS="-DNDEBUG -g2 -O3 -fsanitize=undefined -fno-sanitize-recover=all" --disable-flto --disable-static'
# make_test: "yes"
# - name: asan (gcc address sanitizer)
# os: ubuntu-latest
# config: 'CFLAGS="-DNDEBUG -g2 -O3 -fsanitize=address" --disable-flto --disable-static'
# make_test: "yes"
# - name: Apple iPhone on iOS, armv7
# os: macos-latest
# AUTOTOOLS_HOST: armv7-apple-ios
# OPENSSL_HOST: ios-cross
# IOS_SDK: iPhoneOS
# IOS_CPU: armv7s
# test_ios: "yes"
# config: "no"
# make: "no"
# - name: Apple iPhone on iOS, arm64
# os: macos-latest
# AUTOTOOLS_HOST: aarch64-apple-ios
# OPENSSL_HOST: ios64-cross
# IOS_SDK: iPhoneOS
# IOS_CPU: arm64
# test_ios: "yes"
# config: "no"
# make: "no"
# - name: Apple TV on iOS, arm64
# os: macos-latest
# AUTOTOOLS_HOST: aarch64-apple-ios
# OPENSSL_HOST: ios64-cross
# IOS_SDK: AppleTVOS
# IOS_CPU: arm64
# test_ios: "yes"
# config: "no"
# make: "no"
# - name: Apple Watch on iOS, armv7
# os: macos-latest
# AUTOTOOLS_HOST: armv7-apple-ios
# OPENSSL_HOST: ios-cross
# IOS_SDK: WatchOS
# IOS_CPU: armv7k
# test_ios: "yes"
# config: "no"
# make: "no"
# - name: iPhoneSimulator on OS X, i386
# os: macos-latest
# AUTOTOOLS_HOST: i386-apple-ios
# OPENSSL_HOST: iphoneos-cross
# IOS_SDK: iPhoneSimulator
# IOS_CPU: i386
# test_ios: "yes"
# config: "no"
# make: "no"
# - name: iPhoneSimulator on OS X, x86_64
# os: macos-latest
# AUTOTOOLS_HOST: x86_64-apple-ios
# OPENSSL_HOST: iphoneos-cross
# IOS_SDK: iPhoneSimulator
# IOS_CPU: x86_64
# test_ios: "yes"
# config: "no"
# make: "no"
# - name: AppleTVSimulator on OS X, x86_64
# os: macos-latest
# AUTOTOOLS_HOST: x86_64-apple-ios
# OPENSSL_HOST: iphoneos-cross
# IOS_SDK: AppleTVSimulator
# IOS_CPU: x86_64
# test_ios: "yes"
# config: "no"
# make: "no"
# - name: WatchSimulator on OS X, i386
# os: macos-latest
# AUTOTOOLS_HOST: i386-apple-ios
# OPENSSL_HOST: iphoneos-cross
# IOS_SDK: WatchSimulator
# IOS_CPU: i386
# test_ios: "yes"
# config: "no"
# make: "no"
# - name: Android armv7a
# os: ubuntu-latest
# AUTOTOOLS_HOST: armv7a-linux-androidabi
# OPENSSL_HOST: android-arm
# ANDROID_CPU: armv7a
# ANDROID_API: 23
# test_android: "yes"
# config: "no"
# make: "no"
# - name: Android aarch64
# os: ubuntu-latest
# AUTOTOOLS_HOST: aarch64-linux-android
# OPENSSL_HOST: android-arm64
# ANDROID_CPU: aarch64
# ANDROID_API: 23
# test_android: "yes"
# config: "no"
# make: "no"
# - name: Android x86
# os: ubuntu-latest
# AUTOTOOLS_HOST: i686-linux-android
# OPENSSL_HOST: android-x86
# ANDROID_CPU: x86
# ANDROID_API: 23
# test_android: "yes"
# config: "no"
# make: "no"
# - name: Android x86_64
# os: ubuntu-latest
# AUTOTOOLS_HOST: x86_64-linux-android
# OPENSSL_HOST: android-x86_64
# ANDROID_CPU: x86_64
# ANDROID_API: 23
# test_android: "yes"
# config: "no"
# make: "no"
# - name: Windows
# os: windows-latest
# test_windows: "yes"
# config: "no"
# make: "no"
- name: FreeBSD
os: ubuntu-latest
config: "--enable-debug --disable-flto"
make_test: "yes"
- name: Clang-analyzer
os: ubuntu-latest
config: "CC=clang --enable-debug --disable-flto --disable-static"
make_test: "yes"
clang_analysis: "yes"
- name: libevent
os: ubuntu-latest
install_libevent: "yes"
config: "CC=clang --enable-debug --disable-flto --with-libevent --disable-static"
make_test: "yes"
clang_analysis: "yes"
- name: OS X
os: macos-latest
install_expat: "yes"
config: "--enable-debug --disable-flto --with-ssl=/opt/homebrew/opt/openssl --with-libexpat=/opt/homebrew/opt/expat"
make_test: "yes"
- name: Clang on OS X
os: macos-latest
install_expat: "yes"
config: "CC=clang --enable-debug --disable-flto --with-ssl=/opt/homebrew/opt/openssl --with-libexpat=/opt/homebrew/opt/expat --disable-static"
make_test: "yes"
clang_analysis: "yes"
- name: ubsan (gcc undefined behaviour sanitizer)
os: ubuntu-latest
config: 'CFLAGS="-DNDEBUG -g2 -O3 -fsanitize=undefined -fno-sanitize-recover=all" --disable-flto --disable-static'
make_test: "yes"
- name: asan (gcc address sanitizer)
os: ubuntu-latest
config: 'CFLAGS="-DNDEBUG -g2 -O3 -fsanitize=address" --disable-flto --disable-static'
make_test: "yes"
- name: Apple iPhone on iOS, armv7
os: macos-latest
AUTOTOOLS_HOST: armv7-apple-ios
OPENSSL_HOST: ios-cross
IOS_SDK: iPhoneOS
IOS_CPU: armv7s
test_ios: "yes"
config: "no"
make: "no"
- name: Apple iPhone on iOS, arm64
os: macos-latest
AUTOTOOLS_HOST: aarch64-apple-ios
OPENSSL_HOST: ios64-cross
IOS_SDK: iPhoneOS
IOS_CPU: arm64
test_ios: "yes"
config: "no"
make: "no"
- name: Apple TV on iOS, arm64
os: macos-latest
AUTOTOOLS_HOST: aarch64-apple-ios
OPENSSL_HOST: ios64-cross
IOS_SDK: AppleTVOS
IOS_CPU: arm64
test_ios: "yes"
config: "no"
make: "no"
- name: Apple Watch on iOS, armv7
os: macos-latest
AUTOTOOLS_HOST: armv7-apple-ios
OPENSSL_HOST: ios-cross
IOS_SDK: WatchOS
IOS_CPU: armv7k
test_ios: "yes"
config: "no"
make: "no"
- name: iPhoneSimulator on OS X, i386
os: macos-latest
AUTOTOOLS_HOST: i386-apple-ios
OPENSSL_HOST: iphoneos-cross
IOS_SDK: iPhoneSimulator
IOS_CPU: i386
test_ios: "yes"
config: "no"
make: "no"
- name: iPhoneSimulator on OS X, x86_64
os: macos-latest
AUTOTOOLS_HOST: x86_64-apple-ios
OPENSSL_HOST: iphoneos-cross
IOS_SDK: iPhoneSimulator
IOS_CPU: x86_64
test_ios: "yes"
config: "no"
make: "no"
- name: AppleTVSimulator on OS X, x86_64
os: macos-latest
AUTOTOOLS_HOST: x86_64-apple-ios
OPENSSL_HOST: iphoneos-cross
IOS_SDK: AppleTVSimulator
IOS_CPU: x86_64
test_ios: "yes"
config: "no"
make: "no"
- name: WatchSimulator on OS X, i386
os: macos-latest
AUTOTOOLS_HOST: i386-apple-ios
OPENSSL_HOST: iphoneos-cross
IOS_SDK: WatchSimulator
IOS_CPU: i386
test_ios: "yes"
config: "no"
make: "no"
- name: Android armv7a
os: ubuntu-latest
AUTOTOOLS_HOST: armv7a-linux-androidabi
OPENSSL_HOST: android-arm
ANDROID_CPU: armv7a
ANDROID_API: 23
test_android: "yes"
config: "no"
make: "no"
- name: Android aarch64
os: ubuntu-latest
AUTOTOOLS_HOST: aarch64-linux-android
OPENSSL_HOST: android-arm64
ANDROID_CPU: aarch64
ANDROID_API: 23
test_android: "yes"
config: "no"
make: "no"
- name: Android x86
os: ubuntu-latest
AUTOTOOLS_HOST: i686-linux-android
OPENSSL_HOST: android-x86
ANDROID_CPU: x86
ANDROID_API: 23
test_android: "yes"
config: "no"
make: "no"
- name: Android x86_64
os: ubuntu-latest
AUTOTOOLS_HOST: x86_64-linux-android
OPENSSL_HOST: android-x86_64
ANDROID_CPU: x86_64
ANDROID_API: 23
test_android: "yes"
config: "no"
make: "no"
- name: Windows
os: windows-latest
test_windows: "yes"
config: "no"
make: "no"
with_cross_platform_action: "yes"
cross_platform_os: "freebsd"
cross_platform_arch: "x86-64"
cross_platform_version: "14.1"
cross_platform_config: "--enable-debug --disable-flto"
steps:
- uses: actions/checkout@v4
@ -331,6 +340,21 @@ jobs:
echo "::group::make install"
make install
echo "::endgroup::"
- name: cross-platform-action on ${{ matrix.cross_platform_os }} ${{ matrix.cross_platform_version }}
if: ${{ matrix.with_cross_platform_action == 'yes' }}
uses: cross-platform-actions/action@v0.25.0
with:
operating_system: ${{ matrix.cross_platform_os }}
architecture: ${{ matrix.cross_platform_arch }}
version: ${{ matrix.cross_platform_version }}
shell: bash
memory: 4G
cpu_count: 2
run: |
ASSUME_ALWAYS_YES=yes sudo pkg install openssl libevent expat
./configure ${{ matrix.cross_platform_config }}
make
make test
- name: install libevent
if: ${{ matrix.install_libevent == 'yes' }}
run: sudo apt-get install libevent-dev

View File

@ -1,3 +1,6 @@
21 August 2024: Wouter
- Add cross platform freebsd to github ci.
20 August 2024: Wouter
- Add iter-scrub-ns, iter-scrub-cname and max-global-quota
configuration options.