[CI] Emit FrameworkWeb ingest JSON from parity workflow#3259
Draft
albmalamd wants to merge 1 commit into
Draft
Conversation
Add `.automation_scripts/pytorch-unit-test-scripts/summary.py`, a port of
the FrameworkWeb `summary.py` that converts a directory of JUnit XML
reports into the JSON schema accepted by the FrameworkWeb ingest
endpoint:
{ build: {url, branch, commit, gfxArch, repoOwner, rocmVersion,
pytorchVersion, testConfig, buildTimestamp},
results: [{file, classname, name, time, status}, ...] }
The local copy accepts repeated `--input-dir` and a named `--output-json`
so the workflow can group per-shard subdirectories (`test-default-i-N`,
`test-distributed-i-N`, `test-inductor-i-N`) by test config and emit one
JSON per (arch, config) pair.
Update `parity.yml`:
* Add optional `rocm_version` / `pytorch_version` workflow_dispatch
inputs (recorded in the JSON; default "").
* After the existing log-failure detection step, group shard dirs under
`rocm_xml/` by config and invoke `summary.py` per config. Output is
named `${DATE}_${ARCH}_${CFG}_ingest.json` in the per-arch result
folder.
* Include `*.json` in the per-arch artifact upload paths.
Closes ROCm/frameworks-internal#16703
|
Jenkins build for 406ab6f48cb0d6196ee827dd0c9b9a6f9b3489de commit finished as FAILURE |
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
.automation_scripts/pytorch-unit-test-scripts/summary.py, a hardened port of FrameworkWeb'ssummary.pythat converts a directory of JUnit XML reports into the JSON schema accepted by FrameworkWeb's/utt/ingestendpoint. Accepts repeated--input-dirso callers can fan in multiple shard directories.parity.yml:rocm_version/pytorch_versionworkflow_dispatch inputs (recorded in the JSON'sbuildblock).Generate FrameworkWeb ingest JSONstep ingenerate-parity: groups per-shard subdirs underrocm_xml/(test-default-i-N,test-distributed-i-N,test-inductor-i-N) by test config and emits one JSON per(arch, config)named${DATE}_${ARCH}_${CFG}_ingest.json.*.jsonin the per-arch artifact upload paths.The arch label is mapped to a
gfxArchvalue (mi300→gfx942, mi355→gfx950, mi200→gfx90a, navi31→gfx1100, nightly→gfx942); other inputs (branch,commit,url,repoOwner) come from the workflow context.Closes ROCm/frameworks-internal#16703
Test plan
python3 summary.py --input-dir <synthetic xml dir> --output-json out.json …produces a JSON whose shape matchessamples/sample.json(all five statuses —passed,failed,skipped,xfailed,error— round-trip correctly).rocm_xml/tree containingtest-default-{1,2}-2/,test-distributed-1-1/,test-inductor-1-1/and confirmed the loop emits one JSON per config with the correct results aggregated.parity.ymlviaworkflow_dispatchagainst a small arch (e.g.mi300) on this branch and inspect the artifact for*_ingest.jsonfiles.🤖 Generated with Claude Code