--- 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 - name: Build And Test 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 #run build and test JOBS=1 export CTEST_PARALLEL_LEVEL=$JOBS export CTEST_OUTPUT_ON_FAILURE=1 mkdir -p build cd build echo [cmake]: cmake .. $EVENT_CMAKE_OPTIONS cmake .. $EVENT_CMAKE_OPTIONS || (rm -rf * && cmake .. $EVENT_CMAKE_OPTIONS) cmake --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 - name: Build And Test 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 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 #run build and test JOBS=1 ./autogen.sh mkdir -p build cd build echo [configure]: ../configure $EVENT_CONFIGURE_OPTIONS ../configure $EVENT_CONFIGURE_OPTIONS make make -j $JOBS verify - uses: actions/upload-artifact@v1 if: failure() with: name: ${{ matrix.os }}-autotools-${{ matrix.EVENT_MATRIX }}-build path: build