alamb commented on code in PR #23414: URL: https://github.com/apache/datafusion/pull/23414#discussion_r3560961254
########## .github/workflows/rust.yml: ########## @@ -15,7 +15,91 @@ # specific language governing permissions and limitations # under the License. -# For some actions, we use Runs-On to run them on ASF infrastructure: https://datafusion.apache.org/contributor-guide/#ci-runners +# ------------ +# Quick start +# ------------ +# +# Reproduce this workflow locally: +# cargo xtask ci workflow rust +# +# Run one CI step locally: +# cargo xtask ci step clippy +# +# ------------- +# Architecture +# ------------- +# +# Each atomic CI check lives in an individual `xtask` step. The GitHub workflow Review Comment: I have never heard of xtask -- I am sure it is awesome, but it does now add one more development dependency for developers and makes it that much harder (maybe just a little) to develop in DataFuson. (as now you need to have yet another tool installed) ########## .github/workflows/rust.yml: ########## @@ -15,7 +15,91 @@ # specific language governing permissions and limitations # under the License. -# For some actions, we use Runs-On to run them on ASF infrastructure: https://datafusion.apache.org/contributor-guide/#ci-runners +# ------------ +# Quick start +# ------------ +# +# Reproduce this workflow locally: +# cargo xtask ci workflow rust +# +# Run one CI step locally: +# cargo xtask ci step clippy +# +# ------------- +# Architecture +# ------------- +# +# Each atomic CI check lives in an individual `xtask` step. The GitHub workflow +# is only a thin wrapper that calls a list of `xtask` steps. A `xtask` step looks like: +# +# cargo xtask ci step <step> +# +# `xtask` also provides local orchestration for this `rust.yml` workflow. It similarly +# calls the same list of `xtask` steps. For example the below command is a local +# reproducer for this Github Workflow: +# +# cargo xtask ci workflow rust +# +# Example: +# +# (rust.yml) +# ... +# clippy: +# ... +# steps: +# - name: Run clippy +# run: cargo xtask ci step clippy # <--- Atomic CI check item +# ... +# +# +# ---------------------- +# Adding a new check +# ---------------------- +# +# First wrap the atomic check in an xtask step: +# cargo xtask ci step new-check +# +# Then add that step to the Rust workflow group in `xtask/src/job_groups.rs` so +# local reproduction includes it: +# cargo xtask ci workflow rust # it should include 'new-check' +# +# ---------------------- +# Job dependency graph +# ---------------------- +# +# (@ means no `needs` dependency.) +# +# @ -> linux-build-lib Review Comment: Is the idea that xtask can model this type of dependency tree? -- 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]
