--- 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 }} if: "!contains(github.event.head_commit.message, 'ci skip')" strategy: fail-fast: false matrix: os: [macos-latest] EVENT_MATRIX: - NONE - NO_SSL - DISABLE_OPENSSL - DISABLE_THREAD_SUPPORT - DISABLE_DEBUG_MODE - DISABLE_MM_REPLACEMENT - TEST_EXPORT_STATIC - TEST_EXPORT_SHARED - OPENSSL_1_1 - BREW_AUTODETECT_OPENSSL steps: - uses: actions/checkout@v2.0.0 - name: Cache Build uses: actions/cache@v2 with: path: build key: macos-10.15-cmake-${{ matrix.EVENT_MATRIX }}-v3 - name: Install Depends run: brew install mbedtls@2 - name: Build shell: bash run: | if [ "${{ matrix.EVENT_MATRIX }}" == "BREW_AUTODETECT_OPENSSL" ]; then # use autodetection via brew : elif [ "${{ matrix.EVENT_MATRIX }}" == "OPENSSL_1_1" ]; then export OPENSSL_ROOT_DIR=/usr/local/opt/openssl@1.1 else export OPENSSL_ROOT_DIR=/usr/local/opt/openssl fi 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 shell: bash run: | JOBS=1 export CTEST_PARALLEL_LEVEL=$JOBS export CTEST_OUTPUT_ON_FAILURE=1 cd build 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 }} if: "!contains(github.event.head_commit.message, 'ci skip')" strategy: fail-fast: false matrix: os: [macos-latest] EVENT_MATRIX: - NONE - NO_SSL - DISABLE_OPENSSL - DISABLE_THREAD_SUPPORT - DISABLE_DEBUG_MODE - DISABLE_MM_REPLACEMENT - OPENSSL_1_1 - BREW_AUTODETECT_OPENSSL steps: - uses: actions/checkout@v2.0.0 - name: Cache Build uses: actions/cache@v2 with: path: build key: ${{ matrix.os }}-autotools-${{ matrix.EVENT_MATRIX }}-v3 - name: Install Depends run: brew install autoconf automake libtool pkg-config mbedtls@2 - name: Build shell: bash run: | if [ "${{ matrix.EVENT_MATRIX }}" == "BREW_AUTODETECT_OPENSSL" ]; then # use autodetection via brew : elif [ "${{ matrix.EVENT_MATRIX }}" == "OPENSSL_1_1" ]; then export PKG_CONFIG_PATH="/usr/local/opt/openssl@1.1/lib/pkgconfig:$PKG_CONFIG_PATH" else export PKG_CONFIG_PATH="/usr/local/opt/openssl/lib/pkgconfig:$PKG_CONFIG_PATH" fi export CPPFLAGS="-I/usr/local/opt/mbedtls@2/include" export LDFLAGS="-L/usr/local/opt/mbedtls@2/lib" 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 shell: bash run: | JOBS=1 cd build make -j $JOBS verify - uses: actions/upload-artifact@v1 if: failure() with: name: ${{ matrix.os }}-autotools-${{ matrix.EVENT_MATRIX }}-build path: build