felipepessoto commented on code in PR #12388: URL: https://github.com/apache/gluten/pull/12388#discussion_r3750480821
########## .github/workflows/delta_spark_ut.yml: ########## @@ -0,0 +1,469 @@ +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# Runs Delta Lake's `spark` sbt module unit tests against a Gluten Velox bundle +# that is built from the source in this repository. The pipeline: +# +# 1. Builds the Velox/Gluten native libraries (centos-7 + vcpkg, x86_64). +# 2. Builds the Gluten Java/Scala jars and assembles the +# `gluten-velox-bundle-spark<spark>_<scala>-linux_amd64-<version>.jar` +# fat jar for Spark 4.1 + Scala 2.13 + Java 17 with the Delta profile. +# 3. Clones delta-io/delta at the requested release tag (default `v4.2.0`), +# drops the bundle jar into `spark-unified/lib/` only (NOT `spark/lib/` +# -- see setup-delta.sh for the unmanagedJars scoping rationale), +# patches Delta's `DeltaSQLCommandTest` to register the Gluten plugin, +# and runs `sbt spark/test` sharded across the matrix. +# +# Limited to Velox + x86 to keep the matrix simple, per the pipeline's purpose +# of validating Gluten changes against the latest Delta release. + +name: Delta Spark UT (Gluten) + +on: + # Self-contained: this workflow owns the whole Delta pipeline, including its own + # native build, and is NOT called by velox_backend_x86.yml. A change confined to + # this pipeline's own files no longer drags in that workflow's ~50-job + # TPC-H/DS + Spark-UT matrix (measured: ~1750 runner-minutes per run that such a + # change cannot affect), and a Velox/core change no longer carries the Delta + # suite. + # + # Note the tradeoff: `gluten-delta/**` and `backends-velox/src-delta*/**` also + # match velox_backend_x86.yml's own filter (its spark-ut jobs build with + # -Pdelta), so a change there runs BOTH workflows and, now that the native lib + # is no longer shared between them, pays for the centos-7 build twice (~10 min). + # That is the price of decoupling, and it is small next to the case above. + # + # The `paths:` filter below IS the per-PR gate -- GitHub evaluates it before the + # run is created, so a non-Delta PR costs nothing at all. Changes to general + # Velox/core/native code can also affect Delta offload, but they are touched on + # most PRs; the nightly `schedule` run below is the safety net for those, and + # `workflow_dispatch` lets anyone run the suite against a branch on demand. + pull_request: + paths: + - '.github/workflows/delta_spark_ut.yml' + - '.github/workflows/util/delta-spark-ut/**' + - 'gluten-delta/**' + # Covers src-delta, src-delta33, src-delta40 and any future variant. + - 'backends-velox/src-delta*/**' Review Comment: It is a trade off we made to minimize the CI pipeline usage. The CI also runs nightly to catch regressions caused by non-Delta changes -- 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]
