diff --git a/.github/workflows/ccpp.yml b/.github/workflows/ccpp.yml index 1536cc9f2..5f383f246 100644 --- a/.github/workflows/ccpp.yml +++ b/.github/workflows/ccpp.yml @@ -3,7 +3,8 @@ name: C/C++ CI on: [push] jobs: - build: + build-ubuntu: + name: Ubuntu/GCC build runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 @@ -27,3 +28,41 @@ jobs: run: make - name: make check run: make check + + build-macos: + name: macOS/Clang build + runs-on: macos-11 + steps: + - uses: actions/checkout@v3 + - name: deps + run: | + brew install msgpack-cxx asio gnutls nettle readline fmt jsoncpp argon2 openssl http-parser cppunit + + - name: restinio + run: | + mkdir restinio && cd restinio + wget https://github.com/aberaud/restinio/archive/e0a261dd8488246a3cb8bbb3ea781ea5139c3c94.tar.gz + ls -l && tar -xzf e0a261dd8488246a3cb8bbb3ea781ea5139c3c94.tar.gz + cd restinio-e0a261dd8488246a3cb8bbb3ea781ea5139c3c94/dev + cmake -DCMAKE_INSTALL_PREFIX=/usr/local -DRESTINIO_TEST=OFF -DRESTINIO_SAMPLE=OFF \ + -DRESTINIO_INSTALL_SAMPLES=OFF -DRESTINIO_BENCH=OFF -DRESTINIO_INSTALL_BENCHES=OFF \ + -DRESTINIO_FIND_DEPS=ON -DRESTINIO_ALLOW_SOBJECTIZER=Off -DRESTINIO_USE_BOOST_ASIO=none . + make -j8 && sudo make install + cd ../../.. && rm -rf restinio + + - name: cmake + run: | + mkdir build && cd build + export PATH="/opt/homebrew/opt/openssl@3/bin:$PATH" + export LDFLAGS="-L/usr/local/opt/openssl@3/lib" + export CPPFLAGS="-I/usr/local/opt/openssl@3/include" + export PKG_CONFIG_PATH="/usr/local/opt/openssl@3/lib/pkgconfig" + cmake .. -DCMAKE_INSTALL_PREFIX=/usr/local -DCMAKE_BUILD_TYPE=Debug \ + -DOPENDHT_C=On -DOPENDHT_TESTS=On -DOPENDHT_PEER_DISCOVERY=On -DOPENDHT_PYTHON=Off \ + -DOPENDHT_TOOLS=On -DOPENDHT_PROXY_SERVER=On -DOPENDHT_PROXY_CLIENT=On + + - name: make + run: cd build && make + + - name: make check + run: cd build && ./opendht_unit_tests