andygrove opened a new issue, #4101:
URL: https://github.com/apache/datafusion-comet/issues/4101

   ## Describe the proposed change
   
   The Iceberg CI workflow (`.github/workflows/iceberg_spark_test.yml`) 
currently runs a fully-crossed matrix:
   
   - 3 job types (`iceberg-spark`, `iceberg-spark-extensions`, 
`iceberg-spark-runtime`)
   - 3 Iceberg versions (1.8.1, 1.9.1, 1.10.0)
   - 2 Spark versions (3.4.3, 3.5.8)
   - 2 JDK versions (11, 17)
   - 1 Scala version (2.13)
   
   That's 36 jobs per PR. Adding Spark 4.0.1 / 4.1.1 to the same pattern would 
push it higher.
   
   The JDK dimension is the easiest to trim. Each Spark version effectively has 
one preferred JDK in practice:
   
   - Spark 3.4 → JDK 11
   - Spark 3.5 → JDK 17 (and Spark 4.x will require 17+ anyway)
   
   Pinning JDK per Spark version (using a matrix `include:` rather than full 
cross-product) cuts the matrix in half: 36 → 18 jobs, removing 18 redundant 
combinations.
   
   ## Rationale
   
   - Iceberg's own CI does not exhaustively cross JDK with every Spark version; 
we are overcovering relative to upstream.
   - JDK 11 vs 17 differences that affect Comet are caught elsewhere: 
`pr_build_linux.yml` and `spark_sql_test.yml` both run JDK 11 + 17 against 
multiple Spark versions.
   - The Iceberg suites are about Iceberg/Comet integration, not JVM-level 
differences; the same JDK delta is unlikely to surface there but not in the 
broader matrix.
   - Frees CI capacity to add Spark 4.0.1 and 4.1.1 to the matrix without a net 
increase in PR runtime.
   
   ## Proposed change
   
   Replace the fully-crossed matrix in each of the three Iceberg jobs with an 
`include:` list that pins JDK per Spark version, e.g.
   
   ```yaml
   strategy:
     matrix:
       iceberg-version: [{short: '1.8', full: '1.8.1'}, {short: '1.9', full: 
'1.9.1'}, {short: '1.10', full: '1.10.0'}]
       include:
         - spark-version: {short: '3.4', full: '3.4.3'}
           java-version: 11
         - spark-version: {short: '3.5', full: '3.5.8'}
           java-version: 17
   ```
   
   Net effect: 36 → 18 PR jobs.
   
   ## Additional context
   
   Part of a broader CI cleanup ahead of adding Spark 4.0.1 and 4.1.1 to the 
test matrix. Other potential follow-ups (separate issues): drop Iceberg 1.9 
(boundary coverage only), reduce macOS matrix, tier nightly vs PR-blocking 
tests.


-- 
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