From 3a619a341341ab28ef918f6ef9352475128d2a51 Mon Sep 17 00:00:00 2001 From: Joost Jager Date: Thu, 26 Mar 2026 10:10:59 +0100 Subject: [PATCH] ci: Add temporary stress test for port allocation Strip workflow down to a single ubuntu-stable job that runs integration tests 10 times to verify the deterministic port allocation fix. Disable all other CI workflows for this branch. AI tools were used in preparing this commit. --- .github/workflows/audit.yml | 1 + .github/workflows/benchmarks.yml | 1 + .github/workflows/cln-integration.yml | 1 + .github/workflows/cron-weekly-rustfmt.yml | 1 + .github/workflows/kotlin.yml | 1 + .github/workflows/lnd-integration.yml | 1 + .github/workflows/python.yml | 1 + .github/workflows/rust.yml | 70 +++---------------- .github/workflows/semver.yml | 1 + .github/workflows/swift.yml | 1 + .github/workflows/vss-integration.yml | 1 + .github/workflows/vss-no-auth-integration.yml | 1 + 12 files changed, 21 insertions(+), 60 deletions(-) diff --git a/.github/workflows/audit.yml b/.github/workflows/audit.yml index d32c55cd5d..7146128377 100644 --- a/.github/workflows/audit.yml +++ b/.github/workflows/audit.yml @@ -6,6 +6,7 @@ on: jobs: audit: + if: false permissions: issues: write checks: write diff --git a/.github/workflows/benchmarks.yml b/.github/workflows/benchmarks.yml index ef049ad851..21a9759a89 100644 --- a/.github/workflows/benchmarks.yml +++ b/.github/workflows/benchmarks.yml @@ -8,6 +8,7 @@ concurrency: jobs: benchmark: + if: false runs-on: ubuntu-latest env: TOOLCHAIN: stable diff --git a/.github/workflows/cln-integration.yml b/.github/workflows/cln-integration.yml index 32e7b74c02..23a07e0787 100644 --- a/.github/workflows/cln-integration.yml +++ b/.github/workflows/cln-integration.yml @@ -8,6 +8,7 @@ concurrency: jobs: check-cln: + if: false runs-on: ubuntu-latest steps: - name: Checkout repository diff --git a/.github/workflows/cron-weekly-rustfmt.yml b/.github/workflows/cron-weekly-rustfmt.yml index d6326f03bd..c225ea3644 100644 --- a/.github/workflows/cron-weekly-rustfmt.yml +++ b/.github/workflows/cron-weekly-rustfmt.yml @@ -10,6 +10,7 @@ on: workflow_dispatch: # allows manual triggering jobs: format: + if: false name: Nightly rustfmt runs-on: ubuntu-24.04 steps: diff --git a/.github/workflows/kotlin.yml b/.github/workflows/kotlin.yml index 01a840d600..00ebf3bb47 100644 --- a/.github/workflows/kotlin.yml +++ b/.github/workflows/kotlin.yml @@ -8,6 +8,7 @@ concurrency: jobs: check-kotlin: + if: false runs-on: ubuntu-latest env: diff --git a/.github/workflows/lnd-integration.yml b/.github/workflows/lnd-integration.yml index f913e92ad5..1c25edac0f 100644 --- a/.github/workflows/lnd-integration.yml +++ b/.github/workflows/lnd-integration.yml @@ -8,6 +8,7 @@ concurrency: jobs: check-lnd: + if: false runs-on: ubuntu-latest steps: - name: Checkout repository diff --git a/.github/workflows/python.yml b/.github/workflows/python.yml index d9bc978d14..9ddc341f9b 100644 --- a/.github/workflows/python.yml +++ b/.github/workflows/python.yml @@ -8,6 +8,7 @@ concurrency: jobs: check-python: + if: false runs-on: ubuntu-latest env: diff --git a/.github/workflows/rust.yml b/.github/workflows/rust.yml index 1ccade4441..ff1ff5d51f 100644 --- a/.github/workflows/rust.yml +++ b/.github/workflows/rust.yml @@ -8,42 +8,13 @@ concurrency: jobs: build: - strategy: - matrix: - platform: [ - ubuntu-latest, - macos-latest, - windows-latest, - ] - toolchain: [ - stable, - beta, - 1.85.0, # Our MSRV - ] - include: - - toolchain: stable - check-fmt: true - build-uniffi: true - platform: ubuntu-latest - - toolchain: stable - platform: macos-latest - - toolchain: stable - platform: windows-latest - - toolchain: 1.85.0 - msrv: true - runs-on: ${{ matrix.platform }} + runs-on: ubuntu-latest steps: - name: Checkout source code uses: actions/checkout@v3 - - name: Install Rust ${{ matrix.toolchain }} toolchain + - name: Install Rust stable toolchain run: | - curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --profile=minimal --default-toolchain ${{ matrix.toolchain }} - - name: Check formatting on Rust ${{ matrix.toolchain }} - if: matrix.check-fmt - run: rustup component add rustfmt && cargo fmt --all -- --check - - name: Set RUSTFLAGS to deny warnings - if: "matrix.toolchain == 'stable'" - run: echo "RUSTFLAGS=-D warnings" >> "$GITHUB_ENV" + curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --profile=minimal --default-toolchain stable - name: Enable caching for bitcoind id: cache-bitcoind uses: actions/cache@v4 @@ -57,7 +28,7 @@ jobs: path: bin/electrs-${{ runner.os }}-${{ runner.arch }} key: electrs-${{ runner.os }}-${{ runner.arch }} - name: Download bitcoind/electrs - if: "matrix.platform != 'windows-latest' && (steps.cache-bitcoind.outputs.cache-hit != 'true' || steps.cache-electrs.outputs.cache-hit != 'true')" + if: "steps.cache-bitcoind.outputs.cache-hit != 'true' || steps.cache-electrs.outputs.cache-hit != 'true'" run: | source ./scripts/download_bitcoind_electrs.sh mkdir bin @@ -67,32 +38,11 @@ jobs: run: | echo "BITCOIND_EXE=$( pwd )/bin/bitcoind-${{ runner.os }}-${{ runner.arch }}" >> "$GITHUB_ENV" echo "ELECTRS_EXE=$( pwd )/bin/electrs-${{ runner.os }}-${{ runner.arch }}" >> "$GITHUB_ENV" - - name: Build on Rust ${{ matrix.toolchain }} + - name: Build run: cargo build --verbose --color always - - name: Build with UniFFI support on Rust ${{ matrix.toolchain }} - if: matrix.build-uniffi - run: cargo build --features uniffi --verbose --color always - - name: Check release build on Rust ${{ matrix.toolchain }} - run: cargo check --release --verbose --color always - - name: Check release build with UniFFI support on Rust ${{ matrix.toolchain }} - if: matrix.build-uniffi - run: cargo check --release --features uniffi --verbose --color always - - name: Test on Rust ${{ matrix.toolchain }} - if: "matrix.platform != 'windows-latest'" - run: | - RUSTFLAGS="--cfg no_download --cfg cycle_tests" cargo test - - name: Test with UniFFI support on Rust ${{ matrix.toolchain }} - if: "matrix.platform != 'windows-latest' && matrix.build-uniffi" + - name: Stress test port allocation (temporary) run: | - RUSTFLAGS="--cfg no_download --cfg cycle_tests" cargo test --features uniffi - - doc: - name: Documentation - runs-on: ubuntu-latest - env: - RUSTDOCFLAGS: -Dwarnings - steps: - - uses: actions/checkout@v6 - - uses: dtolnay/rust-toolchain@nightly - - uses: dtolnay/install@cargo-docs-rs - - run: cargo docs-rs + for i in $(seq 1 10); do + echo "=== Iteration $i ===" + RUSTFLAGS="--cfg no_download --cfg cycle_tests" cargo test --test integration_tests_rust + done diff --git a/.github/workflows/semver.yml b/.github/workflows/semver.yml index 2a3b14ef88..43fe76490d 100644 --- a/.github/workflows/semver.yml +++ b/.github/workflows/semver.yml @@ -3,6 +3,7 @@ on: [push, pull_request] jobs: semver-checks: + if: false runs-on: ubuntu-latest steps: - name: Checkout source code diff --git a/.github/workflows/swift.yml b/.github/workflows/swift.yml index 3410d09aa2..84626e7c3c 100644 --- a/.github/workflows/swift.yml +++ b/.github/workflows/swift.yml @@ -8,6 +8,7 @@ concurrency: jobs: check-swift: + if: false runs-on: macos-latest steps: diff --git a/.github/workflows/vss-integration.yml b/.github/workflows/vss-integration.yml index b5c4e9a0b0..e5b346f47a 100644 --- a/.github/workflows/vss-integration.yml +++ b/.github/workflows/vss-integration.yml @@ -8,6 +8,7 @@ concurrency: jobs: build-and-test: + if: false runs-on: ubuntu-latest services: diff --git a/.github/workflows/vss-no-auth-integration.yml b/.github/workflows/vss-no-auth-integration.yml index 8a54080920..1d776a1d9e 100644 --- a/.github/workflows/vss-no-auth-integration.yml +++ b/.github/workflows/vss-no-auth-integration.yml @@ -8,6 +8,7 @@ concurrency: jobs: build-and-test: + if: false runs-on: ubuntu-latest services: