diff --git a/.github/workflows/test-sync-macos.yml b/.github/workflows/test-sync-macos.yml new file mode 100644 index 0000000..5d5f6db --- /dev/null +++ b/.github/workflows/test-sync-macos.yml @@ -0,0 +1,89 @@ +name: Sync test (macOS) + +on: + push: + branches: ["main"] + paths-ignore: + - 'docker-compose/**' + - 'docs/**' + - 'README.md' + - '.github/workflows/release.yml' + + pull_request: + + workflow_dispatch: + +jobs: + sync-test-macos: + timeout-minutes: 120 + runs-on: ${{ matrix.config.os }} + + strategy: + max-parallel: 1 + matrix: + config: + - {os: macos-15-intel, flags: ""} + - {os: macos-15, flags: "-target arm64-apple-macos-11"} + + steps: + - name: Checkout repository + uses: actions/checkout@v4 + with: + submodules: recursive + + - name: Build libcurl + run: | + cd external/src/curl + cmake . -DCMAKE_C_COMPILER="$(brew --prefix llvm@18)/bin/clang" -DCMAKE_AR="$(brew --prefix llvm@18)/bin/llvm-ar" -DCMAKE_RANLIB="$(brew --prefix llvm@18)/bin/llvm-ranlib" -DCMAKE_C_FLAGS="${{ matrix.config.flags }}" -DBUILD_CURL_EXE=OFF -DBUILD_SHARED_LIBS=OFF -DCURL_DISABLE_INSTALL=ON -DCURL_ENABLE_EXPORT_TARGET=OFF -DCURL_DISABLE_HEADERS_API=ON -DCURL_DISABLE_BINDLOCAL=ON -DBUILD_LIBCURL_DOCS=OFF -DBUILD_MISC_DOCS=OFF -DENABLE_CURL_MANUAL=OFF -DCURL_ZLIB=OFF -DCURL_BROTLI=OFF -DCURL_ZSTD=OFF -DCURL_DISABLE_ALTSVC=ON -DCURL_DISABLE_COOKIES=ON -DCURL_DISABLE_DOH=ON -DCURL_DISABLE_GETOPTIONS=ON -DCURL_DISABLE_HSTS=ON -DCURL_DISABLE_LIBCURL_OPTION=ON -DCURL_DISABLE_MIME=ON -DCURL_DISABLE_NETRC=ON -DCURL_DISABLE_NTLM=ON -DCURL_DISABLE_PARSEDATE=ON -DCURL_DISABLE_PROGRESS_METER=ON -DCURL_DISABLE_SHUFFLE_DNS=ON -DCURL_DISABLE_SOCKETPAIR=ON -DCURL_DISABLE_VERBOSE_STRINGS=ON -DCURL_DISABLE_WEBSOCKETS=ON -DHTTP_ONLY=ON -DCURL_ENABLE_SSL=OFF -DUSE_LIBIDN2=OFF -DCURL_USE_LIBPSL=OFF -DCURL_USE_LIBSSH2=OFF -DENABLE_UNIX_SOCKETS=OFF -DCURL_DISABLE_TESTS=ON -DUSE_NGHTTP2=OFF -DBUILD_EXAMPLES=OFF -DP2POOL_BORINGSSL=ON -DCURL_DISABLE_SRP=ON -DCURL_DISABLE_AWS=ON -DCURL_DISABLE_BASIC_AUTH=ON -DCURL_DISABLE_BEARER_AUTH=ON -DCURL_DISABLE_KERBEROS_AUTH=ON -DCURL_DISABLE_NEGOTIATE_AUTH=ON -DOPENSSL_INCLUDE_DIR=../grpc/third_party/boringssl-with-bazel/include + make -j4 + + - name: Build libuv + run: | + cd external/src/libuv + mkdir build + cd build + cmake .. -DCMAKE_C_COMPILER="$(brew --prefix llvm@18)/bin/clang" -DCMAKE_AR="$(brew --prefix llvm@18)/bin/llvm-ar" -DCMAKE_RANLIB="$(brew --prefix llvm@18)/bin/llvm-ranlib" -DCMAKE_C_FLAGS='${{ matrix.config.flags }}' -DBUILD_TESTING=OFF -DLIBUV_BUILD_SHARED=OFF + make -j4 + + - name: Build libzmq + run: | + cd external/src/libzmq + mkdir build + cd build + cmake .. -DCMAKE_C_COMPILER="$(brew --prefix llvm@18)/bin/clang" -DCMAKE_CXX_COMPILER="$(brew --prefix llvm@18)/bin/clang++" -DCMAKE_AR="$(brew --prefix llvm@18)/bin/llvm-ar" -DCMAKE_RANLIB="$(brew --prefix llvm@18)/bin/llvm-ranlib" -DCMAKE_C_FLAGS='${{ matrix.config.flags }}' -DCMAKE_CXX_FLAGS='${{ matrix.config.flags }}' -DWITH_LIBSODIUM=OFF -DWITH_LIBBSD=OFF -DBUILD_TESTS=OFF -DWITH_DOCS=OFF -DENABLE_DRAFTS=OFF -DBUILD_SHARED=OFF + make -j4 + + - name: Build p2pool + run: | + mkdir build + cd build + cmake .. -DCMAKE_C_COMPILER="$(brew --prefix llvm@18)/bin/clang" -DCMAKE_CXX_COMPILER="$(brew --prefix llvm@18)/bin/clang++" -DCMAKE_AR="$(brew --prefix llvm@18)/bin/llvm-ar" -DCMAKE_RANLIB="$(brew --prefix llvm@18)/bin/llvm-ranlib" -DCMAKE_C_FLAGS='${{ matrix.config.flags }}' -DCMAKE_CXX_FLAGS='${{ matrix.config.flags }}' -DWITH_LTO=OFF -DSTATIC_LIBS=ON -DDEV_TEST_SYNC=ON -DDEV_DEBUG=ON -DWITH_INDEXED_HASHES=ON + make -j4 p2pool-salvium + + - name: Run p2pool + run: | + cd build + mkdir data + python3 ../tests/src/stratum_dummy.py 1 & + python3 ../tests/src/stratum_dummy.py 2 & + python3 ../tests/src/stratum_dummy.py 3 & + ./p2pool-salvium --host core2.whiskymine.io --rpc-port 19081 --zmq-port 19084 --wallet SC11n4s2UEj9Rc8XxppPbegwQethVmREpG9JP3aJUBGRCuD3wEvS4qtYtBjhqSx3S1hw3WDCfmbWKHJqa9g5Vqyo3jrsReJ5vp ${{ secrets.MM_PARAMS }} --out-peers 200 --data-api data --local-api --loglevel 4 --no-color + + - name: Check synchronization + run: | + cd build + grep 'Synchronization finished successfully' p2pool.log + + - name: Check p2pool.log for errors + run: | + cd build + ../scripts/workflows/test-sync-check.sh + + - name: Archive p2pool.log + if: '!cancelled()' + uses: actions/upload-artifact@v4 + with: + name: p2pool_${{ matrix.config.os }}_data + path: | + build/*.log + build/data/ diff --git a/.github/workflows/test-sync.yml b/.github/workflows/test-sync-ubuntu.yml similarity index 62% rename from .github/workflows/test-sync.yml rename to .github/workflows/test-sync-ubuntu.yml index e9a29b4..80c9066 100644 --- a/.github/workflows/test-sync.yml +++ b/.github/workflows/test-sync-ubuntu.yml @@ -1,4 +1,4 @@ -name: Sync test +name: Sync test (Ubuntu) on: push: @@ -68,7 +68,7 @@ jobs: python ../tests/src/stratum_dummy.py 2 & python ../tests/src/stratum_dummy.py 3 & sudo sysctl vm.mmap_rnd_bits=28 - TSAN_OPTIONS="suppressions=../tests/src/tsan_sup.txt halt_on_error=1 history_size=4" ./p2pool-salvium --host core2.whiskymine.io --rpc-port 19081 --zmq-port 19084 --wallet SC11n4s2UEj9Rc8XxppPbegwQethVmREpG9JP3aJUBGRCuD3wEvS4qtYtBjhqSx3S1hw3WDCfmbWKHJqa9g5Vqyo3jrsReJ5vp ${{ secrets.MM_PARAMS }} --out-peers 200 --data-api data --local-api --loglevel 4 + TSAN_OPTIONS="suppressions=../tests/src/tsan_sup.txt halt_on_error=1 history_size=4" ./p2pool-salvium --host core2.whiskymine.io --rpc-port 19081 --zmq-port 19084 --wallet SC11n4s2UEj9Rc8XxppPbegwQethVmREpG9JP3aJUBGRCuD3wEvS4qtYtBjhqSx3S1hw3WDCfmbWKHJqa9g5Vqyo3jrsReJ5vp ${{ secrets.MM_PARAMS }} --out-peers 200 --data-api data --local-api --loglevel 4 --no-color - name: Check synchronization run: | @@ -160,7 +160,7 @@ jobs: python ../tests/src/stratum_dummy.py 2 & python ../tests/src/stratum_dummy.py 3 & sudo sysctl vm.mmap_rnd_bits=28 - MSAN_OPTIONS="halt_on_error=1" ./p2pool-salvium --host core2.whiskymine.io --rpc-port 19081 --zmq-port 19084 --wallet SC11n4s2UEj9Rc8XxppPbegwQethVmREpG9JP3aJUBGRCuD3wEvS4qtYtBjhqSx3S1hw3WDCfmbWKHJqa9g5Vqyo3jrsReJ5vp ${{ secrets.MM_PARAMS }} --out-peers 20 --data-api data --local-api --loglevel 4 + MSAN_OPTIONS="halt_on_error=1" ./p2pool-salvium --host core2.whiskymine.io --rpc-port 19081 --zmq-port 19084 --wallet SC11n4s2UEj9Rc8XxppPbegwQethVmREpG9JP3aJUBGRCuD3wEvS4qtYtBjhqSx3S1hw3WDCfmbWKHJqa9g5Vqyo3jrsReJ5vp ${{ secrets.MM_PARAMS }} --out-peers 20 --data-api data --local-api --loglevel 4 --no-color - name: Check synchronization run: | @@ -213,7 +213,7 @@ jobs: python ../tests/src/stratum_dummy.py 2 & python ../tests/src/stratum_dummy.py 3 & sudo sysctl vm.mmap_rnd_bits=28 - UBSAN_OPTIONS="suppressions=../tests/src/ubsan_sup.txt halt_on_error=1" ./p2pool-salvium --host core2.whiskymine.io --rpc-port 19081 --zmq-port 19084 --wallet SC11n4s2UEj9Rc8XxppPbegwQethVmREpG9JP3aJUBGRCuD3wEvS4qtYtBjhqSx3S1hw3WDCfmbWKHJqa9g5Vqyo3jrsReJ5vp ${{ secrets.MM_PARAMS }} --out-peers 200 --data-api data --local-api --loglevel 4 + UBSAN_OPTIONS="suppressions=../tests/src/ubsan_sup.txt halt_on_error=1" ./p2pool-salvium --host core2.whiskymine.io --rpc-port 19081 --zmq-port 19084 --wallet SC11n4s2UEj9Rc8XxppPbegwQethVmREpG9JP3aJUBGRCuD3wEvS4qtYtBjhqSx3S1hw3WDCfmbWKHJqa9g5Vqyo3jrsReJ5vp ${{ secrets.MM_PARAMS }} --out-peers 200 --data-api data --local-api --loglevel 4 --no-color - name: Check synchronization run: | @@ -266,7 +266,7 @@ jobs: python ../tests/src/stratum_dummy.py 2 & python ../tests/src/stratum_dummy.py 3 & sudo sysctl vm.mmap_rnd_bits=28 - ASAN_OPTIONS="detect_stack_use_after_return=1 atexit=1" ./p2pool-salvium --host core2.whiskymine.io --rpc-port 19081 --zmq-port 19084 --wallet SC11n4s2UEj9Rc8XxppPbegwQethVmREpG9JP3aJUBGRCuD3wEvS4qtYtBjhqSx3S1hw3WDCfmbWKHJqa9g5Vqyo3jrsReJ5vp ${{ secrets.MM_PARAMS }} --out-peers 200 --data-api data --local-api --loglevel 4 + ASAN_OPTIONS="detect_stack_use_after_return=1 atexit=1" ./p2pool-salvium --host core2.whiskymine.io --rpc-port 19081 --zmq-port 19084 --wallet SC11n4s2UEj9Rc8XxppPbegwQethVmREpG9JP3aJUBGRCuD3wEvS4qtYtBjhqSx3S1hw3WDCfmbWKHJqa9g5Vqyo3jrsReJ5vp ${{ secrets.MM_PARAMS }} --out-peers 200 --data-api data --local-api --loglevel 4 --no-color - name: Check synchronization run: | @@ -286,167 +286,3 @@ jobs: path: | build/*.log build/data/ - - sync-test-macos: - timeout-minutes: 120 - runs-on: ${{ matrix.config.os }} - - strategy: - max-parallel: 1 - matrix: - config: - - {os: macos-15-intel, flags: ""} - - {os: macos-15, flags: "-target arm64-apple-macos-11"} - - steps: - - name: Checkout repository - uses: actions/checkout@v4 - with: - submodules: recursive - - - name: Build libcurl - run: | - cd external/src/curl - cmake . -DCMAKE_C_COMPILER="$(brew --prefix llvm@18)/bin/clang" -DCMAKE_AR="$(brew --prefix llvm@18)/bin/llvm-ar" -DCMAKE_RANLIB="$(brew --prefix llvm@18)/bin/llvm-ranlib" -DCMAKE_C_FLAGS="${{ matrix.config.flags }}" -DBUILD_CURL_EXE=OFF -DBUILD_SHARED_LIBS=OFF -DCURL_DISABLE_INSTALL=ON -DCURL_ENABLE_EXPORT_TARGET=OFF -DCURL_DISABLE_HEADERS_API=ON -DCURL_DISABLE_BINDLOCAL=ON -DBUILD_LIBCURL_DOCS=OFF -DBUILD_MISC_DOCS=OFF -DENABLE_CURL_MANUAL=OFF -DCURL_ZLIB=OFF -DCURL_BROTLI=OFF -DCURL_ZSTD=OFF -DCURL_DISABLE_ALTSVC=ON -DCURL_DISABLE_COOKIES=ON -DCURL_DISABLE_DOH=ON -DCURL_DISABLE_GETOPTIONS=ON -DCURL_DISABLE_HSTS=ON -DCURL_DISABLE_LIBCURL_OPTION=ON -DCURL_DISABLE_MIME=ON -DCURL_DISABLE_NETRC=ON -DCURL_DISABLE_NTLM=ON -DCURL_DISABLE_PARSEDATE=ON -DCURL_DISABLE_PROGRESS_METER=ON -DCURL_DISABLE_SHUFFLE_DNS=ON -DCURL_DISABLE_SOCKETPAIR=ON -DCURL_DISABLE_VERBOSE_STRINGS=ON -DCURL_DISABLE_WEBSOCKETS=ON -DHTTP_ONLY=ON -DCURL_ENABLE_SSL=OFF -DUSE_LIBIDN2=OFF -DCURL_USE_LIBPSL=OFF -DCURL_USE_LIBSSH2=OFF -DENABLE_UNIX_SOCKETS=OFF -DCURL_DISABLE_TESTS=ON -DUSE_NGHTTP2=OFF -DBUILD_EXAMPLES=OFF -DP2POOL_BORINGSSL=ON -DCURL_DISABLE_SRP=ON -DCURL_DISABLE_AWS=ON -DCURL_DISABLE_BASIC_AUTH=ON -DCURL_DISABLE_BEARER_AUTH=ON -DCURL_DISABLE_KERBEROS_AUTH=ON -DCURL_DISABLE_NEGOTIATE_AUTH=ON -DOPENSSL_INCLUDE_DIR=../grpc/third_party/boringssl-with-bazel/include - make -j4 - - - name: Build libuv - run: | - cd external/src/libuv - mkdir build - cd build - cmake .. -DCMAKE_C_COMPILER="$(brew --prefix llvm@18)/bin/clang" -DCMAKE_AR="$(brew --prefix llvm@18)/bin/llvm-ar" -DCMAKE_RANLIB="$(brew --prefix llvm@18)/bin/llvm-ranlib" -DCMAKE_C_FLAGS='${{ matrix.config.flags }}' -DBUILD_TESTING=OFF -DLIBUV_BUILD_SHARED=OFF - make -j4 - - - name: Build libzmq - run: | - cd external/src/libzmq - mkdir build - cd build - cmake .. -DCMAKE_C_COMPILER="$(brew --prefix llvm@18)/bin/clang" -DCMAKE_CXX_COMPILER="$(brew --prefix llvm@18)/bin/clang++" -DCMAKE_AR="$(brew --prefix llvm@18)/bin/llvm-ar" -DCMAKE_RANLIB="$(brew --prefix llvm@18)/bin/llvm-ranlib" -DCMAKE_C_FLAGS='${{ matrix.config.flags }}' -DCMAKE_CXX_FLAGS='${{ matrix.config.flags }}' -DWITH_LIBSODIUM=OFF -DWITH_LIBBSD=OFF -DBUILD_TESTS=OFF -DWITH_DOCS=OFF -DENABLE_DRAFTS=OFF -DBUILD_SHARED=OFF - make -j4 - - - name: Build p2pool - run: | - mkdir build - cd build - cmake .. -DCMAKE_C_COMPILER="$(brew --prefix llvm@18)/bin/clang" -DCMAKE_CXX_COMPILER="$(brew --prefix llvm@18)/bin/clang++" -DCMAKE_AR="$(brew --prefix llvm@18)/bin/llvm-ar" -DCMAKE_RANLIB="$(brew --prefix llvm@18)/bin/llvm-ranlib" -DCMAKE_C_FLAGS='${{ matrix.config.flags }}' -DCMAKE_CXX_FLAGS='${{ matrix.config.flags }}' -DWITH_LTO=OFF -DSTATIC_LIBS=ON -DDEV_TEST_SYNC=ON -DDEV_DEBUG=ON -DWITH_INDEXED_HASHES=ON - make -j4 p2pool-salvium - - - name: Run p2pool - run: | - cd build - mkdir data - python3 ../tests/src/stratum_dummy.py 1 & - python3 ../tests/src/stratum_dummy.py 2 & - python3 ../tests/src/stratum_dummy.py 3 & - ./p2pool-salvium --host core2.whiskymine.io --rpc-port 19081 --zmq-port 19084 --wallet SC11n4s2UEj9Rc8XxppPbegwQethVmREpG9JP3aJUBGRCuD3wEvS4qtYtBjhqSx3S1hw3WDCfmbWKHJqa9g5Vqyo3jrsReJ5vp ${{ secrets.MM_PARAMS }} --out-peers 200 --data-api data --local-api --loglevel 4 - - - name: Check synchronization - run: | - cd build - grep 'Synchronization finished successfully' p2pool.log - - - name: Check p2pool.log for errors - run: | - cd build - ../scripts/workflows/test-sync-check.sh - - - name: Archive p2pool.log - if: '!cancelled()' - uses: actions/upload-artifact@v4 - with: - name: p2pool_${{ matrix.config.os }}_data - path: | - build/*.log - build/data/ - - sync-test-windows-debug-asan: - timeout-minutes: 60 - runs-on: windows-2022 - - steps: - - name: Checkout repository - uses: actions/checkout@v4 - with: - submodules: recursive - - - name: Setup cmake - uses: lukka/get-cmake@latest - - - name: Build p2pool - run: | - mkdir build - cd build - cmake .. -G "Visual Studio 17 2022" -DCMAKE_SYSTEM_VERSION="10.0" -DDEV_TEST_SYNC=ON -DDEV_WITH_ASAN=ON -DDEV_DEBUG=ON -DWITH_INDEXED_HASHES=ON -DCMAKE_POLICY_VERSION_MINIMUM="3.5" - & "C:\\Program Files\\Microsoft Visual Studio\\2022\\Enterprise\\Msbuild\\Current\\Bin\\amd64\\msbuild" -v:m /m /p:Configuration=Debug p2pool-salvium.vcxproj - - - name: Run p2pool - shell: cmd - run: | - call "C:\\Program Files\\Microsoft Visual Studio\\2022\\Enterprise\\VC\\Auxiliary\\Build\\vcvarsall.bat" amd64 - cd build/Debug - mkdir data - start python ../../tests/src/stratum_dummy.py 1 - start python ../../tests/src/stratum_dummy.py 2 - start python ../../tests/src/stratum_dummy.py 3 - p2pool-salvium.exe --host core2.whiskymine.io --rpc-port 19081 --zmq-port 19084 --wallet SC11n4s2UEj9Rc8XxppPbegwQethVmREpG9JP3aJUBGRCuD3wEvS4qtYtBjhqSx3S1hw3WDCfmbWKHJqa9g5Vqyo3jrsReJ5vp ${{ secrets.MM_PARAMS }} --out-peers 200 --data-api data --local-api --loglevel 4 - - - name: Check p2pool.log - run: | - cd build/Debug - findstr /C:"Synchronization finished successfully" p2pool.log - - - name: Archive p2pool.log - if: '!cancelled()' - uses: actions/upload-artifact@v4 - with: - name: p2pool_windows_data_debug_asan - path: | - build/Debug/*.log - build/Debug/data/ - - sync-test-windows-leaks: - needs: sync-test-windows-debug-asan - timeout-minutes: 60 - runs-on: windows-2022 - - steps: - - name: Checkout repository - uses: actions/checkout@v4 - with: - submodules: recursive - - - name: Setup cmake - uses: lukka/get-cmake@latest - - - name: Build p2pool - run: | - mkdir build - cd build - cmake .. -G "Visual Studio 17 2022" -DCMAKE_SYSTEM_VERSION="10.0" -DDEV_TEST_SYNC=ON -DDEV_DEBUG=ON -DDEV_TRACK_MEMORY=ON -DWITH_INDEXED_HASHES=ON -DCMAKE_POLICY_VERSION_MINIMUM="3.5" - & "C:\\Program Files\\Microsoft Visual Studio\\2022\\Enterprise\\Msbuild\\Current\\Bin\\amd64\\msbuild" -v:m /m /p:Configuration=RelWithDebInfo p2pool-salvium.vcxproj - - - name: Run p2pool - run: | - cd build/RelWithDebInfo - mkdir data - Start-Process python -ArgumentList "../../tests/src/stratum_dummy.py 1" - Start-Process python -ArgumentList "../../tests/src/stratum_dummy.py 2" - Start-Process python -ArgumentList "../../tests/src/stratum_dummy.py 3" - ./p2pool-salvium.exe --host core2.whiskymine.io --rpc-port 19081 --zmq-port 19084 --wallet SC11n4s2UEj9Rc8XxppPbegwQethVmREpG9JP3aJUBGRCuD3wEvS4qtYtBjhqSx3S1hw3WDCfmbWKHJqa9g5Vqyo3jrsReJ5vp ${{ secrets.MM_PARAMS }} --out-peers 200 --data-api data --local-api --loglevel 4 - - - name: Check p2pool.log - run: | - cd build/RelWithDebInfo - Remove-Item p2pool.cache -Force - findstr /C:"Synchronization finished successfully" p2pool.log - - - name: Archive p2pool.log - if: '!cancelled()' - uses: actions/upload-artifact@v4 - with: - name: p2pool_windows_data_leaks - path: | - build/RelWithDebInfo/p2pool.* - build/RelWithDebInfo/data/ diff --git a/.github/workflows/test-sync-windows.yml b/.github/workflows/test-sync-windows.yml new file mode 100644 index 0000000..41c845c --- /dev/null +++ b/.github/workflows/test-sync-windows.yml @@ -0,0 +1,105 @@ +name: Sync test (Windows) + +on: + push: + branches: ["main"] + paths-ignore: + - 'docker-compose/**' + - 'docs/**' + - 'README.md' + - '.github/workflows/release.yml' + + pull_request: + + workflow_dispatch: + +jobs: + sync-test-windows-debug-asan: + timeout-minutes: 60 + runs-on: windows-2022 + + steps: + - name: Checkout repository + uses: actions/checkout@v4 + with: + submodules: recursive + + - name: Setup cmake + uses: lukka/get-cmake@latest + + - name: Build p2pool + run: | + mkdir build + cd build + cmake .. -G "Visual Studio 17 2022" -DCMAKE_SYSTEM_VERSION="10.0" -DDEV_TEST_SYNC=ON -DDEV_WITH_ASAN=ON -DDEV_DEBUG=ON -DWITH_INDEXED_HASHES=ON -DCMAKE_POLICY_VERSION_MINIMUM="3.5" + & "C:\\Program Files\\Microsoft Visual Studio\\2022\\Enterprise\\Msbuild\\Current\\Bin\\amd64\\msbuild" -v:m /m /p:Configuration=Debug p2pool-salvium.vcxproj + + - name: Run p2pool + shell: cmd + run: | + call "C:\\Program Files\\Microsoft Visual Studio\\2022\\Enterprise\\VC\\Auxiliary\\Build\\vcvarsall.bat" amd64 + cd build/Debug + mkdir data + start python ../../tests/src/stratum_dummy.py 1 + start python ../../tests/src/stratum_dummy.py 2 + start python ../../tests/src/stratum_dummy.py 3 + p2pool-salvium.exe --host core2.whiskymine.io --rpc-port 19081 --zmq-port 19084 --wallet SC11n4s2UEj9Rc8XxppPbegwQethVmREpG9JP3aJUBGRCuD3wEvS4qtYtBjhqSx3S1hw3WDCfmbWKHJqa9g5Vqyo3jrsReJ5vp ${{ secrets.MM_PARAMS }} --out-peers 200 --data-api data --local-api --loglevel 4 --no-color + + - name: Check p2pool.log + run: | + cd build/Debug + findstr /C:"Synchronization finished successfully" p2pool.log + + - name: Archive p2pool.log + if: '!cancelled()' + uses: actions/upload-artifact@v4 + with: + name: p2pool_windows_data_debug_asan + path: | + build/Debug/*.log + build/Debug/data/ + + sync-test-windows-leaks: + needs: sync-test-windows-debug-asan + timeout-minutes: 60 + runs-on: windows-2022 + + steps: + - name: Checkout repository + uses: actions/checkout@v4 + with: + submodules: recursive + + - name: Setup cmake + uses: lukka/get-cmake@latest + + - name: Build p2pool + run: | + mkdir build + cd build + cmake .. -G "Visual Studio 17 2022" -DCMAKE_SYSTEM_VERSION="10.0" -DDEV_TEST_SYNC=ON -DDEV_DEBUG=ON -DDEV_TRACK_MEMORY=ON -DWITH_INDEXED_HASHES=ON -DCMAKE_POLICY_VERSION_MINIMUM="3.5" + & "C:\\Program Files\\Microsoft Visual Studio\\2022\\Enterprise\\Msbuild\\Current\\Bin\\amd64\\msbuild" -v:m /m /p:Configuration=RelWithDebInfo p2pool-salvium.vcxproj + + - name: Run p2pool + run: | + cd build/RelWithDebInfo + mkdir data + Start-Process python -ArgumentList "../../tests/src/stratum_dummy.py 1" + Start-Process python -ArgumentList "../../tests/src/stratum_dummy.py 2" + Start-Process python -ArgumentList "../../tests/src/stratum_dummy.py 3" + ./p2pool-salvium.exe --host core2.whiskymine.io --rpc-port 19081 --zmq-port 19084 --wallet SC11n4s2UEj9Rc8XxppPbegwQethVmREpG9JP3aJUBGRCuD3wEvS4qtYtBjhqSx3S1hw3WDCfmbWKHJqa9g5Vqyo3jrsReJ5vp ${{ secrets.MM_PARAMS }} --out-peers 200 --data-api data --local-api --loglevel 4 --no-color + + - name: Check p2pool.log + run: | + cd build/RelWithDebInfo + Remove-Item p2pool.cache -Force + findstr /C:"Synchronization finished successfully" p2pool.log + + - name: Archive p2pool.log + if: '!cancelled()' + uses: actions/upload-artifact@v4 + with: + name: p2pool_windows_data_leaks + path: | + build/RelWithDebInfo/p2pool.* + build/RelWithDebInfo/data/ diff --git a/README.md b/README.md index 80e48de..f08f096 100644 --- a/README.md +++ b/README.md @@ -5,7 +5,9 @@ Decentralized pool for Salvium mining. Originally forked from [SChernykh's P2Poo ### Build Status ![C/C++ CI](https://github.com/mxhess/p2pool-salvium/actions/workflows/c-cpp.yml/badge.svg) -![test-sync](https://github.com/mxhess/p2pool-salvium/actions/workflows/test-sync.yml/badge.svg) +![test-sync-ubuntu](https://github.com/mxhess/p2pool-salvium/actions/workflows/test-sync-ubuntu.yml/badge.svg) +![test-sync-macos](https://github.com/mxhess/p2pool-salvium/actions/workflows/test-sync-macos.yml/badge.svg) +![test-sync-windows](https://github.com/mxhess/p2pool-salvium/actions/workflows/test-sync-windows.yml/badge.svg) ![CodeQL](https://github.com/mxhess/p2pool-salvium/actions/workflows/codeql-analysis.yml/badge.svg) ![msvc-analysis](https://github.com/mxhess/p2pool-salvium/actions/workflows/msvc-analysis.yml/badge.svg) ![cppcheck](https://github.com/mxhess/p2pool-salvium/actions/workflows/cppcheck.yml/badge.svg)