sunchao commented on code in PR #5841:
URL: https://github.com/apache/datafusion-comet/pull/5841#discussion_r4178648990
##########
.github/workflows/spark_sql_test_reusable.yml:
##########
@@ -91,55 +87,17 @@ jobs:
id: modules
run: python3 dev/ci/spark-sql-modules.py --modules "${{ inputs.modules
}}" --github-output "$GITHUB_OUTPUT"
- - name: Setup Rust & Java toolchain
- uses: ./.github/actions/setup-builder
- with:
- rust-version: ${{ env.RUST_VERSION }}
- jdk-version: ${{ inputs.java }}
-
- - name: Restore Cargo cache
- uses: actions/cache/restore@v6
+ - name: Setup Java toolchain
+ uses: actions/setup-java@v4
Review Comment:
Addressed in eae558b after rebasing on 98662215d. The Java-only Spark build
now calls maven-bootstrap immediately after setup-java. Moved Linux jobs retain
main’s setup-builder bootstrap, and the guard recognizes that composite rather
than requiring redundant explicit steps. The mutation test now covers loss,
lateness, conditional execution and swallowed failures for both bootstrap
forms, including the Spark build. All 42 configuration tests, 24 selection
tests and actionlint pass. Fresh hosted CI is pending.
##########
dev/ci/compute-changes.py:
##########
@@ -546,11 +577,26 @@ def event_allows(job, event):
def compute(files, event):
- """Return {job: bool}, folding the path filter and the event policy."""
- return {
- name: event_allows(name, event) and matches(patterns, files)
+ """Return a new {output: bool} mapping for consumers and their native
build.
+
+ `files` is a reusable sequence of repository-relative changed paths;
+ `event` has the fields described by event_allows(). Neither input is
+ mutated. Manual dispatch selects every route even with no changed files;
+ other events require both path and event matches. The shared native build
+ is selected only after those decisions, taking the union of every caller's
+ routes, so Hive alone can start its producer and a denied opt-in route
+ cannot start an unused producer. Unknown events select nothing.
Configuration
+ lookup failures propagate as KeyError rather than returning partial output.
+ """
+ manual = event.get("name") == "workflow_dispatch"
+ outputs = {
+ name: event_allows(name, event) and (manual or matches(patterns,
files))
for name, patterns in FILTERS.items()
}
+ outputs["build_linux_native"] = any(
Review Comment:
Added coverage in eae558b for native
source/manifest/lockfile/protobuf/config inputs on push through the real
selector and CLI. A separate mutation regression adds each contrib manifest to
build_linux’s filter and verifies the producer union follows it. Updated #5976
now uses the shared-filter extension and no post-compute override, so its
routing decision precedes this union. This branch is rebased on current main;
#5976 remains unmerged. The description explicitly preserves the dependency and
calls out moving the shared producer to build-native-ci when rebasing onto that
dependency before merge.
--
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]