name: C/C++ CI on: push: branches: [ master ] pull_request: branches: [ master ] jobs: build-ubuntu: runs-on: ubuntu-latest steps: - name: Install dependencies run: sudo apt update && sudo apt install git build-essential cmake libuv1-dev libzmq3-dev libsodium-dev libpgm-dev libnorm-dev libgss-dev - name: Checkout repository uses: actions/checkout@v2 with: submodules: true - name: cmake p2pool run: mkdir build && cd build && cmake .. - name: make p2pool run: cd build && make - name: cmake tests run: cd tests && mkdir build && cd build && cmake .. - name: make tests run: cd tests/build && make - name: run tests run: cd tests/build && ./p2pool_tests build-windows-msys2: runs-on: windows-latest defaults: run: shell: msys2 {0} steps: - name: Checkout repository uses: actions/checkout@v2 with: submodules: recursive - name: Setup MSYS2 uses: eine/setup-msys2@v2 with: update: true install: mingw-w64-x86_64-toolchain make mingw-w64-x86_64-cmake mingw-w64-x86_64-zeromq mingw-w64-x86_64-libsodium mingw-w64-x86_64-libuv - name: Build p2pool run: | mkdir build cd build cmake .. -G "Unix Makefiles" make - name: Build tests run: | cd tests mkdir build cd build cmake .. -G "Unix Makefiles" make - name: Run tests run: | cd tests/build ./p2pool_tests.exe build-windows-msbuild: runs-on: windows-latest steps: - name: Checkout repository uses: actions/checkout@v2 with: submodules: recursive - name: Setup cmake uses: lukka/get-cmake@latest - name: Add msbuild to PATH uses: microsoft/setup-msbuild@v1.0.3 - name: Build p2pool run: | mkdir build cd build cmake .. -G "Visual Studio 16 2019" msbuild /m /p:Configuration=Release p2pool.vcxproj - name: Build tests run: | cd tests mkdir build cd build cmake .. -G "Visual Studio 16 2019" msbuild /m /p:Configuration=Release p2pool_tests.vcxproj - name: Run tests run: | cd tests/build/Release ./p2pool_tests.exe build-macos: runs-on: macOS-latest steps: - name: Checkout repository uses: actions/checkout@v2 with: submodules: recursive - name: Install dependencies run: HOMEBREW_NO_AUTO_UPDATE=1 brew install cmake libuv zmq libpgm - name: Build p2pool run: | mkdir build cd build cmake .. make - name: Build tests run: | cd tests mkdir build cd build cmake .. make - name: Run tests run: | cd tests/build ./p2pool_tests