From 04e6f9e03ba7891d38d3837276f46b8bd4a50e74 Mon Sep 17 00:00:00 2001 From: "W.C.A. Wijngaards" Date: Wed, 21 Aug 2024 13:20:00 +0200 Subject: [PATCH] - Add cross platform freebsd to github ci. --- .github/workflows/analysis_ports.yml | 312 ++++++++++++++------------- doc/Changelog | 3 + 2 files changed, 171 insertions(+), 144 deletions(-) diff --git a/.github/workflows/analysis_ports.yml b/.github/workflows/analysis_ports.yml index 0dd2514e7..375aa5fac 100644 --- a/.github/workflows/analysis_ports.yml +++ b/.github/workflows/analysis_ports.yml @@ -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 diff --git a/doc/Changelog b/doc/Changelog index d23ce259d..52302dbca 100644 --- a/doc/Changelog +++ b/doc/Changelog @@ -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.