[build-tools] upload maestro screenshots#3872
Conversation
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #3872 +/- ##
==========================================
+ Coverage 58.46% 58.55% +0.09%
==========================================
Files 922 923 +1
Lines 40237 40332 +95
Branches 8475 8490 +15
==========================================
+ Hits 23520 23611 +91
- Misses 16621 16625 +4
Partials 96 96 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
b888f27 to
863bd75
Compare
This stack of pull requests is managed by Graphite. Learn more about stacking. |
|
Subscribed to pull request
Generated by CodeMention |
863bd75 to
5fe7e8d
Compare
| // Scans every debug dir under testsDirectory whose mtime is at/after dirSinceMtimeMs (mtime-based | ||
| // to cover the maestro <2.5.0 bug that splits one invocation across two dirs), then keeps only |
There was a problem hiding this comment.
let's remember to drop any additional complexity as soon as we decide to drop the extra support for <2.5?
or maybe we want to do it already?
There was a problem hiding this comment.
I have a Linear ticket for that.
Around 75% of users are on 2.6+ today. If we drop the old path now, ~25% of users would lose these features immediately.
I was thinking something closer to 90%+ adoption before removing it, but happy to discuss.
5fe7e8d to
4c1cb19
Compare
Signed-off-by: Ash Wu <hsatac@gmail.com>
4c1cb19 to
173cd06
Compare
|
⏩ The changelog entry check has been skipped since the "no changelog" label is present. |

Why
Surface Maestro per-flow failure screenshots in the workflow Maestro test results UI, shown next to the failing test-case row. Part of ENG-19036.
How
metadata(kind,flowName,attemptIndex,capturedAtMs) that the website matches to the corresponding test-case result. Best-effort and verdict-neutral: errors are logged rather than thrown, and uploads are capped at 30 per job.metadatafield through the artifact upload path (uploadArtifact→uploadWorkflowArtifactAsync→createUploadSessionAsync) so it reaches www.Test Plan
Unit tests added/updated (
maestroScreenshots.test.ts,maestroTests.test.ts), all passing in CI — covering filename parsing, the mtime/capturedAtharvest gating, the pure-vs-flaky reduction (final-only for all-failed flows, every attempt for flaky), the 30-upload cap, upload-before-failure-throw, and per-item error swallowing.