Repository navigation
ci: capture the raw test log on cancellation and bound the test step - #102
Merged
Merged
Conversation
The unit-test job timed out twice on #100 with zero forensics: the raw-log artifact was gated on failure(), which is false when a job is cancelled by its timeout — exactly the case where the partial log matters most. Upload on failure() || cancelled(), and bound the test step at 20 minutes (a healthy run is ~3) so a wedged swift test leaves the job time to publish the artifact instead of eating the 60-minute job timeout. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Signed-off-by: onevcat <onevcat@gmail.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The unit-test job timed out twice on #100 (and once on #101) with zero forensics: the raw-log artifact was gated on
failure(), which is false when a job is cancelled by its timeout — exactly the case where the partial log matters most. This uploads onfailure() || cancelled()and bounds the test step at 20 minutes (a healthy run is ~3), so a wedgedswift testleaves the job time to publish the artifact instead of eating the 60-minute job timeout.Doubles as a diagnostic probe
This branch is
main+ this workflow change only — no product or test code. The #100/#101 hang evidence currently points away from the PR content and at the runner image (green main last ran on image 20260720; every hang is on 20260728; macOS 26.5.2 and Xcode 26.6 17F113 are identical across both):makeSyntheticMP4), two of which predate feat: bracket GIF exports with START/END marker cards #100 and were green on Aug 6.If this run hangs the same way on the current image, the hang is a runner-image regression in the AVFoundation/VideoToolbox path and #100/#101 are exonerated; the artifact this PR adds will name the wedged tests either way. If it stays green, suspicion moves back to the #101 content and we bisect there.
Testing
make testlocally: full suite green (this change touches only the workflow).