Skip to content

[CI] Simplify Jenkins pytest execution#19947

Merged
tqchen merged 3 commits into
apache:mainfrom
tqchen:tvm-simplify-jenkins-pytest-sharding
Jul 5, 2026
Merged

[CI] Simplify Jenkins pytest execution#19947
tqchen merged 3 commits into
apache:mainfrom
tqchen:tvm-simplify-jenkins-pytest-sharding

Conversation

@tqchen

@tqchen tqchen commented Jul 5, 2026

Copy link
Copy Markdown
Member

This PR simplifies Jenkins pytest execution around standard pytest-xdist behavior.

  • Runs each already-filtered CPU/GPU suite once with -n auto; the broad suite keeps load-group scheduling because its order-sensitive cases require it.
  • Removes external sharding, wrapper/profile code, JUnit XML generation and publication, the skipped-test XML consumer, obsolete suite naming, and orphaned helpers.
  • Retains one inert task_clear_pytest.sh entry point only because PR jobs evaluate their Jenkinsfile from the trusted base branch before checking out the PR; it performs no cleanup or reporting and can be removed after this pipeline lands.
  • Corrects stale broad-suite paths and explicit target guards, and migrates a scalar stride test to the current T.handle pointer semantics while preserving its negative lowering check.
  • Prevents nested MetaSchedule/XGBoost unit tests from multiplying CPU fanout without serializing the full suite.
  • Builds only the tvm_runtime target for the secondary GPU configuration and removes its unconsumed gpu2 artifact upload.

The result reduces parallelism to one layer managed by pytest-xdist while preserving GPU filtering and native failure visibility.

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

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.

Code Review

This pull request simplifies the CI pipeline by removing test sharding, the custom run_pytest wrapper, and the skipped tests reporting bot. Instead, it transitions to running tests directly via pytest -n auto using pytest-xdist for parallel execution. To prevent CPU throttling under parallel execution, several meta-schedule tests have been updated to limit thread/core usage. Feedback on the changes suggests making the test target validation in task_python_unittest.sh more robust by checking for general existence (-e) rather than strictly requiring a directory (-d), which would allow individual test files to be specified in the future.

Important

The consumer version of Gemini Code Assist on GitHub is being sunset. Starting June 18, 2026, new organization installations will be blocked, and all code review activity will officially cease on July 17, 2026.
For more details on the timeline and next steps, please review the Help Documentation.

Comment thread tests/scripts/task_python_unittest.sh
@tqchen
tqchen force-pushed the tvm-simplify-jenkins-pytest-sharding branch 3 times, most recently from 4685d69 to 7fc89e7 Compare July 5, 2026 04:18
tqchen added 3 commits July 5, 2026 12:50
Enable standard pytest-xdist automatic parallelism in the canonical launchers while removing external sharding, obsolete wrapper machinery, JUnit reporting, and its XML consumer. Repair broad-suite targets and failure propagation, and bound active nested MetaSchedule test parallelism without blanket serialization.
Build only the tvm_runtime target for the secondary GPU configuration and drop its unused gpu2 artifact upload.
Delete the remaining integration suite-name variables after removing their JUnit wrapper consumer.
@tqchen
tqchen force-pushed the tvm-simplify-jenkins-pytest-sharding branch from 7fc89e7 to d2f51ff Compare July 5, 2026 13:09
@tqchen
tqchen merged commit cfb98e9 into apache:main Jul 5, 2026
13 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants