Skip to content

[ci] Expanding test filter options via PR label selection#3917

Open
geomin12 wants to merge 8 commits intomainfrom
users/geomin12/extended-label
Open

[ci] Expanding test filter options via PR label selection#3917
geomin12 wants to merge 8 commits intomainfrom
users/geomin12/extended-label

Conversation

@geomin12
Copy link
Contributor

@geomin12 geomin12 commented Mar 11, 2026

In order to work with test standardization, we are expanding test filters.

Changes:

  • PR labels for additional tests can be added (i.e. test_filter:nightly)
  • is_schedule now runs nightly tests

Currently, each component has different filters, so this is a CI update only, and we will update component shards / test filters accordingly once filters are ready per component

Working as test_filter:nightly is properly displayed https://github.com/ROCm/TheRock/actions/runs/22973838135?pr=3917

@geomin12 geomin12 added test:hipblaslt For pull requests, runs full tests for only hipblaslt and other labeled projects. test_filter:comprehensive If enabled, the PR will run comprehensive tests labels Mar 11, 2026
Copy link
Contributor

@dileepr1 dileepr1 left a comment

Choose a reason for hiding this comment

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

Looks good!

if "test_filter:" in label:
_, filter_type = label.split(":")
# If the filter type is not recognized, we ignore the label and keep the default test type
if filter_type not in ["smoke", "standard", "nightly", "full"]:
Copy link
Contributor Author

Choose a reason for hiding this comment

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

update labels for correct filtering! from test_filtering.md

- `gfx...`: A build and test (if a test machine is available) is added to the CI matrix for the specified gfx family. (ex: `gfx120X`, `gfx950`)
- `test:...`: The full test will run only for the specified label and other labeled projects (ex: `test:rocthrust`, `test:hipblaslt`)
- `test_runner:...`: The CI will run tests on only custom test machines (ex: `test_runner:oem`)
- `test_filter:...`: The CI will run tests based on the specified filter (ex: `test_filter:nightly`). [test_filtering.md](./test_filtering.md) has additional information on allowed test filters.
Copy link
Contributor Author

Choose a reason for hiding this comment

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

update proper naming

Copy link
Contributor

@dileepr1 dileepr1 left a comment

Choose a reason for hiding this comment

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

Added suggestions as per the new labels in test_filtering.md

for matrix_row in linux_variants_output + windows_variants_output:
# If the "run-full-tests-only" flag is set for this family, we do not run tests if it is a smoke test type
if matrix_row.get("run-full-tests-only", False) and test_type == "smoke":
matrix_row["test-runs-on"] = ""
Copy link
Contributor

Choose a reason for hiding this comment

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

The clearing of this value should not occur when filter labels are set, so I think there is an issue with the sequencing between this for loop and the label logic.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

it does not! this is only relevant to gfx1151 windows machines for smoke tests (to limit capacity) and this is set in amdgpu_family_matrix.py

Copy link
Contributor

@jayhawk-commits jayhawk-commits Mar 12, 2026

Choose a reason for hiding this comment

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

Do you have a run where this was verified with a test case on gfx1151 windows and a label? The developer would want to run the specific label on the gfx1151 Windows runner for this example, or are we preventing this option?

Copy link
Contributor

@jayhawk-commits jayhawk-commits left a comment

Choose a reason for hiding this comment

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

Left some feedback. One additional observation is that the nightly_check_only_for_family GPU families might interfere with the label logic.

@geomin12
Copy link
Contributor Author

Left some feedback. One additional observation is that the nightly_check_only_for_family GPU families might interfere with the label logic.

as of now, we actually don't have any nightly_check_only_for_family families enabled. based on the logic though, it seems okay!

@geomin12 geomin12 removed test:hipblaslt For pull requests, runs full tests for only hipblaslt and other labeled projects. test_filter:comprehensive If enabled, the PR will run comprehensive tests labels Mar 12, 2026
@geomin12 geomin12 added test:hipblaslt For pull requests, runs full tests for only hipblaslt and other labeled projects. test_filter:quick If enabled, the PR will run quick tests test_filter:comprehensive If enabled, the PR will run comprehensive tests and removed test:hipblaslt For pull requests, runs full tests for only hipblaslt and other labeled projects. test_filter:comprehensive If enabled, the PR will run comprehensive tests labels Mar 12, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

test_filter:quick If enabled, the PR will run quick tests

Projects

Status: TODO

Development

Successfully merging this pull request may close these issues.

3 participants