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]

Reply via email to