Skip to content

Add extended test support to multi-arch CI workflows#4649

Open
lajagapp wants to merge 7 commits into
mainfrom
users/lajagapp/extended-test-multi-arch
Open

Add extended test support to multi-arch CI workflows#4649
lajagapp wants to merge 7 commits into
mainfrom
users/lajagapp/extended-test-multi-arch

Conversation

@lajagapp
Copy link
Copy Markdown
Contributor

@lajagapp lajagapp commented Apr 17, 2026

Summary

  • Port run_extended_tests support from the non-multi-arch CI pipeline (configure_ci.py, setup.yml) into the multi-arch equivalents (configure_multi_arch_ci.py, setup_multi_arch.yml), as discussed in Consolidate extended test flags into a single run_extended_tests boolean #3986 (comment).
  • Extended tests (functional + benchmarks) are enabled for scheduletriggers and workflow_dispatch with test labels; disabled for PRs and push events.
  • benchmark-runs-on runner labels are included in per-family build config and passed through to test_artifacts.yml.
  • Step summary now shows extended test enablement status.
  • 10 new unit tests covering determination logic, build config structure, output emission, and end-to-end pipeline behavior.

Dependency

The downstream consumers (test_artifacts.yml and fetch_test_configurations.py) that act on run_extended_tests and benchmark_runs_on inputs will be available once #3986 is merged. Until then, the values are passed but not yet consumed by test_artifacts.yml.

Test plan

Port run_extended_tests from the non-multi-arch pipeline into the
multi-arch CI scripts and workflows. Extended tests (functional +
benchmarks) are enabled for schedule triggers and workflow_dispatch
with test labels.

Signed-off-by: Lenine Ajagappane <Lenine.Ajagappane@amd.com>
lajagapp and others added 4 commits April 17, 2026 17:21
benchmark_runs_on and run_extended_tests are not declared in
test_artifacts.yml until #3986 merges. Passing undefined inputs
causes workflow validation failure. Comment them out with
TODO(#3986) markers to uncomment once the inputs are available.

Signed-off-by: Lenine Ajagappane <Lenine.Ajagappane@amd.com>
benchmark_runs_on and run_extended_tests. Uncomment the
inputs that were disabled in 293abdf.

Signed-off-by: Lenine Ajagappane <Lenine.Ajagappane@amd.com>
@lajagapp lajagapp marked this pull request as ready for review April 25, 2026 04:59
@lajagapp
Copy link
Copy Markdown
Contributor Author

lajagapp commented Apr 25, 2026

Sample run with extended_test label included -- https://github.com/ROCm/TheRock/actions/runs/24903491216/job/72955238298

lajagapp and others added 2 commits April 25, 2026 11:01
- Merge benchmark-runs-on presence and type checks into a single test
  with accurate docstring (gfx94x has the key, gfx110x does not).
- Remove duplicate test_default_extended_tests_is_false (identical to
  test_pr_disables_extended_tests).
- Collapse write_outputs enabled/disabled tests into one serialisation
  check; keep skipped-CI edge case separate.

Signed-off-by: Lenine Ajagappane <Lenine.Ajagappane@amd.com>
@lajagapp
Copy link
Copy Markdown
Contributor Author

Sample run with extended_test label included -- https://github.com/ROCm/TheRock/actions/runs/24903491216/job/72955238298

Scheduled run with all extended_tests labels included (functional + benchmarks) -- https://github.com/ROCm/TheRock/actions/runs/24929653222/job/73019262986

@geomin12 geomin12 removed the request for review from ScottTodd April 29, 2026 20:41
Copy link
Copy Markdown
Contributor

@geomin12 geomin12 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

overall looks good, few comments! merge conflict too

Comment on lines -371 to -373
# TODO: Consolidate test_type, test labels, and run_functional_tests
# (from the single-arch pipeline) into a per-platform test config object
# (e.g. linux_test_config JSON) instead of separate top-level outputs.
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

add back comment, this work does not finish this

matrix:
family_info: ${{ fromJSON(inputs.build_config).per_family_info }}
uses: ./.github/workflows/test_artifacts.yml
secrets: inherit
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

let's remove this

matrix:
family_info: ${{ fromJSON(inputs.build_config).per_family_info }}
uses: ./.github/workflows/test_artifacts.yml
secrets: inherit
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

let's remove this, last i remember, the API no longer worsk

@geomin12
Copy link
Copy Markdown
Contributor

Sample run with extended_test label included -- https://github.com/ROCm/TheRock/actions/runs/24903491216/job/72955238298

Scheduled run with all extended_tests labels included (functional + benchmarks) -- https://github.com/ROCm/TheRock/actions/runs/24929653222/job/73019262986

FYI this is a workflow dispatch, scheduled run will work with #4384

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: TODO

Development

Successfully merging this pull request may close these issues.

2 participants