p2pool/.github/workflows/test-sync.yml

176 lines
5.7 KiB
YAML
Raw Normal View History

2022-08-23 12:13:09 +00:00
name: Sync test
on: [push, pull_request]
jobs:
sync-test-ubuntu-tsan:
2022-08-23 12:13:09 +00:00
timeout-minutes: 30
2022-08-23 12:13:09 +00:00
runs-on: ubuntu-22.04
steps:
- name: Install dependencies
run: |
sudo add-apt-repository -y ppa:ubuntu-toolchain-r/test
sudo apt update
sudo apt install -y git build-essential cmake libuv1-dev libzmq3-dev libsodium-dev libpgm-dev libnorm-dev libgss-dev libcurl4-openssl-dev libidn2-0-dev gcc-12 g++-12
- name: Checkout repository
2022-10-28 12:32:49 +00:00
uses: actions/checkout@v3
2022-08-23 12:13:09 +00:00
with:
submodules: true
- name: Build p2pool
run: |
mkdir build
cd build
2023-05-17 21:06:54 +00:00
cmake .. -DDEV_TEST_SYNC=ON -DDEV_WITH_TSAN=ON -DCMAKE_C_COMPILER=gcc-12 -DCMAKE_CXX_COMPILER=g++-12
2022-08-23 12:13:09 +00:00
make -j$(nproc)
- name: Run p2pool
timeout-minutes: 20
2022-08-23 12:13:09 +00:00
run: |
cd build
2023-01-13 13:43:13 +00:00
mkdir data
2023-05-17 13:12:48 +00:00
python ../tests/src/stratum_dummy.py stratum_dummy1.log &
python ../tests/src/stratum_dummy.py stratum_dummy2.log &
python ../tests/src/stratum_dummy.py stratum_dummy3.log &
TSAN_OPTIONS="suppressions=../tests/src/tsan_sup.txt halt_on_error=1" ./p2pool --host xmrnode.facspro.net --rpc-port 18089 --zmq-port 18084 --wallet 44MnN1f3Eto8DZYUWuE5XZNUtE3vcRzt2j6PzqWpPau34e6Cf4fAxt6X2MBmrm6F9YMEiMNjN6W4Shn4pLcfNAja621jwyg --data-api data --local-api --loglevel 6
2023-04-17 22:02:57 +00:00
grep 'Synchronization finished successfully' p2pool.log
2022-08-23 12:13:09 +00:00
- name: Archive p2pool.log
2022-10-28 12:32:49 +00:00
uses: actions/upload-artifact@v3
2022-08-23 12:13:09 +00:00
with:
2023-01-13 13:43:13 +00:00
name: p2pool_ubuntu_data
path: |
2023-05-17 13:12:48 +00:00
build/*.log
2023-01-13 13:43:13 +00:00
build/data/
2022-08-23 12:13:09 +00:00
sync-test-ubuntu-msan:
timeout-minutes: 30
runs-on: ubuntu-22.04
steps:
- name: Install dependencies
run: |
sudo apt update
sudo apt install -y git build-essential cmake libuv1-dev libzmq3-dev libsodium-dev libpgm-dev libnorm-dev libgss-dev libcurl4-openssl-dev libidn2-0-dev
- name: Install clang
run: |
wget https://apt.llvm.org/llvm.sh
chmod +x llvm.sh
sudo ./llvm.sh 17
- name: Checkout repository
uses: actions/checkout@v3
with:
submodules: true
- name: Build p2pool
run: |
mkdir build
cd build
cmake .. -DDEV_TEST_SYNC=ON -DDEV_WITH_MSAN=ON -DCMAKE_C_COMPILER=clang-17 -DCMAKE_CXX_COMPILER=clang++-17
make -j$(nproc)
- name: Run p2pool
timeout-minutes: 20
run: |
cd build
mkdir data
python ../tests/src/stratum_dummy.py stratum_dummy1.log &
python ../tests/src/stratum_dummy.py stratum_dummy2.log &
python ../tests/src/stratum_dummy.py stratum_dummy3.log &
TSAN_OPTIONS="suppressions=../tests/src/tsan_sup.txt halt_on_error=1" ./p2pool --host xmrnode.facspro.net --rpc-port 18089 --zmq-port 18084 --wallet 44MnN1f3Eto8DZYUWuE5XZNUtE3vcRzt2j6PzqWpPau34e6Cf4fAxt6X2MBmrm6F9YMEiMNjN6W4Shn4pLcfNAja621jwyg --data-api data --local-api --loglevel 6
grep 'Synchronization finished successfully' p2pool.log
- name: Archive p2pool.log
uses: actions/upload-artifact@v3
with:
name: p2pool_ubuntu_data
path: |
build/*.log
build/data/
2022-08-23 12:13:09 +00:00
sync-test-macos:
timeout-minutes: 30
2022-08-23 12:13:09 +00:00
runs-on: macos-12
steps:
- name: Checkout repository
2022-10-28 12:32:49 +00:00
uses: actions/checkout@v3
2022-08-23 12:13:09 +00:00
with:
submodules: recursive
- name: Install dependencies
run: HOMEBREW_NO_AUTO_UPDATE=1 brew install cmake libuv zmq libpgm curl
2022-08-23 12:13:09 +00:00
- name: Build p2pool
run: |
mkdir build
cd build
2023-03-20 09:56:18 +00:00
cmake .. -DDEV_TEST_SYNC=ON
2022-08-23 12:13:09 +00:00
make -j3
- name: Run p2pool
timeout-minutes: 20
2022-08-23 12:13:09 +00:00
run: |
cd build
2023-01-13 13:43:13 +00:00
mkdir data
2023-05-17 13:12:48 +00:00
python ../tests/src/stratum_dummy.py stratum_dummy1.log &
python ../tests/src/stratum_dummy.py stratum_dummy2.log &
python ../tests/src/stratum_dummy.py stratum_dummy3.log &
./p2pool --host xmrnode.facspro.net --rpc-port 18089 --zmq-port 18084 --wallet 44MnN1f3Eto8DZYUWuE5XZNUtE3vcRzt2j6PzqWpPau34e6Cf4fAxt6X2MBmrm6F9YMEiMNjN6W4Shn4pLcfNAja621jwyg --data-api data --local-api --loglevel 6
2023-04-17 22:02:57 +00:00
grep 'Synchronization finished successfully' p2pool.log
2022-08-23 12:13:09 +00:00
- name: Archive p2pool.log
2022-10-28 12:32:49 +00:00
uses: actions/upload-artifact@v3
2022-08-23 12:13:09 +00:00
with:
2023-01-13 13:43:13 +00:00
name: p2pool_macos_data
path: |
2023-05-17 13:12:48 +00:00
build/*.log
2023-01-13 13:43:13 +00:00
build/data/
2022-08-23 12:13:09 +00:00
sync-test-windows-debug-asan:
2022-08-23 12:13:09 +00:00
timeout-minutes: 30
2022-08-23 12:13:09 +00:00
runs-on: windows-2022
steps:
- name: Checkout repository
2022-10-28 12:32:49 +00:00
uses: actions/checkout@v3
2022-08-23 12:13:09 +00:00
with:
submodules: recursive
- name: Setup cmake
uses: lukka/get-cmake@latest
- name: Build p2pool
run: |
mkdir build
cd build
2023-03-20 09:56:18 +00:00
cmake .. -G "Visual Studio 17 2022" -DDEV_TEST_SYNC=ON
2022-09-14 16:05:28 +00:00
& "C:\\Program Files\\Microsoft Visual Studio\\2022\\Enterprise\\Msbuild\\Current\\Bin\\amd64\\msbuild" /m /p:Configuration=Debug p2pool.vcxproj
2022-08-23 12:13:09 +00:00
- name: Run p2pool
timeout-minutes: 20
2022-08-23 12:13:09 +00:00
run: |
2022-09-14 16:05:28 +00:00
cd build/Debug
2023-01-13 13:43:13 +00:00
mkdir data
2023-05-17 13:12:48 +00:00
Start-Process python -ArgumentList "../../tests/src/stratum_dummy.py stratum_dummy1.log"
Start-Process python -ArgumentList "../../tests/src/stratum_dummy.py stratum_dummy2.log"
Start-Process python -ArgumentList "../../tests/src/stratum_dummy.py stratum_dummy3.log"
./p2pool.exe --host xmrnode.facspro.net --rpc-port 18089 --zmq-port 18084 --wallet 44MnN1f3Eto8DZYUWuE5XZNUtE3vcRzt2j6PzqWpPau34e6Cf4fAxt6X2MBmrm6F9YMEiMNjN6W4Shn4pLcfNAja621jwyg --data-api data --local-api --loglevel 6
2023-04-17 22:02:57 +00:00
findstr /C:"Synchronization finished successfully" p2pool.log
2022-08-23 12:13:09 +00:00
- name: Archive p2pool.log
2022-10-28 12:32:49 +00:00
uses: actions/upload-artifact@v3
2022-08-23 12:13:09 +00:00
with:
2023-01-13 13:43:13 +00:00
name: p2pool_windows_data
path: |
2023-05-17 13:12:48 +00:00
build/Debug/*.log
2023-01-13 13:43:13 +00:00
build/Debug/data/