Add PR comment CI for AMD (MI300) (#48065)
* sync AMD MI300 scheduled caller with Nvidia caller pattern
Add `workflow_dispatch` inputs, `env` block for `prev_workflow_run_id` /
`other_workflow_run_id`, and a `setup` job that uploads these as an
artifact — matching the pattern in `self-scheduled-caller.yml`. Also
pass `commit_sha: \${{ github.sha }}` in every job's `with:` block so
the reusable workflow and `check_new_failures` have the correct SHA.
This allows triggering a run via push with a hardcoded
`prev_workflow_run_id` to verify the `check_new_failures` pipeline.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* [tmp] configure AMD MI300 caller for check_new_failures verification
- trigger on push to pr-ci-amd branch
- set prev_workflow_run_id=31296988966 for bisection comparison
- limit model-ci to models/vit for a quick test run
- point reusable workflows at @pr-ci-amd branch in hf-workflows
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* [tmp] add dummy failing test in ViT to verify AMD check_new_failures
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* [tmp] keep only model-ci job in AMD MI300 caller for verification
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* [tmp] retrigger AMD CI run with 1gpu-only hf-workflows
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* [tmp] use @testing branch of hf-workflows for AMD CI verification
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* [tmp] use hfc-amd-mi300 runner group for verification run
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* Add PR comment CI workflow for AMD (self-comment-ci-amd.yml)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* [tmp] point model-ci at @pr-ci-amd branch of hf-workflows for testing
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* [tmp] add TODO comments on hacks for pipeline verification
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* [tmp] add dummy slow failing test in ViT integration tests for AMD PR comment CI verification
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* [tmp] retrigger CI run
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* [tmp] add debug prints to notification_service.py to diagnose KeyError: 'Models'
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* [tmp] extend debug prints with cwd and full listdir
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* Remove debug prints from notification_service.py
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* Add setup job to upload setup_values artifact in AMD PR CI
Nvidia's daily-ci_reusable.yml always uploads a warnings_in_ci artifact
(via run_extract_warnings) before send_results, ensuring artifacts.length>1
so ydshieh/download-artifact creates named subdirs for test report artifacts.
AMD has no equivalent, so with only 1 test report artifact, files land at
workspace root and notification_service.py can't find them -> KeyError.
Fix: add setup job (mirroring self-scheduled-amd-mi300-caller.yml) that
uploads setup_values artifact, ensuring 2 artifacts exist when slack-report
downloads them.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* trigger CI run
* Update AMD PR CI slack channel to #amd-transformers-pr-ci
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* trigger CI run
* trigger CI run
* trigger CI run
* Add dummy artifact upload as workaround for actions/download-artifact single-artifact issue
When only one artifact exists in a workflow run, actions/download-artifact
(upstream, not our fork) extracts files directly to workspace root instead
of a named subdir (artifacts.length===1 branch). This breaks
notification_service.py's retrieve_available_artifacts() which scans for
*_test_reports directories, causing KeyError: 'Models'.
The Nvidia PR comment CI avoids this because daily-ci_reusable.yml always
runs run_extract_warnings which uploads warnings_in_ci, ensuring 2+ artifacts.
AMD has no equivalent yet, so upload a dummy artifact here as a temporary
workaround until a proper solution is added on the reusable workflow side.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* Move dummy artifact upload just before model-ci with correct if condition
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* Use create_run as dependency for upload_dummy_artifact
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* Remove temporary dummy failing tests from ViT test file
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* Clean up self-scheduled-amd-mi300-caller.yml: align with Nvidia CI caller pattern
- Add workflow_dispatch inputs, env block, and setup job (mirroring self-scheduled-caller.yml)
- Restore torch-pipeline, example-ci, deepspeed-ci jobs with commit_sha
- Fix runner_group hfc-amd-mi300 -> amd-mi300
- Clear hardcoded prev_workflow_run_id
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* Align self-scheduled-amd-mi300-caller.yml with Nvidia CI caller pattern
- Add workflow_dispatch inputs, env block, and setup job (mirroring self-scheduled-caller.yml)
- Restore torch-pipeline, example-ci, deepspeed-ci jobs
- Use correct commit_sha: github.event.workflow_run.head_sha || github.sha (from self-nightly-caller.yml pattern)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
* Clean up self-comment-ci-amd.yml: remove temporary testing hacks
- Remove pull_request: trigger (only needed for testing before merge)
- Restore if: condition on get-pr-number job
- Restore real timestamp security check (replace echo "bonbon")
- Revert PR_COMMENT to github.event.comment.body
- Fix model-ci to use @main instead of @pr-ci-amd
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
---------
Co-authored-by: ydshieh <ydshieh@users.noreply.github.com>