2020-01-21 19:51:48 +08:00
|
|
|
---
|
|
|
|
name: macos
|
|
|
|
|
|
|
|
on:
|
|
|
|
pull_request:
|
|
|
|
types: [opened, synchronize]
|
|
|
|
paths-ignore:
|
|
|
|
- '**.md'
|
|
|
|
- '.mailmap'
|
|
|
|
- 'ChangeLog*'
|
|
|
|
- 'whatsnew*'
|
|
|
|
- 'LICENSE'
|
|
|
|
push:
|
|
|
|
paths-ignore:
|
|
|
|
- '**.md'
|
|
|
|
- '.mailmap'
|
|
|
|
- 'ChangeLog*'
|
|
|
|
- 'whatsnew*'
|
|
|
|
- 'LICENSE'
|
|
|
|
|
|
|
|
jobs:
|
|
|
|
cmake:
|
|
|
|
runs-on: ${{ matrix.os }}
|
2022-07-10 15:47:00 +03:00
|
|
|
if: "!contains(github.event.head_commit.message, 'ci/macos skip') && !contains(github.event.head_commit.message, 'ci/macos/cmake skip')"
|
2020-01-21 19:51:48 +08:00
|
|
|
strategy:
|
|
|
|
fail-fast: false
|
|
|
|
matrix:
|
|
|
|
os: [macos-latest]
|
|
|
|
EVENT_MATRIX:
|
|
|
|
- NONE
|
2020-09-14 21:30:02 +03:00
|
|
|
- NO_SSL
|
2020-01-21 19:51:48 +08:00
|
|
|
- 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
|
2020-08-05 12:12:08 +08:00
|
|
|
uses: actions/cache@v2
|
2020-01-21 19:51:48 +08:00
|
|
|
with:
|
|
|
|
path: build
|
2020-08-05 12:12:08 +08:00
|
|
|
key: macos-10.15-cmake-${{ matrix.EVENT_MATRIX }}-v3
|
2020-01-21 19:51:48 +08:00
|
|
|
|
2020-05-27 15:29:42 +08:00
|
|
|
- name: Install Depends
|
2021-09-17 01:37:19 -04:00
|
|
|
run: brew install mbedtls@2
|
2020-05-27 15:29:42 +08:00
|
|
|
|
2021-08-10 22:04:43 +03:00
|
|
|
- name: Build
|
2020-01-21 19:51:48 +08:00
|
|
|
shell: bash
|
|
|
|
run: |
|
2022-07-09 21:17:06 +03:00
|
|
|
# NOTE: cmake does not support autodetection of OPENSSL_ROOT_DIR via brew
|
|
|
|
export OPENSSL_ROOT_DIR=/usr/local/opt/openssl
|
2020-01-21 19:51:48 +08:00
|
|
|
|
|
|
|
if [ "${{ matrix.EVENT_MATRIX }}" == "DISABLE_OPENSSL" ]; then
|
|
|
|
EVENT_CMAKE_OPTIONS="-DEVENT__DISABLE_OPENSSL=ON"
|
|
|
|
|
2020-09-14 21:30:02 +03:00
|
|
|
elif [ "${{ matrix.EVENT_MATRIX }}" == "NO_SSL" ]; then
|
|
|
|
EVENT_CMAKE_OPTIONS="-DEVENT__DISABLE_OPENSSL=ON -DEVENT__DISABLE_MBEDTLS=ON"
|
|
|
|
|
2020-01-21 19:51:48 +08:00
|
|
|
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
|
2021-09-17 01:37:19 -04:00
|
|
|
EVENT_CMAKE_OPTIONS="$EVENT_CMAKE_OPTIONS -DMBEDTLS_ROOT_DIR=/usr/local/opt/mbedtls@2"
|
2020-01-21 19:51:48 +08:00
|
|
|
|
|
|
|
mkdir -p build
|
|
|
|
cd build
|
|
|
|
echo [cmake]: cmake .. $EVENT_CMAKE_OPTIONS
|
2020-05-28 11:50:49 +08:00
|
|
|
cmake .. $EVENT_CMAKE_OPTIONS || (rm -rf * && cmake .. $EVENT_CMAKE_OPTIONS)
|
2020-01-21 19:51:48 +08:00
|
|
|
cmake --build .
|
2021-08-10 22:04:43 +03:00
|
|
|
|
|
|
|
- name: Test
|
|
|
|
shell: bash
|
|
|
|
run: |
|
|
|
|
JOBS=1
|
|
|
|
export CTEST_PARALLEL_LEVEL=$JOBS
|
|
|
|
export CTEST_OUTPUT_ON_FAILURE=1
|
|
|
|
|
|
|
|
cd build
|
|
|
|
|
2020-01-21 19:51:48 +08:00
|
|
|
if [ "${{ matrix.EVENT_MATRIX }}" == "TEST_EXPORT_STATIC" ]; then
|
|
|
|
sudo python3 ../test-export/test-export.py static
|
|
|
|
elif [ "${{ matrix.EVENT_MATRIX }}" == "TEST_EXPORT_SHARED" ]; then
|
|
|
|
sudo python3 ../test-export/test-export.py shared
|
|
|
|
else
|
|
|
|
cmake --build . --target verify
|
|
|
|
fi
|
|
|
|
|
|
|
|
- uses: actions/upload-artifact@v1
|
|
|
|
if: failure()
|
|
|
|
with:
|
|
|
|
name: ${{ matrix.os }}-cmake-${{ matrix.EVENT_MATRIX }}-build
|
|
|
|
path: build
|
|
|
|
|
|
|
|
autotools:
|
|
|
|
runs-on: ${{ matrix.os }}
|
2022-07-10 15:47:00 +03:00
|
|
|
if: "!contains(github.event.head_commit.message, 'ci/macos skip') && !contains(github.event.head_commit.message, 'ci/macos/autotools skip')"
|
2020-01-21 19:51:48 +08:00
|
|
|
strategy:
|
|
|
|
fail-fast: false
|
|
|
|
matrix:
|
|
|
|
os: [macos-latest]
|
|
|
|
EVENT_MATRIX:
|
|
|
|
- NONE
|
2020-09-14 21:30:02 +03:00
|
|
|
- NO_SSL
|
2020-01-21 19:51:48 +08:00
|
|
|
- DISABLE_OPENSSL
|
|
|
|
- DISABLE_THREAD_SUPPORT
|
|
|
|
- DISABLE_DEBUG_MODE
|
|
|
|
- DISABLE_MM_REPLACEMENT
|
|
|
|
|
|
|
|
steps:
|
|
|
|
- uses: actions/checkout@v2.0.0
|
|
|
|
|
|
|
|
- name: Cache Build
|
2020-08-05 12:12:08 +08:00
|
|
|
uses: actions/cache@v2
|
2020-01-21 19:51:48 +08:00
|
|
|
with:
|
|
|
|
path: build
|
2020-08-05 12:12:08 +08:00
|
|
|
key: ${{ matrix.os }}-autotools-${{ matrix.EVENT_MATRIX }}-v3
|
2020-01-21 19:51:48 +08:00
|
|
|
|
|
|
|
- name: Install Depends
|
2021-09-17 01:37:19 -04:00
|
|
|
run: brew install autoconf automake libtool pkg-config mbedtls@2
|
2020-01-21 19:51:48 +08:00
|
|
|
|
2021-08-10 22:04:43 +03:00
|
|
|
- name: Build
|
2020-01-21 19:51:48 +08:00
|
|
|
shell: bash
|
|
|
|
run: |
|
2021-09-17 01:37:19 -04:00
|
|
|
export CPPFLAGS="-I/usr/local/opt/mbedtls@2/include"
|
|
|
|
export LDFLAGS="-L/usr/local/opt/mbedtls@2/lib"
|
2020-01-21 19:51:48 +08:00
|
|
|
|
|
|
|
if [ "${{ matrix.EVENT_MATRIX }}" == "DISABLE_OPENSSL" ]; then
|
|
|
|
EVENT_CONFIGURE_OPTIONS="--disable-openssl"
|
|
|
|
|
2020-09-14 21:30:02 +03:00
|
|
|
elif [ "${{ matrix.EVENT_MATRIX }}" == "NO_SSL" ]; then
|
|
|
|
EVENT_CONFIGURE_OPTIONS="--disable-openssl --disable-mbedtls"
|
|
|
|
|
2020-01-21 19:51:48 +08:00
|
|
|
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
|
2021-08-10 22:04:43 +03:00
|
|
|
|
2021-09-19 15:52:02 +03:00
|
|
|
- name: Test
|
2021-08-10 22:04:43 +03:00
|
|
|
shell: bash
|
|
|
|
run: |
|
|
|
|
JOBS=1
|
|
|
|
cd build
|
2020-01-21 19:51:48 +08:00
|
|
|
make -j $JOBS verify
|
|
|
|
|
|
|
|
- uses: actions/upload-artifact@v1
|
|
|
|
if: failure()
|
|
|
|
with:
|
|
|
|
name: ${{ matrix.os }}-autotools-${{ matrix.EVENT_MATRIX }}-build
|
|
|
|
path: build
|