diff --git a/.github/workflows/clang-analyzer.yml b/.github/workflows/clang-analyzer.yml new file mode 100644 index 000000000..f2bfb9041 --- /dev/null +++ b/.github/workflows/clang-analyzer.yml @@ -0,0 +1,35 @@ +name: Clang Static Analysis +on: + push +jobs: + clang-analyzer: + name: Clang Static Analysis + 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 libasio-dev \ + llvm llvm-dev clang clang-tools && \ + sudo apt remove gcc g++ + + - 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 -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 && \ + cmake .. -DCMAKE_INSTALL_PREFIX=/usr -DOPENDHT_C=On -DOPENDHT_PEER_DISCOVERY=On -DOPENDHT_PYTHON=On -DOPENDHT_TOOLS=On -DOPENDHT_PROXY_SERVER=On -DOPENDHT_PROXY_CLIENT=On + - name: scan-build + run: cd build && scan-build --status-bugs make