You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Is your feature request related to a problem or challenge?
It would be great to have a local script to run full CI, for all functional and non-functional(e.g. lints) tests, this helps development process for human and AI agents.
./dev/ci.sh # Run full CI locally
Here is a previous work that provides a single script to run some non-functional tests
Create a similar script for all functional tests (rust tests, sqllogictests, extended tests, ...)
(might use xtask instead of scripts, see #23414) ### Tracker for non-functional tests
./dev/rust_lint.sh should fully reproduce non-functional CI locally. ./dev/rust_lint.sh --write --allow-dirty should do best-effort fixing where applicable.
Today the script covers cargo fmt, clippy, Cargo.toml formatting, license headers, typos, markdown prettier, and cargo doc.
Remaining CI checks that could be migrated similarly:
Semver / breaking API detector: .github/workflows/breaking_changes_detector.yml, ci/scripts/changed_crates.sh
Markdown link check: .github/workflows/dev.yml, ci/scripts/markdown_link_check.sh
ASF required status check validation: .github/workflows/dev.yml, ci/scripts/check_asf_yaml_status_checks.py
Is your feature request related to a problem or challenge?
It would be great to have a local script to run full CI, for all functional and non-functional(e.g. lints) tests, this helps development process for human and AI agents.
Here is a previous work that provides a single script to run some non-functional tests
The remaining work is to
(might use xtask instead of scripts, see #23414)
### Tracker for non-functional tests./dev/rust_lint.shshould fully reproduce non-functional CI locally../dev/rust_lint.sh --write --allow-dirtyshould do best-effort fixing where applicable.Today the script covers cargo fmt, clippy, Cargo.toml formatting, license headers, typos, markdown prettier, and cargo doc.
Remaining CI checks that could be migrated similarly:
.github/workflows/breaking_changes_detector.yml,ci/scripts/changed_crates.sh.github/workflows/dev.yml,ci/scripts/markdown_link_check.sh.github/workflows/dev.yml,ci/scripts/check_asf_yaml_status_checks.py.github/workflows/audit.yml, cargo audit.github/workflows/dependencies.yml,dev/depcheck, cargo machete.github/workflows/large_files.yml.github/workflows/codeql.yml.github/workflows/docs_pr.yaml,docs/build.sh.github/workflows/rust.yml,dev/update_config_docs.sh,dev/update_function_docs.sh.github/workflows/rust.yml,ci/scripts/check_examples_docs.shPotential Improvements to
rust_lint.sh