fix(workflows): regenerate the results index once per run - #80
Open
spencer-tb wants to merge 5 commits into
Open
fix(workflows): regenerate the results index once per run#80spencer-tb wants to merge 5 commits into
spencer-tb wants to merge 5 commits into
Conversation
spencer-tb
marked this pull request as draft
August 13, 2026 17:55
spencer-tb
marked this pull request as ready for review
August 18, 2026 16:09
barnabasbusa
approved these changes
Aug 19, 2026
qu0b
approved these changes
Aug 19, 2026
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.
Summary
Test runs no longer randomly disappear. The results index is rebuilt once per workflow run instead of by ~21 racing matrix jobs, so a finished run can't be overwritten out of the listing.
Description
Every matrix job currently regenerates
listing.jsonlat job end (fetch all suite JSONs from S3 →hiveview --listing→ upload). With ~21 jobs per run the uploads race: last writer wins, and if its S3 snapshot predates another job's upload, that run disappears from the UI until the next regeneration.This disables index generation on the matrix jobs and adds a single
needs: test, if: always()index job per workflow, sharing a concurrency group with agenerate-indexdispatch for the same S3 path. Applied to the glamsterdam-devnet-8 and frames-devnet-0 workflows (same bug), and togeneric.yaml— which never had the race (index generation is disabled there) but only got reindexed by the 3-hourly cron, so daily runs took up to 3h to appear.Since the per-run index job only fires after the slowest matrix job (besu runs 20–31h), the
generate-indexcron now matrixes over all five results paths instead of justgeneric, capping index staleness at 3h for fast clients' uploads. The listing limit is raised to 5000 everywhere while at it —genericsits at ~2500 entries and would soon start silently dropping the oldest runs at the current 3000 cap.