mirror of
https://github.com/savoirfairelinux/opendht.git
synced 2026-11-08 04:21:51 +00:00
69 lines
2.6 KiB
YAML
69 lines
2.6 KiB
YAML
name: C/C++ CI
|
|
|
|
on: [push]
|
|
|
|
jobs:
|
|
build-ubuntu:
|
|
name: Ubuntu/GCC build
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v3
|
|
- name: deps
|
|
run: |
|
|
sudo apt install libncurses5-dev libreadline-dev nettle-dev \
|
|
libgnutls28-dev libuv1-dev cython3 python3-dev python3-setuptools libcppunit-dev libjsoncpp-dev \
|
|
autotools-dev autoconf libfmt-dev libhttp-parser-dev libmsgpack-dev libargon2-0-dev
|
|
- name: autogen
|
|
run: ./autogen.sh
|
|
- name: asio
|
|
run: |
|
|
wget https://github.com/aberaud/asio/archive/b2b7a1c166390459e1c169c8ae9ef3234b361e3f.tar.gz \
|
|
&& tar -xvf b2b7a1c166390459e1c169c8ae9ef3234b361e3f.tar.gz && cd asio-b2b7a1c166390459e1c169c8ae9ef3234b361e3f/asio \
|
|
&& ./autogen.sh && ./configure --prefix=/usr --without-boost --disable-examples --disable-tests \
|
|
&& sudo make install \
|
|
&& cd ../../ && rm -rf asio*
|
|
- name: configure
|
|
run: ./configure
|
|
- name: make
|
|
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
|