]> git.ipfire.org Git - thirdparty/unbound.git/commitdiff
- Add cross platform freebsd to github ci.
authorW.C.A. Wijngaards <wouter@nlnetlabs.nl>
Wed, 21 Aug 2024 11:20:00 +0000 (13:20 +0200)
committerW.C.A. Wijngaards <wouter@nlnetlabs.nl>
Wed, 21 Aug 2024 11:20:00 +0000 (13:20 +0200)
.github/workflows/analysis_ports.yml
doc/Changelog

index 0dd2514e73974f5089d531eda6ac552a3b560e24..375aa5fac0157d90d0d44ff89caed502e1d9ca67 100644 (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
index d23ce259d75600823eb23370c790092a98d07501..52302dbca01e6108cd2bf714c8f63c3db04bcf6c 100644 (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.