Skip to content

[CI] Parity auto-trigger: collect scheduled architectures including Preview - #3555

Open
ethanwee1 wants to merge 2 commits into
ethanwee/parity-preview-replacementfrom
ethanwee/parity-auto-preview-develop
Open

[CI] Parity auto-trigger: collect scheduled architectures including Preview#3555
ethanwee1 wants to merge 2 commits into
ethanwee/parity-preview-replacementfrom
ethanwee/parity-auto-preview-develop

Conversation

@ethanwee1

@ethanwee1 ethanwee1 commented Aug 11, 2026

Copy link
Copy Markdown

Summary

  • discover candidate SHAs from trunk and scheduled MI300/MI200/Navi31/Preview workflows
  • wait for scheduled architectures before emitting one combined report per SHA
  • exclude configs without a CUDA baseline

Clean replacement for #3397 on the current develop history. This PR is stacked on #3554; retarget it to develop after #3554 lands.

Test plan

Dependencies

Made with Cursor

Alignment landing order

Automation lands last, after #3554, #3535, #3536, and the operational resilience PRs. Its PR dry-run 31506030239 loaded preview, discovered rocm-preview, and produced the correct workflow/job regex maps. End-to-end combined validation: 31507307756.

Auto-parity was trunk-scoped (mi350 only). mi300/mi200/navi31 run in their
own scheduled upstream workflows on their own SHAs at a different cadence,
so the trunk-push scan never reached them.

- Discover candidate SHAs from both trunk.yml pushes and the scheduled
  per-arch workflows (fetch_scheduled_commits / fetch_candidate_commits),
  deduped newest-first; a 40-hex guard drops stray non-row output.
- Hold back SHAs newer than the newest scheduled run so a lagging
  mi300/mi200/navi batch can still join that SHA's report, yielding ONE
  combined parity report per SHA (parity.yml's matrix already emits a
  per-arch artifact plus a merged summary) once every arch that ran has
  finished. When no scheduled runs exist, nothing is held (mi350/trunk
  behaves exactly as before).
- Expand ARCHS_IN to mi350 mi300 mi200 navi31.
- Per-config CUDA-baseline gating: a SHA whose CUDA jobs for a test config
  did not run (e.g. a failed trunk run that never launched CUDA default)
  has no baseline for that config, so exclude just that config from the
  dispatch (via parity.yml's exclude_* inputs) instead of emitting a bogus
  all-MISSED column, and drop its ROCm shards from the completion gate.

No parity_job_config.json change: mi300 has no fallback; its default/
distributed/inductor come from rocm-mi300 / periodic-rocm-mi300 /
inductor-rocm-mi300, which run together on one scheduled SHA.
Treat the daily rocm-preview lane as a scheduled architecture source and remove the retired nightly exclusion.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant