Skip to content

[CI] Add filter_release_build_yaml to trim build steps by test needs#62292

Draft
andrew-anyscale wants to merge 1 commit intoandrew/revup/master/array-releasefrom
andrew/revup/master/release-build-filter
Draft

[CI] Add filter_release_build_yaml to trim build steps by test needs#62292
andrew-anyscale wants to merge 1 commit intoandrew/revup/master/array-releasefrom
andrew/revup/master/release-build-filter

Conversation

@andrew-anyscale
Copy link
Copy Markdown
Contributor

Add collect_needed_variants() to extract python versions, image types, and CUDA platforms from selected tests. Add filter_release_build_yaml() to rewrite build.rayci.yml in-place, removing steps for unneeded image types and trimming array dimensions (python, platform, cuda) and adjustments to only needed values. Steps left with no viable combinations are removed entirely.

This is the library/logic layer — the init script integration comes in the next commit.

Topic: release-build-filter
Relative: array-release
Labels: draft
Signed-off-by: andrew andrew@anyscale.com

@andrew-anyscale
Copy link
Copy Markdown
Contributor Author

andrew-anyscale commented Apr 1, 2026

Reviews in this chain:
#62201 [CI] Convert _images.rayci.yml from matrix to array syntax
 └#62202 [CI] Convert _wheel-build.rayci.yml from matrix to array syntax
  └#62274 [CI] Rename cuda dimension to platform in anyscale CUDA build steps
   └#62305 [CI] Add build_short_platform_map and array key helpers
    └#62273 [CI] Convert release/build.rayci.yml to array + update get_prerequisite_step
     └#62292 [CI] Add filter_release_build_yaml to trim build steps by test needs
      └#62293 [CI] Wire up build.rayci.yml filtering in release init script

@andrew-anyscale
Copy link
Copy Markdown
Contributor Author

andrew-anyscale commented Apr 1, 2026

# head base diff date summary
0 06274d1e b3d5a182 diff Apr 1 16:22 PM 2 files changed, 467 insertions(+), 1 deletion(-)
1 50071b56 b3d5a182 diff Apr 1 17:18 PM 2 files changed, 202 insertions(+), 9 deletions(-)
2 c6e4a1d8 fea08d8a rebase Apr 2 8:11 AM 0 files changed
3 64db7af9 95a84512 rebase Apr 2 8:18 AM 0 files changed
4 0be97456 4fbf70ff rebase Apr 2 8:23 AM 0 files changed
5 0aab2cda 6a82f611 rebase Apr 2 8:28 AM 0 files changed
6 b2a71bad a1adc68e rebase Apr 2 8:33 AM 0 files changed
7 18fd7b0e a1adc68e diff Apr 2 8:42 AM 1 file changed, 13 insertions(+), 12 deletions(-)
8 230d4549 4e8ebb1a rebase Apr 2 12:52 PM 0 files changed
9 920c5ebf 3bdbf6e5 rebase Apr 2 19:33 PM 0 files changed

Copy link
Copy Markdown
Contributor

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

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

Code Review

This pull request adds functionality to filter build.rayci.yml files, retaining only the Python versions, image types, and CUDA platforms required by selected tests. It introduces several helper functions and comprehensive unit tests. The review feedback suggests optimizing the filtering logic by using the _filter_array_dimension helper and removing a redundant conditional check.

@andrew-anyscale andrew-anyscale force-pushed the andrew/revup/master/release-build-filter branch 2 times, most recently from 50071b5 to a09ab42 Compare April 2, 2026 14:18
@andrew-anyscale andrew-anyscale force-pushed the andrew/revup/master/array-release branch from b3d5a18 to 6786502 Compare April 2, 2026 14:18
@andrew-anyscale andrew-anyscale force-pushed the andrew/revup/master/release-build-filter branch from a09ab42 to c6e4a1d Compare April 2, 2026 15:11
@andrew-anyscale andrew-anyscale force-pushed the andrew/revup/master/array-release branch 2 times, most recently from fea08d8 to 95a8451 Compare April 2, 2026 15:18
@andrew-anyscale andrew-anyscale force-pushed the andrew/revup/master/release-build-filter branch from c6e4a1d to 64db7af Compare April 2, 2026 15:18
@andrew-anyscale andrew-anyscale force-pushed the andrew/revup/master/array-release branch from 95a8451 to 4fbf70f Compare April 2, 2026 15:23
@andrew-anyscale andrew-anyscale force-pushed the andrew/revup/master/release-build-filter branch from 64db7af to 0be9745 Compare April 2, 2026 15:23
@andrew-anyscale andrew-anyscale force-pushed the andrew/revup/master/array-release branch from 4fbf70f to 6a82f61 Compare April 2, 2026 15:28
@andrew-anyscale andrew-anyscale force-pushed the andrew/revup/master/release-build-filter branch 2 times, most recently from 0aab2cd to b2a71ba Compare April 2, 2026 15:33
@andrew-anyscale andrew-anyscale force-pushed the andrew/revup/master/array-release branch from 6a82f61 to a1adc68 Compare April 2, 2026 15:33
@andrew-anyscale andrew-anyscale force-pushed the andrew/revup/master/release-build-filter branch 2 times, most recently from 18fd7b0 to b1d502a Compare April 2, 2026 19:51
@andrew-anyscale andrew-anyscale force-pushed the andrew/revup/master/array-release branch from a1adc68 to 576a6ff Compare April 2, 2026 19:51
@andrew-anyscale andrew-anyscale force-pushed the andrew/revup/master/array-release branch from 576a6ff to 4e8ebb1 Compare April 2, 2026 19:52
@andrew-anyscale andrew-anyscale force-pushed the andrew/revup/master/release-build-filter branch from b1d502a to 230d454 Compare April 2, 2026 19:52
Add collect_needed_variants() to extract python versions, image types, and CUDA platforms from selected tests. Add filter_release_build_yaml() to rewrite build.rayci.yml in-place, removing steps for unneeded image types and trimming array dimensions (python, platform, cuda) and adjustments to only needed values. Steps left with no viable combinations are removed entirely.

This is the library/logic layer — the init script integration comes in the next commit.

Topic: release-build-filter
Relative: array-release
Labels: draft
Signed-off-by: andrew <andrew@anyscale.com>
@andrew-anyscale andrew-anyscale force-pushed the andrew/revup/master/array-release branch from 4e8ebb1 to 3bdbf6e Compare April 3, 2026 02:33
@andrew-anyscale andrew-anyscale force-pushed the andrew/revup/master/release-build-filter branch from 230d454 to 920c5eb Compare April 3, 2026 02:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant