diff options
author | neil <github@neilpang.com> | 2022-08-07 18:56:00 +0800 |
---|---|---|
committer | Azat Khuzhin <a3at.mail@gmail.com> | 2022-08-09 00:14:43 +0200 |
commit | 4f662d662ee4331c7829604804b5a91be92afd74 (patch) | |
tree | ae866eafb9f7a8a15e50e4574179b98883984d58 /.github/workflows/build.yml | |
parent | 80c1e0b7450594520a11655d1b24200e8cad34bd (diff) | |
download | libevent-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.yml | 173 |
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 + |