From 4f4bd6f545aae896c84f700cb980fcd9bae60295 Mon Sep 17 00:00:00 2001 From: Gio Lodi Date: Tue, 18 Aug 2026 12:51:39 +1000 Subject: [PATCH] Wait for TestFlight before Claude build analysis MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit `upload-claude-analysis.sh` snapshots the build's job states the moment its `depends_on` groups settle, and a job still running counts as not-failed. The TestFlight uploads take ~15 minutes and were absent from that list, so they were invisible both to the analysis and to the script's decision to run one at all. Trunk's TestFlight uploads had been rejected by App Store Connect since the 27.1 train closed, and the analyser reported it away twice on 2026-08-17. In build #33780 the uploads failed 52s after the check ran, so it saw zero failures and skipped the analysis entirely. In #33786 they failed 4s after the annotation was published, which opens "The build has one real failure: the Unit Tests job." Build #33753 diagnosed the outage correctly on 08-13 only because an upload happened to fail 28s before the check fired. The group is gated on `build.branch == 'trunk'`, so PR builds skip it and the dependency resolves immediately — the same way `prototype_builds_group` already resolves on trunk builds, where it is skipped and the step runs regardless. This closes the instance, not the class: the analysis still asserts a global all-clear over whatever snapshot it is given. --- Generated with the help of Claude Code, https://code.claude.com Co-Authored-By: Claude Code Opus 5 --- .buildkite/pipeline.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.buildkite/pipeline.yml b/.buildkite/pipeline.yml index 54f32d12d527..2fd48904c19e 100644 --- a/.buildkite/pipeline.yml +++ b/.buildkite/pipeline.yml @@ -183,6 +183,9 @@ steps: - linters_group - prototype_builds_group - unit_tests_group + # The TestFlight uploads outlast every other group, so without this the analysis + # runs before they finish and reports a failing build as clean. + - testflight_builds_group allow_dependency_failure: true agents: queue: upload