This is an automated email from the ASF dual-hosted git repository.
github-actions[bot] pushed a commit to branch asf-site
in repository https://gitbox.apache.org/repos/asf/datafusion-comet.git
The following commit(s) were added to refs/heads/asf-site by this push:
new 5c37379a04 Publish built docs triggered by
9b608cc50922bfeac83dde2199847d1c509967cb
5c37379a04 is described below
commit 5c37379a0482b476de892e4a4babcd7480ba1730
Author: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
AuthorDate: Thu Sep 10 00:40:51 2026 +0000
Publish built docs triggered by 9b608cc50922bfeac83dde2199847d1c509967cb
---
.../contributor-guide/iceberg-spark-tests.md.txt | 22 ++++++++++++++++++++++
contributor-guide/iceberg-spark-tests.html | 19 +++++++++++++++++++
searchindex.js | 2 +-
3 files changed, 42 insertions(+), 1 deletion(-)
diff --git a/_sources/contributor-guide/iceberg-spark-tests.md.txt
b/_sources/contributor-guide/iceberg-spark-tests.md.txt
index df6c168af6..4b0e827333 100644
--- a/_sources/contributor-guide/iceberg-spark-tests.md.txt
+++ b/_sources/contributor-guide/iceberg-spark-tests.md.txt
@@ -105,6 +105,28 @@ run against Spark 3.5.9 with Java 17; Iceberg 1.11.0 runs
against Spark 4.1.3 wi
(1.8, 1.9, 1.10) run only on pushes to main, or on a pull request labeled
`run-iceberg-tests`. All caller
workflows delegate to `iceberg_spark_test_reusable.yml`, which holds the build
and test job logic.
+The core Spark test target runs in four independent workers. The workflow
passes
+`dev/ci/iceberg-test-shards.gradle` as a Gradle init script: one worker runs
the long
+`TestStructuredStreamingRead` family, and the others hash the remaining class
names into three
+buckets. New tests are assigned automatically. Nested classes and all
parameterized cases stay
+with their enclosing class; Gradle's existing includes, exclusions, and JUnit
configuration are
+unchanged. The extensions and shaded-runtime targets remain unsharded.
+
+The matrix and partition count come from the same definition in
`dev/ci/check-iceberg-shards.py`;
+adding another matrix dimension does not change the partition count. Each
worker records its
+unsharded candidate set with only the Comet shard predicate disabled, then
restores the predicate
+before recording its selected set and executing tests. Both inventories and
the JUnit XML reports
+are uploaded. A dependent coverage job requires all shard indices, matching
unsharded inventories,
+and selected sets whose disjoint union equals that inventory. It downloads
only artifacts for the
+same Iceberg/Spark/Scala/JDK configuration in the current workflow run and
uses the latest available
+attempt per shard, so rerunning only failed jobs can reuse earlier successful
shards' inventories.
+
+These candidate inventories include classes that JUnit may not execute, so the
runtime job also
+runs `dev/ci/check-iceberg-shards.py`, a small Gradle/JUnit fixture that
checks the four shards'
+combined candidate classes and executed test cases equal an unsharded run
exactly once. It also
+checks nested, parameterized, inherited, and dynamically generated tests,
existing exclusions,
+and failure propagation. The fixture does not compile Spark or Iceberg.
+
Apply the `run-iceberg-tests` label to a pull request whenever it touches
reflection code
(`org.apache.comet.iceberg.IcebergReflection`) or other logic whose behavior
can differ across Iceberg
versions, since Iceberg 1.11 alone will not catch a regression that only
affects 1.8, 1.9, or 1.10.
diff --git a/contributor-guide/iceberg-spark-tests.html
b/contributor-guide/iceberg-spark-tests.html
index caa16d9242..5f27555609 100644
--- a/contributor-guide/iceberg-spark-tests.html
+++ b/contributor-guide/iceberg-spark-tests.html
@@ -634,6 +634,25 @@ run against Spark 3.5.9 with Java 17; Iceberg 1.11.0 runs
against Spark 4.1.3 wi
(the only version testing Spark 4.1) runs on every pull request and on pushes
to main; the older versions
(1.8, 1.9, 1.10) run only on pushes to main, or on a pull request labeled
<code class="docutils literal notranslate"><span
class="pre">run-iceberg-tests</span></code>. All caller
workflows delegate to <code class="docutils literal notranslate"><span
class="pre">iceberg_spark_test_reusable.yml</span></code>, which holds the
build and test job logic.</p>
+<p>The core Spark test target runs in four independent workers. The workflow
passes
+<code class="docutils literal notranslate"><span
class="pre">dev/ci/iceberg-test-shards.gradle</span></code> as a Gradle init
script: one worker runs the long
+<code class="docutils literal notranslate"><span
class="pre">TestStructuredStreamingRead</span></code> family, and the others
hash the remaining class names into three
+buckets. New tests are assigned automatically. Nested classes and all
parameterized cases stay
+with their enclosing class; Gradle’s existing includes, exclusions, and JUnit
configuration are
+unchanged. The extensions and shaded-runtime targets remain unsharded.</p>
+<p>The matrix and partition count come from the same definition in <code
class="docutils literal notranslate"><span
class="pre">dev/ci/check-iceberg-shards.py</span></code>;
+adding another matrix dimension does not change the partition count. Each
worker records its
+unsharded candidate set with only the Comet shard predicate disabled, then
restores the predicate
+before recording its selected set and executing tests. Both inventories and
the JUnit XML reports
+are uploaded. A dependent coverage job requires all shard indices, matching
unsharded inventories,
+and selected sets whose disjoint union equals that inventory. It downloads
only artifacts for the
+same Iceberg/Spark/Scala/JDK configuration in the current workflow run and
uses the latest available
+attempt per shard, so rerunning only failed jobs can reuse earlier successful
shards’ inventories.</p>
+<p>These candidate inventories include classes that JUnit may not execute, so
the runtime job also
+runs <code class="docutils literal notranslate"><span
class="pre">dev/ci/check-iceberg-shards.py</span></code>, a small Gradle/JUnit
fixture that checks the four shards’
+combined candidate classes and executed test cases equal an unsharded run
exactly once. It also
+checks nested, parameterized, inherited, and dynamically generated tests,
existing exclusions,
+and failure propagation. The fixture does not compile Spark or Iceberg.</p>
<p>Apply the <code class="docutils literal notranslate"><span
class="pre">run-iceberg-tests</span></code> label to a pull request whenever it
touches reflection code
(<code class="docutils literal notranslate"><span
class="pre">org.apache.comet.iceberg.IcebergReflection</span></code>) or other
logic whose behavior can differ across Iceberg
versions, since Iceberg 1.11 alone will not catch a regression that only
affects 1.8, 1.9, or 1.10.</p>
diff --git a/searchindex.js b/searchindex.js
index c7d9c091f6..6e807d2196 100644
--- a/searchindex.js
+++ b/searchindex.js
@@ -1 +1 @@
-Search.setIndex({"alltitles": {"!": [[55, "id1"]], "%": [[53, "id1"]], "&":
[[43, "id1"]], "*": [[53, "id2"]], "+": [[53, "id3"]], "-": [[53, "id4"]], "/":
[[53, "id5"]], "1. Format Your Code": [[40, "format-your-code"]], "1. Install
Comet": [[61, "install-comet"], [71, "install-comet"]], "1. Native Operators
(nativeExecs map)": [[28, "native-operators-nativeexecs-map"]], "2. Build and
Verify": [[40, "build-and-verify"]], "2. Clone Iceberg and Apply Diff": [[61,
"clone-iceberg-and-apply- [...]
\ No newline at end of file
+Search.setIndex({"alltitles": {"!": [[55, "id1"]], "%": [[53, "id1"]], "&":
[[43, "id1"]], "*": [[53, "id2"]], "+": [[53, "id3"]], "-": [[53, "id4"]], "/":
[[53, "id5"]], "1. Format Your Code": [[40, "format-your-code"]], "1. Install
Comet": [[61, "install-comet"], [71, "install-comet"]], "1. Native Operators
(nativeExecs map)": [[28, "native-operators-nativeexecs-map"]], "2. Build and
Verify": [[40, "build-and-verify"]], "2. Clone Iceberg and Apply Diff": [[61,
"clone-iceberg-and-apply- [...]
\ No newline at end of file
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]