Skip to content

ci: reduce macOS PR matrix to single Spark 4.0 profile#4104

Open
andygrove wants to merge 1 commit intoapache:mainfrom
andygrove:reduce-macos-ci-matrix
Open

ci: reduce macOS PR matrix to single Spark 4.0 profile#4104
andygrove wants to merge 1 commit intoapache:mainfrom
andygrove:reduce-macos-ci-matrix

Conversation

@andygrove
Copy link
Copy Markdown
Member

Which issue does this PR close?

Closes #4102 (Option A).

Rationale for this change

The macOS PR workflow currently runs 3 profiles (Spark 3.4 / JDK 11 / Scala 2.12, Spark 3.5 / JDK 17 / Scala 2.13, Spark 4.0 / JDK 17 / Scala 2.13) across 7 suites, for 21 jobs per PR. macOS runners cost roughly 2x Linux minutes, making this the most expensive workflow per job.

The macOS workflow exists primarily to catch platform-specific issues on Apple Silicon: native library loading, FFI, threading, and shuffle. Those concerns are largely independent of the Spark/Scala/JDK version. Full Spark/Java/Scala matrix coverage already happens on Linux in pr_build_linux.yml, so running 3 Spark profiles on macOS is duplicative for everything that is not platform-sensitive.

What changes are included in this PR?

  • Remove the Spark 3.4, JDK 11, Scala 2.12 and Spark 3.5, JDK 17, Scala 2.13 matrix entries from .github/workflows/pr_build_macos.yml, keeping only Spark 4.0, JDK 17, Scala 2.13.
  • Drop the now-dead conditional that skipped the sql suite under the Spark 3.4 profile.
  • Update the comment on the profile block to explain the macOS-specific rationale.

Reduces the macOS PR matrix from 21 jobs to 7.

How are these changes tested?

CI on this PR exercises the new matrix. If a regression slips through that depends on Spark version on macOS, we can add a second profile back.

Drop the Spark 3.4 / JDK 11 / Scala 2.12 and Spark 3.5 / JDK 17 / Scala 2.13
profiles from the macOS PR workflow, keeping only Spark 4.0 / JDK 17 / Scala
2.13. macOS runs cover platform-specific concerns (native library loading,
FFI, threading, shuffle on Apple Silicon) that are largely independent of the
Spark/Scala/JDK version. Full matrix coverage already happens on Linux.

Reduces 21 jobs per PR to 7.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Reduce macOS CI matrix

1 participant