summaryrefslogtreecommitdiff
path: root/.github/workflows/build.yml
diff options
context:
space:
mode:
authorneil <github@neilpang.com>2022-08-07 18:56:00 +0800
committerAzat Khuzhin <a3at.mail@gmail.com>2022-08-09 00:14:43 +0200
commit4f662d662ee4331c7829604804b5a91be92afd74 (patch)
treeae866eafb9f7a8a15e50e4574179b98883984d58 /.github/workflows/build.yml
parent80c1e0b7450594520a11655d1b24200e8cad34bd (diff)
downloadlibevent-4f662d662ee4331c7829604804b5a91be92afd74.tar.gz
Add freebsd CI checks
ci/linux skip ci/macos skip ci/windows skip ci/mingw skip
Diffstat (limited to '.github/workflows/build.yml')
-rw-r--r--.github/workflows/build.yml173
1 files changed, 173 insertions, 0 deletions
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index e49e5a63..923d193e 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -739,3 +739,176 @@ jobs:
with:
name: ${{ matrix.os }}-autotools-${{ matrix.EVENT_MATRIX }}-build
path: build
+
+ freebsd-cmake-job:
+ runs-on: macos-12
+ if: "!contains(github.event.head_commit.message, 'ci/freebsd skip') && !contains(github.event.head_commit.message, 'ci/freebsd/cmake skip')"
+ strategy:
+ fail-fast: false
+ matrix:
+ release: ["12.3", "13.0", "13.1"]
+ EVENT_MATRIX:
+ - NONE
+ - NO_SSL
+ - DISABLE_OPENSSL
+ - DISABLE_THREAD_SUPPORT
+ - DISABLE_DEBUG_MODE
+ - DISABLE_MM_REPLACEMENT
+ - TEST_EXPORT_STATIC
+ - TEST_EXPORT_SHARED
+
+ steps:
+ - uses: actions/checkout@v2.0.0
+
+ - name: Cache Build
+ uses: actions/cache@v2
+ with:
+ path: build
+ key: freebsd-${{ matrix.release }}-cmake-${{ matrix.EVENT_MATRIX }}-v1
+
+ - name: Build
+ uses: vmactions/freebsd-vm@v0
+ with:
+ release: ${{ matrix.release }}
+ prepare: |
+ pkg install -y mbedtls cmake python3
+ usesh: true
+ run: |
+ if [ "${{ matrix.EVENT_MATRIX }}" == "DISABLE_OPENSSL" ]; then
+ EVENT_CMAKE_OPTIONS="-DEVENT__DISABLE_OPENSSL=ON"
+
+ elif [ "${{ matrix.EVENT_MATRIX }}" == "NO_SSL" ]; then
+ EVENT_CMAKE_OPTIONS="-DEVENT__DISABLE_OPENSSL=ON -DEVENT__DISABLE_MBEDTLS=ON"
+
+ elif [ "${{ matrix.EVENT_MATRIX }}" == "DISABLE_THREAD_SUPPORT" ]; then
+ EVENT_CMAKE_OPTIONS="-DEVENT__DISABLE_THREAD_SUPPORT=ON"
+
+ elif [ "${{ matrix.EVENT_MATRIX }}" == "DISABLE_DEBUG_MODE" ]; then
+ EVENT_CMAKE_OPTIONS="-DEVENT__DISABLE_DEBUG_MODE=ON"
+
+ elif [ "${{ matrix.EVENT_MATRIX }}" == "DISABLE_MM_REPLACEMENT" ]; then
+ EVENT_CMAKE_OPTIONS="-DEVENT__DISABLE_MM_REPLACEMENT=ON"
+
+ elif [ "${{ matrix.EVENT_MATRIX }}" == "TEST_EXPORT_STATIC" ]; then
+ EVENT_CMAKE_OPTIONS="-DEVENT__LIBRARY_TYPE=STATIC -DEVENT__DISABLE_TESTS=ON -DEVENT__DISABLE_SAMPLES=ON"
+
+ elif [ "${{ matrix.EVENT_MATRIX }}" == "TEST_EXPORT_SHARED" ]; then
+ EVENT_CMAKE_OPTIONS="-DEVENT__LIBRARY_TYPE=SHARED -DEVENT__DISABLE_TESTS=ON -DEVENT__DISABLE_SAMPLES=ON"
+
+ else
+ EVENT_CMAKE_OPTIONS=""
+ fi
+ EVENT_CMAKE_OPTIONS="$EVENT_CMAKE_OPTIONS -DMBEDTLS_ROOT_DIR=/usr/local/opt/mbedtls@2"
+
+ mkdir -p build
+ cd build
+ echo [cmake]: cmake .. $EVENT_CMAKE_OPTIONS
+ cmake .. $EVENT_CMAKE_OPTIONS || (rm -rf * && cmake .. $EVENT_CMAKE_OPTIONS)
+ cmake --build .
+
+ - name: Test
+ uses: nick-fields/retry@v2
+ with:
+ max_attempts: 5
+ timeout_minutes: 20
+ shell: bash
+ command: |
+ ssh freebsd sh <<EOF
+ cd $GITHUB_WORKSPACE
+ JOBS=1
+ export CTEST_PARALLEL_LEVEL=$JOBS
+ export CTEST_OUTPUT_ON_FAILURE=1
+ cd build
+ if [ "${{ matrix.EVENT_MATRIX }}" == "TEST_EXPORT_STATIC" ]; then
+ python3 ../test-export/test-export.py static
+ elif [ "${{ matrix.EVENT_MATRIX }}" == "TEST_EXPORT_SHARED" ]; then
+ python3 ../test-export/test-export.py shared
+ else
+ cmake --build . --target verify
+ fi
+ EOF
+
+ - uses: actions/upload-artifact@v1
+ if: failure()
+ with:
+ name: freebsd-${{ matrix.release }}-cmake-${{ matrix.EVENT_MATRIX }}-build
+ path: build
+
+ freebsd-autotools-job:
+ runs-on: macos-12
+ if: "!contains(github.event.head_commit.message, 'ci/freebsd skip') && !contains(github.event.head_commit.message, 'ci/freebsd/autotools skip')"
+ strategy:
+ fail-fast: false
+ matrix:
+ release: ["12.3", "13.0", "13.1"]
+ EVENT_MATRIX:
+ - NONE
+ - NO_SSL
+ - DISABLE_OPENSSL
+ - DISABLE_THREAD_SUPPORT
+ - DISABLE_DEBUG_MODE
+ - DISABLE_MM_REPLACEMENT
+
+ steps:
+ - uses: actions/checkout@v2.0.0
+
+ - name: Cache Build
+ uses: actions/cache@v2
+ with:
+ path: build
+ key: freebsd-${{ matrix.release }}-autotools-${{ matrix.EVENT_MATRIX }}-v1
+
+
+ - name: Build
+ uses: vmactions/freebsd-vm@v0
+ with:
+ release: ${{ matrix.release }}
+ prepare: |
+ pkg install -y mbedtls python3 autoconf automake libtool pkgconf
+ usesh: true
+ run: |
+ if [ "${{ matrix.EVENT_MATRIX }}" == "DISABLE_OPENSSL" ]; then
+ EVENT_CONFIGURE_OPTIONS="--disable-openssl"
+
+ elif [ "${{ matrix.EVENT_MATRIX }}" == "NO_SSL" ]; then
+ EVENT_CONFIGURE_OPTIONS="--disable-openssl --disable-mbedtls"
+
+ elif [ "${{ matrix.EVENT_MATRIX }}" == "DISABLE_THREAD_SUPPORT" ]; then
+ EVENT_CONFIGURE_OPTIONS="--disable-thread-support"
+
+ elif [ "${{ matrix.EVENT_MATRIX }}" == "DISABLE_DEBUG_MODE" ]; then
+ EVENT_CONFIGURE_OPTIONS="--disable-debug-mode"
+
+ elif [ "${{ matrix.EVENT_MATRIX }}" == "DISABLE_MM_REPLACEMENT" ]; then
+ EVENT_CONFIGURE_OPTIONS="--disable-malloc-replacement"
+
+ else
+ EVENT_CONFIGURE_OPTIONS=""
+ fi
+
+ ./autogen.sh
+ mkdir -p build
+ cd build
+ echo [configure]: ../configure $EVENT_CONFIGURE_OPTIONS
+ ../configure $EVENT_CONFIGURE_OPTIONS
+ make
+
+ - name: Test
+ uses: nick-fields/retry@v2
+ with:
+ max_attempts: 5
+ timeout_minutes: 20
+ shell: bash
+ command: |
+ ssh freebsd sh <<EOF
+ JOBS=1
+ cd build
+ make -j $JOBS verify
+ EOF
+
+ - uses: actions/upload-artifact@v1
+ if: failure()
+ with:
+ name: freebsd-${{ matrix.release }}-autotools-${{ matrix.EVENT_MATRIX }}-build
+ path: build
+