From f67633bf9bf12e4656e745b0c83fba3b12104771 Mon Sep 17 00:00:00 2001 From: raster Date: Thu, 21 May 2026 16:21:12 +0530 Subject: [PATCH] ci: raise test-step / job timeouts for the full debug test suite MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Once CompressionFamily resolved (v10.9.3 always-URL dep + the published public repo), CI got past dependency resolution and reached the test step for the first time — where ci.yml's `Run tests` hit its 20-minute step cap mid-suite. The full ~6000-test debug `swift test --parallel` on a GitHub macOS runner exceeds 20 min (the local *release*-mode full run is ~13 min on a warm M2; CI runs debug on a slower runner). The earlier fast CompressionFamily-resolution failure had masked this. - `swift test` steps: 20 → 60 min (ci, code-quality, swift-build-test; dicomkit's downstream test step too). - Jobs that build + test: → 75 min, to cover a cold debug build + tests + release build (ci build-macos, code-coverage, all conformance jobs, swift-build-test, jp3d, interactive-testing, performance, dicomkit-build). - Lint-only and `swift package resolve/describe`-only jobs unchanged. Co-Authored-By: Claude Opus 4.7 --- .github/workflows/ci.yml | 4 ++-- .github/workflows/code-quality.yml | 4 ++-- .github/workflows/conformance.yml | 12 ++++++------ .github/workflows/dicomkit-downstream.yml | 6 +++--- .github/workflows/interactive-testing.yml | 2 +- .github/workflows/jp3d-compliance.yml | 2 +- .github/workflows/performance.yml | 4 ++-- .github/workflows/swift-build-test.yml | 4 ++-- 8 files changed, 19 insertions(+), 19 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 7ec564b4..1df3d9d8 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -22,7 +22,7 @@ jobs: build-macos: name: Build and Test (macOS) runs-on: macos-15 - timeout-minutes: 30 + timeout-minutes: 75 steps: - name: Checkout code @@ -59,7 +59,7 @@ jobs: --skip LargeBlock \ --skip EndToEnd \ --skip ClientServer - timeout-minutes: 20 + timeout-minutes: 60 - name: Build (release) run: swift build -c release diff --git a/.github/workflows/code-quality.yml b/.github/workflows/code-quality.yml index f4b72b27..56178c12 100644 --- a/.github/workflows/code-quality.yml +++ b/.github/workflows/code-quality.yml @@ -80,7 +80,7 @@ jobs: code-coverage: name: Code Coverage runs-on: macos-15 - timeout-minutes: 30 + timeout-minutes: 75 steps: - name: Checkout code @@ -103,7 +103,7 @@ jobs: --skip LargeBlock \ --skip EndToEnd \ --skip ClientServer - timeout-minutes: 20 + timeout-minutes: 60 - name: Generate coverage report run: | diff --git a/.github/workflows/conformance.yml b/.github/workflows/conformance.yml index 0653a118..731c0ce0 100644 --- a/.github/workflows/conformance.yml +++ b/.github/workflows/conformance.yml @@ -22,7 +22,7 @@ jobs: part1-conformance: name: Part 1 (Core) Conformance runs-on: macos-15 - timeout-minutes: 30 + timeout-minutes: 75 steps: - name: Checkout code @@ -61,7 +61,7 @@ jobs: part2-conformance: name: Part 2 (Extensions) Conformance runs-on: macos-15 - timeout-minutes: 30 + timeout-minutes: 75 steps: - name: Checkout code @@ -99,7 +99,7 @@ jobs: part3-part10-conformance: name: Part 3 (MJ2) and Part 10 (JP3D) Conformance runs-on: macos-15 - timeout-minutes: 30 + timeout-minutes: 75 steps: - name: Checkout code @@ -137,7 +137,7 @@ jobs: part15-conformance: name: Part 15 (HTJ2K) Conformance runs-on: macos-15 - timeout-minutes: 30 + timeout-minutes: 75 steps: - name: Checkout code @@ -175,7 +175,7 @@ jobs: part4-conformance: name: Part 4 (Conformance Final) Validation runs-on: macos-15 - timeout-minutes: 30 + timeout-minutes: 75 steps: - name: Checkout code @@ -213,7 +213,7 @@ jobs: jp3d-conformance: name: Part 10 (JP3D) Conformance runs-on: macos-15 - timeout-minutes: 20 + timeout-minutes: 75 steps: - name: Checkout code diff --git a/.github/workflows/dicomkit-downstream.yml b/.github/workflows/dicomkit-downstream.yml index 48e81188..383cb122 100644 --- a/.github/workflows/dicomkit-downstream.yml +++ b/.github/workflows/dicomkit-downstream.yml @@ -31,7 +31,7 @@ jobs: dicomkit-build: name: DICOMKit builds against J2KSwift HEAD runs-on: macos-15 - timeout-minutes: 25 + timeout-minutes: 75 steps: - name: Checkout J2KSwift (this PR / commit) @@ -100,7 +100,7 @@ jobs: run: | cd DICOMKit swift build - timeout-minutes: 15 + timeout-minutes: 30 - name: Run DICOMKit curated test set # Excludes 9 pre-existing unrelated failures (see CROSS_CODEC_DICOM_REPORT.md): @@ -119,5 +119,5 @@ jobs: --skip "DICOMXML" \ --skip "test_allocateBlock_allocatesFirstBlock" \ --skip "WorkitemBuilder/testRoundTripWithSequences" - timeout-minutes: 20 + timeout-minutes: 60 continue-on-error: true diff --git a/.github/workflows/interactive-testing.yml b/.github/workflows/interactive-testing.yml index 6f8c2e8d..5cf2add7 100644 --- a/.github/workflows/interactive-testing.yml +++ b/.github/workflows/interactive-testing.yml @@ -40,7 +40,7 @@ jobs: headless-tests: name: Headless Test Run (${{ github.event.inputs.playlist || 'Quick Smoke Test' }}) runs-on: macos-15 - timeout-minutes: 30 + timeout-minutes: 75 steps: - name: Checkout code diff --git a/.github/workflows/jp3d-compliance.yml b/.github/workflows/jp3d-compliance.yml index 2ce33fb3..a47a244d 100644 --- a/.github/workflows/jp3d-compliance.yml +++ b/.github/workflows/jp3d-compliance.yml @@ -30,7 +30,7 @@ jobs: jp3d-compliance: name: JP3D Part 4 Compliance Tests runs-on: macos-15 - timeout-minutes: 20 + timeout-minutes: 75 steps: - name: Checkout code diff --git a/.github/workflows/performance.yml b/.github/workflows/performance.yml index f15aacf2..3b67df0e 100644 --- a/.github/workflows/performance.yml +++ b/.github/workflows/performance.yml @@ -22,7 +22,7 @@ jobs: benchmark-macos: name: Performance Benchmarks (macOS - Apple Silicon) runs-on: macos-15 - timeout-minutes: 45 + timeout-minutes: 75 steps: - name: Checkout code @@ -102,7 +102,7 @@ jobs: regression-detection: name: Performance Regression Detection runs-on: macos-15 - timeout-minutes: 30 + timeout-minutes: 75 needs: [ benchmark-macos ] if: github.event_name == 'pull_request' diff --git a/.github/workflows/swift-build-test.yml b/.github/workflows/swift-build-test.yml index 1c2dee0b..83021f0f 100644 --- a/.github/workflows/swift-build-test.yml +++ b/.github/workflows/swift-build-test.yml @@ -19,7 +19,7 @@ jobs: test-macos: name: Test on macOS runs-on: macos-15 - timeout-minutes: 30 + timeout-minutes: 75 steps: - name: Checkout code @@ -48,7 +48,7 @@ jobs: --skip LargeBlock \ --skip EndToEnd \ --skip ClientServer - timeout-minutes: 20 + timeout-minutes: 60 - name: Build release run: swift build -c release -v