kumarUjjawal opened a new pull request, #25256: URL: https://github.com/apache/datafusion/pull/25256
## Which issue does this PR close? - Part of #21048 and #24487. Both issues stay open. ## Rationale for this change The three extended test suites run only in the merge queue, on release branches, and by manual dispatch. Their `cargo test` commands and environment variables exist only inside `extended.yml`. A developer who wants to reproduce a merge-queue failure must copy them by hand. This PR defines each command once in `xtask`, so local runs and GitHub Actions use the same definition. ## What changes are included in this PR? - `cargo xtask ci step test` gets three variants: `extended`, `hash-collisions`, and `sqlite`. Each variant reproduces the current CI invocation and sets only the environment that its suite needs. The `sqlite` variant sets no `RUST_BACKTRACE`, because its CI job skips the builder setup on purpose. - `extended.yml` calls the three commands. Triggers, job IDs, job names, runners, containers, the clean working tree check, and `cargo clean` do not change. - `xtask/README.md` documents the commands, their environment, prerequisites, and the parts of a CI job that a command does not reproduce. `--explain` prints the underlying command without running the suite: ```sh cargo xtask ci step test extended --explain ``` ## What is the testing strategy for this PR? - Snapshot tests in `xtask/src/ci_steps.rs` cover the exact command, working directory, and environment of each variant, plus rejection of an unknown variant. - `check_asf_yaml_status_checks.py` passes. All required check names are unchanged. - Each new command ran the real suite locally through `xtask` on macOS. The `extended`, `hash-collisions`, and `sqlite` suites all passed with a clean working tree. The extended jobs skip ordinary pull request updates, so green PR checks do not exercise these commands. The merge queue does. ## Are there any user-facing changes? No. The GitHub CI behavior is the same. Developers get three new local commands. 🤖 Generated with [Claude Code](https://claude.com/claude-code) -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
