From 9c7e0bcd01499a6c400862729acc5f750a448a18 Mon Sep 17 00:00:00 2001 From: benthecarman Date: Fri, 5 Jun 2026 10:56:06 -0500 Subject: [PATCH 1/2] Add 60 minute timeout to CI jobs We ran out of our CI limit largely from ldk-node. We had a few jobs this week run for multiple hours because of a hanging test. Add 60 minute timeout to all our jobs to prevent this in the future. --- .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/eclair-integration.yml | 1 + .github/workflows/hrn-integration.yml | 3 ++- .github/workflows/kotlin.yml | 1 + .github/workflows/lnd-integration.yml | 1 + .github/workflows/python.yml | 1 + .github/workflows/rust.yml | 5 ++++- .github/workflows/semver.yml | 1 + .github/workflows/swift.yml | 1 + .github/workflows/vss-integration.yml | 1 + .github/workflows/vss-no-auth-integration.yml | 1 + 14 files changed, 18 insertions(+), 2 deletions(-) diff --git a/.github/workflows/audit.yml b/.github/workflows/audit.yml index e2ae378dd7..5e5149ac5a 100644 --- a/.github/workflows/audit.yml +++ b/.github/workflows/audit.yml @@ -6,6 +6,7 @@ on: jobs: audit: + timeout-minutes: 60 permissions: issues: write checks: write diff --git a/.github/workflows/benchmarks.yml b/.github/workflows/benchmarks.yml index 6d0056e9aa..88f7705b13 100644 --- a/.github/workflows/benchmarks.yml +++ b/.github/workflows/benchmarks.yml @@ -8,6 +8,7 @@ concurrency: jobs: benchmark: + timeout-minutes: 60 runs-on: ubuntu-latest env: TOOLCHAIN: stable diff --git a/.github/workflows/cln-integration.yml b/.github/workflows/cln-integration.yml index 81eb822502..3c1a8f5809 100644 --- a/.github/workflows/cln-integration.yml +++ b/.github/workflows/cln-integration.yml @@ -8,6 +8,7 @@ concurrency: jobs: check-cln: + timeout-minutes: 60 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 9e54ab9f32..7bb55a86d1 100644 --- a/.github/workflows/cron-weekly-rustfmt.yml +++ b/.github/workflows/cron-weekly-rustfmt.yml @@ -11,6 +11,7 @@ on: jobs: format: name: Nightly rustfmt + timeout-minutes: 60 runs-on: ubuntu-24.04 steps: - uses: actions/checkout@v6 diff --git a/.github/workflows/eclair-integration.yml b/.github/workflows/eclair-integration.yml index 56d51b77ee..daa4572ccd 100644 --- a/.github/workflows/eclair-integration.yml +++ b/.github/workflows/eclair-integration.yml @@ -8,6 +8,7 @@ concurrency: jobs: check-eclair: + timeout-minutes: 60 runs-on: ubuntu-latest steps: - name: Checkout repository diff --git a/.github/workflows/hrn-integration.yml b/.github/workflows/hrn-integration.yml index f7ded7bc56..767210f100 100644 --- a/.github/workflows/hrn-integration.yml +++ b/.github/workflows/hrn-integration.yml @@ -8,6 +8,7 @@ concurrency: jobs: build-and-test: + timeout-minutes: 60 runs-on: ubuntu-latest steps: @@ -42,4 +43,4 @@ jobs: - name: Run HRN Integration Tests run: | RUSTFLAGS="--cfg no_download --cfg hrn_tests $RUSTFLAGS" cargo test --test integration_tests_hrn - RUSTFLAGS="--cfg no_download --cfg hrn_tests $RUSTFLAGS" cargo test --test integration_tests_hrn --features uniffi \ No newline at end of file + RUSTFLAGS="--cfg no_download --cfg hrn_tests $RUSTFLAGS" cargo test --test integration_tests_hrn --features uniffi diff --git a/.github/workflows/kotlin.yml b/.github/workflows/kotlin.yml index f4d55e3bcc..f3066e4c7e 100644 --- a/.github/workflows/kotlin.yml +++ b/.github/workflows/kotlin.yml @@ -8,6 +8,7 @@ concurrency: jobs: check-kotlin: + timeout-minutes: 60 runs-on: ubuntu-latest env: diff --git a/.github/workflows/lnd-integration.yml b/.github/workflows/lnd-integration.yml index caefbdb6b2..6006ecf2ba 100644 --- a/.github/workflows/lnd-integration.yml +++ b/.github/workflows/lnd-integration.yml @@ -8,6 +8,7 @@ concurrency: jobs: check-lnd: + timeout-minutes: 60 runs-on: ubuntu-latest steps: - name: Checkout repository diff --git a/.github/workflows/python.yml b/.github/workflows/python.yml index e154faa7e9..be5bbeb25a 100644 --- a/.github/workflows/python.yml +++ b/.github/workflows/python.yml @@ -8,6 +8,7 @@ concurrency: jobs: check-python: + timeout-minutes: 60 runs-on: ubuntu-latest env: diff --git a/.github/workflows/rust.yml b/.github/workflows/rust.yml index b2575aca1f..13959a8e3b 100644 --- a/.github/workflows/rust.yml +++ b/.github/workflows/rust.yml @@ -8,6 +8,7 @@ concurrency: jobs: build: + timeout-minutes: 60 strategy: matrix: platform: [ @@ -92,6 +93,7 @@ jobs: linting: name: Linting + timeout-minutes: 60 runs-on: ubuntu-latest steps: - name: Checkout source code @@ -107,6 +109,7 @@ jobs: doc: name: Documentation + timeout-minutes: 60 runs-on: ubuntu-latest env: RUSTDOCFLAGS: -Dwarnings @@ -114,4 +117,4 @@ jobs: - uses: actions/checkout@v6 - uses: dtolnay/rust-toolchain@nightly - uses: dtolnay/install@cargo-docs-rs - - run: cargo docs-rs \ No newline at end of file + - run: cargo docs-rs diff --git a/.github/workflows/semver.yml b/.github/workflows/semver.yml index 0fdfbe2137..52c505b5b8 100644 --- a/.github/workflows/semver.yml +++ b/.github/workflows/semver.yml @@ -3,6 +3,7 @@ on: [push, pull_request] jobs: semver-checks: + timeout-minutes: 60 runs-on: ubuntu-latest steps: - name: Checkout source code diff --git a/.github/workflows/swift.yml b/.github/workflows/swift.yml index c1e385e2d3..2973892bf9 100644 --- a/.github/workflows/swift.yml +++ b/.github/workflows/swift.yml @@ -8,6 +8,7 @@ concurrency: jobs: check-swift: + timeout-minutes: 60 runs-on: macos-latest steps: diff --git a/.github/workflows/vss-integration.yml b/.github/workflows/vss-integration.yml index 9591751628..b77cc31526 100644 --- a/.github/workflows/vss-integration.yml +++ b/.github/workflows/vss-integration.yml @@ -8,6 +8,7 @@ concurrency: jobs: build-and-test: + timeout-minutes: 60 runs-on: ubuntu-latest services: diff --git a/.github/workflows/vss-no-auth-integration.yml b/.github/workflows/vss-no-auth-integration.yml index 950ff3e5f0..009e80cd45 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: + timeout-minutes: 60 runs-on: ubuntu-latest services: From 3b1dc6caaf55bff6e5dee2ce5e6564aef6bfcf9d Mon Sep 17 00:00:00 2001 From: benthecarman Date: Fri, 5 Jun 2026 11:08:06 -0500 Subject: [PATCH 2/2] Replace ubuntu runners with self-hosted runner --- .github/workflows/audit.yml | 2 +- .github/workflows/benchmarks.yml | 2 +- .github/workflows/cln-integration.yml | 2 +- .github/workflows/cron-weekly-rustfmt.yml | 2 +- .github/workflows/eclair-integration.yml | 2 +- .github/workflows/hrn-integration.yml | 2 +- .github/workflows/kotlin.yml | 2 +- .github/workflows/lnd-integration.yml | 2 +- .github/workflows/postgres-integration.yml | 2 +- .github/workflows/python.yml | 2 +- .github/workflows/rust.yml | 8 ++++---- .github/workflows/semver.yml | 2 +- .github/workflows/vss-integration.yml | 2 +- .github/workflows/vss-no-auth-integration.yml | 2 +- 14 files changed, 17 insertions(+), 17 deletions(-) diff --git a/.github/workflows/audit.yml b/.github/workflows/audit.yml index 5e5149ac5a..6481f6fc40 100644 --- a/.github/workflows/audit.yml +++ b/.github/workflows/audit.yml @@ -13,7 +13,7 @@ jobs: strategy: matrix: platform: [ - ubuntu-latest, + self-hosted, macos-latest, windows-latest, ] diff --git a/.github/workflows/benchmarks.yml b/.github/workflows/benchmarks.yml index 88f7705b13..fbad879786 100644 --- a/.github/workflows/benchmarks.yml +++ b/.github/workflows/benchmarks.yml @@ -9,7 +9,7 @@ concurrency: jobs: benchmark: timeout-minutes: 60 - runs-on: ubuntu-latest + runs-on: self-hosted env: TOOLCHAIN: stable steps: diff --git a/.github/workflows/cln-integration.yml b/.github/workflows/cln-integration.yml index 3c1a8f5809..839743381d 100644 --- a/.github/workflows/cln-integration.yml +++ b/.github/workflows/cln-integration.yml @@ -9,7 +9,7 @@ concurrency: jobs: check-cln: timeout-minutes: 60 - runs-on: ubuntu-latest + runs-on: self-hosted steps: - name: Checkout repository uses: actions/checkout@v6 diff --git a/.github/workflows/cron-weekly-rustfmt.yml b/.github/workflows/cron-weekly-rustfmt.yml index 7bb55a86d1..1f05ab6a4a 100644 --- a/.github/workflows/cron-weekly-rustfmt.yml +++ b/.github/workflows/cron-weekly-rustfmt.yml @@ -12,7 +12,7 @@ jobs: format: name: Nightly rustfmt timeout-minutes: 60 - runs-on: ubuntu-24.04 + runs-on: self-hosted steps: - uses: actions/checkout@v6 - uses: dtolnay/rust-toolchain@nightly diff --git a/.github/workflows/eclair-integration.yml b/.github/workflows/eclair-integration.yml index daa4572ccd..9b92e3d711 100644 --- a/.github/workflows/eclair-integration.yml +++ b/.github/workflows/eclair-integration.yml @@ -9,7 +9,7 @@ concurrency: jobs: check-eclair: timeout-minutes: 60 - runs-on: ubuntu-latest + runs-on: self-hosted steps: - name: Checkout repository uses: actions/checkout@v4 diff --git a/.github/workflows/hrn-integration.yml b/.github/workflows/hrn-integration.yml index 767210f100..76a95f93de 100644 --- a/.github/workflows/hrn-integration.yml +++ b/.github/workflows/hrn-integration.yml @@ -9,7 +9,7 @@ concurrency: jobs: build-and-test: timeout-minutes: 60 - runs-on: ubuntu-latest + runs-on: self-hosted steps: - name: Checkout source code diff --git a/.github/workflows/kotlin.yml b/.github/workflows/kotlin.yml index f3066e4c7e..7675549641 100644 --- a/.github/workflows/kotlin.yml +++ b/.github/workflows/kotlin.yml @@ -9,7 +9,7 @@ concurrency: jobs: check-kotlin: timeout-minutes: 60 - runs-on: ubuntu-latest + runs-on: self-hosted env: LDK_NODE_JVM_DIR: bindings/kotlin/ldk-node-jvm diff --git a/.github/workflows/lnd-integration.yml b/.github/workflows/lnd-integration.yml index 6006ecf2ba..4901e40f44 100644 --- a/.github/workflows/lnd-integration.yml +++ b/.github/workflows/lnd-integration.yml @@ -9,7 +9,7 @@ concurrency: jobs: check-lnd: timeout-minutes: 60 - runs-on: ubuntu-latest + runs-on: self-hosted steps: - name: Checkout repository uses: actions/checkout@v6 diff --git a/.github/workflows/postgres-integration.yml b/.github/workflows/postgres-integration.yml index 410136928a..f2540618db 100644 --- a/.github/workflows/postgres-integration.yml +++ b/.github/workflows/postgres-integration.yml @@ -8,7 +8,7 @@ concurrency: jobs: build-and-test: - runs-on: ubuntu-latest + runs-on: self-hosted timeout-minutes: 60 services: diff --git a/.github/workflows/python.yml b/.github/workflows/python.yml index be5bbeb25a..e4a6232c05 100644 --- a/.github/workflows/python.yml +++ b/.github/workflows/python.yml @@ -9,7 +9,7 @@ concurrency: jobs: check-python: timeout-minutes: 60 - runs-on: ubuntu-latest + runs-on: self-hosted env: LDK_NODE_PYTHON_DIR: bindings/python diff --git a/.github/workflows/rust.yml b/.github/workflows/rust.yml index 13959a8e3b..0f4920529f 100644 --- a/.github/workflows/rust.yml +++ b/.github/workflows/rust.yml @@ -12,7 +12,7 @@ jobs: strategy: matrix: platform: [ - ubuntu-latest, + self-hosted, macos-latest, windows-latest, ] @@ -25,7 +25,7 @@ jobs: - toolchain: stable check-fmt: true build-uniffi: true - platform: ubuntu-latest + platform: self-hosted - toolchain: stable platform: macos-latest - toolchain: stable @@ -94,7 +94,7 @@ jobs: linting: name: Linting timeout-minutes: 60 - runs-on: ubuntu-latest + runs-on: self-hosted steps: - name: Checkout source code uses: actions/checkout@v6 @@ -110,7 +110,7 @@ jobs: doc: name: Documentation timeout-minutes: 60 - runs-on: ubuntu-latest + runs-on: self-hosted env: RUSTDOCFLAGS: -Dwarnings steps: diff --git a/.github/workflows/semver.yml b/.github/workflows/semver.yml index 52c505b5b8..159fe4e528 100644 --- a/.github/workflows/semver.yml +++ b/.github/workflows/semver.yml @@ -4,7 +4,7 @@ on: [push, pull_request] jobs: semver-checks: timeout-minutes: 60 - runs-on: ubuntu-latest + runs-on: self-hosted steps: - name: Checkout source code uses: actions/checkout@v6 diff --git a/.github/workflows/vss-integration.yml b/.github/workflows/vss-integration.yml index b77cc31526..3fc25e4d0b 100644 --- a/.github/workflows/vss-integration.yml +++ b/.github/workflows/vss-integration.yml @@ -9,7 +9,7 @@ concurrency: jobs: build-and-test: timeout-minutes: 60 - runs-on: ubuntu-latest + runs-on: self-hosted services: postgres: diff --git a/.github/workflows/vss-no-auth-integration.yml b/.github/workflows/vss-no-auth-integration.yml index 009e80cd45..982ecf1659 100644 --- a/.github/workflows/vss-no-auth-integration.yml +++ b/.github/workflows/vss-no-auth-integration.yml @@ -9,7 +9,7 @@ concurrency: jobs: build-and-test: timeout-minutes: 60 - runs-on: ubuntu-latest + runs-on: self-hosted services: postgres: