Skip to content

Conversation

@mohamedawnallah
Copy link
Contributor

@mohamedawnallah mohamedawnallah commented Jul 14, 2025

Description

Handle ML tests that can't run on self-hosted runners mainly due to Docker-in-Docker environment limitations or other operational constraints by:

  1. Adding require_non_self_hosted pytest marker
  2. Capture tests with marker require_non_self_hosted using nonSelfHostedIntegrationTest gradle task
  3. Append nonSelfHostedIntegrationTest capture task to Postcommit Itests to run
  4. Update the beam_PostCommit_Python and beam_PreCommit_Python_ML to conditionally run test cases that require non-self hosted environment if any on ubuntu-latest GitHub hosted runner

We could follow an incremental approach here for running tests that require non self-hosted environmnet, targeting specific workflows as needed. For example, the current implementation addresses the dependent PR related to Milvus integration, which requires a non-self-hosted environment for ML testing.

Dependency for #35577

Motivation and Context

Follow-up on the discussion here #35216 (comment).


Thank you for your contribution! Follow this checklist to help us incorporate your contribution quickly and easily:

  • Mention the appropriate issue in your description (for example: addresses #123), if applicable. This will automatically add a link to the pull request in the issue. If you would like the issue to automatically close on merging the pull request, comment fixes #<ISSUE NUMBER> instead.
  • Update CHANGES.md with noteworthy changes.
  • If this contribution is large, please file an Apache Individual Contributor License Agreement.

See the Contributor Guide for more tips on how to make review process smoother.

To check the build health, please visit https://github.com/apache/beam/blob/master/.test-infra/BUILD_STATUS.md

GitHub Actions Tests Status (on master branch)

Build python source distribution and wheels
Python tests
Java tests
Go tests

See CI.md for more information about GitHub Actions CI or the workflows README to see a list of phrases to trigger workflows.

@mohamedawnallah mohamedawnallah changed the title workflows+gradle: run ML tests that require non self-hosted environment workflows+gradle: capture and run tests that require non self-hosted environment on ubuntu-latest Jul 14, 2025
@mohamedawnallah mohamedawnallah changed the title workflows+gradle: capture and run tests that require non self-hosted environment on ubuntu-latest workflows+gradle: capture and run ML tests that require non self-hosted environment on ubuntu-latest Jul 14, 2025
@mohamedawnallah
Copy link
Contributor Author

cc @damccorm for thoughts and feedback on this approach 🙏

PS:
beam_PreCommit_Python_Runners CI failure not related to the changes this PR introduce

@github-actions
Copy link
Contributor

Assigning reviewers:

R: @liferoad for label python.
R: @damccorm for label build.

Note: If you would like to opt out of this review, comment assign to next reviewer.

Available commands:

  • stop reviewer notifications - opt out of the automated review tooling
  • remind me after tests pass - tag the comment author after tests pass
  • waiting on author - shift the attention set back to the author (any comment or push by the author will return the attention set to the reviewers)

The PR bot will only process comments in the main thread (not review comments).

Copy link
Contributor

@damccorm damccorm left a comment

Choose a reason for hiding this comment

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

Thanks - the approach looks good, just had some minor doc suggestions

@mohamedawnallah mohamedawnallah requested a review from damccorm July 14, 2025 18:50
Copy link
Contributor

@damccorm damccorm left a comment

Choose a reason for hiding this comment

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

Thanks! I'll merge after checks complete

Copy link
Contributor

@Abacn Abacn left a comment

Choose a reason for hiding this comment

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

Thanks!

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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants