diff --git a/.github/settings.yml b/.github/settings.yml index 8124f5f0..87e46041 100644 --- a/.github/settings.yml +++ b/.github/settings.yml @@ -13,6 +13,7 @@ branches: required_status_checks: contexts: - build-bootstrapd-docker + - build-macos - build-nacl - build-win32 - build-win64 diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 58f70171..9c00a2fd 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -44,3 +44,10 @@ jobs: - uses: actions/checkout@v2 - name: Build on FreeBSD run: .travis/cmake-freebsd-stage2 + + build-macos: + runs-on: macos-latest + steps: + - uses: actions/checkout@v2 + - name: Build and test + run: .travis/cmake-osx diff --git a/.travis/cmake-osx b/.travis/cmake-osx index b6ee8430..c72b4fe3 100755 --- a/.travis/cmake-osx +++ b/.travis/cmake-osx @@ -1,49 +1,37 @@ #!/bin/bash -ACTION="$1" - set -eu CACHEDIR="$HOME/cache" NPROC=$(sysctl -n hw.physicalcpu) -travis_install() { - # Workaround for bug in Homebrew where it only finds an old Ruby version. - brew update +# Workaround for bug in Homebrew where it only finds an old Ruby version. +brew update - brew install libsodium libvpx opus libconfig -} +brew install libconfig libsodium libvpx opus -travis_script() { - . ".travis/flags-$CC.sh" +. ".travis/flags-clang.sh" - add_ld_flag -undefined error +add_ld_flag -undefined error - # Make compilation error on a warning - add_flag -Werror +# Make compilation error on a warning +add_flag -Werror - cmake -B_build -H. \ - -DCMAKE_C_FLAGS="$C_FLAGS" \ - -DCMAKE_CXX_FLAGS="$CXX_FLAGS" \ - -DCMAKE_EXE_LINKER_FLAGS="$LD_FLAGS" \ - -DCMAKE_SHARED_LINKER_FLAGS="$LD_FLAGS" \ - -DCMAKE_INSTALL_PREFIX:PATH="$PWD/_install" \ - -DMIN_LOGGER_LEVEL=TRACE \ - -DMUST_BUILD_TOXAV=ON \ - -DNON_HERMETIC_TESTS=ON \ - -DTEST_TIMEOUT_SECONDS=120 \ - -DUSE_IPV6=OFF \ - -DAUTOTEST=ON +cmake -B_build -H. \ + -DCMAKE_C_FLAGS="$C_FLAGS" \ + -DCMAKE_CXX_FLAGS="$CXX_FLAGS" \ + -DCMAKE_EXE_LINKER_FLAGS="$LD_FLAGS" \ + -DCMAKE_SHARED_LINKER_FLAGS="$LD_FLAGS" \ + -DCMAKE_INSTALL_PREFIX:PATH="$PWD/_install" \ + -DMIN_LOGGER_LEVEL=TRACE \ + -DMUST_BUILD_TOXAV=ON \ + -DNON_HERMETIC_TESTS=ON \ + -DTEST_TIMEOUT_SECONDS=120 \ + -DUSE_IPV6=OFF \ + -DAUTOTEST=ON - cd _build # pushd - make "-j$NPROC" -k install - make "-j$NPROC" test ARGS="-j50" || - make "-j$NPROC" test ARGS="-j50 --rerun-failed" CTEST_OUTPUT_ON_FAILURE=1 - cd - # popd -} - -if [ "-z" "$ACTION" ]; then - "travis_script" -else - "travis_$ACTION" -fi +cd _build # pushd +make "-j$NPROC" -k install +make "-j$NPROC" test ARGS="-j50" || + make "-j$NPROC" test ARGS="-j50 --rerun-failed" CTEST_OUTPUT_ON_FAILURE=1 +cd - # popd