name: P2P Network Verification on: push: branches: [main, develop] paths: - 'apps/blockchain-node/**' - 'scripts/multi-node/**' - '.gitea/workflows/p2p-network-verification.yml' pull_request: branches: [main, develop] workflow_dispatch: schedule: - cron: '0 */4 * * *' # Every 4 hours concurrency: group: p2p-network-verification-${{ github.ref }} cancel-in-progress: true jobs: p2p-verification: runs-on: debian timeout-minutes: 15 steps: - name: Clone repository run: | WORKSPACE="/var/lib/aitbc-workspaces/p2p-network-verification" rm -rf "$WORKSPACE" mkdir -p "$WORKSPACE" cd "$WORKSPACE" git clone --depth 1 http://gitea.bubuit.net:3000/oib/aitbc.git repo - name: Initialize job logging run: | cd /var/lib/aitbc-workspaces/p2p-network-verification/repo bash scripts/ci/setup-job-logging.sh - name: Setup Python environment run: | cd /var/lib/aitbc-workspaces/p2p-network-verification/repo # Remove any existing venv to avoid cache corruption issues rm -rf venv bash scripts/ci/setup-python-venv.sh \ --repo-dir "$PWD" \ --venv-dir "$PWD/venv" \ --skip-requirements \ --extra-packages "requests psutil" - name: Run P2P network verification run: | cd /var/lib/aitbc-workspaces/p2p-network-verification/repo bash scripts/multi-node/p2p-verification.sh - name: P2P verification report if: always() run: | echo "=== P2P Network Verification Report ===" if [ -f /var/log/aitbc/p2p-verification.log ]; then tail -50 /var/log/aitbc/p2p-verification.log fi - name: Cleanup if: always() run: rm -rf /var/lib/aitbc-workspaces/p2p-network-verification