From 5b3947b0cb6e211acbe98740ec32605ff2bdec4d Mon Sep 17 00:00:00 2001 From: sychen Date: Mon, 5 Jan 2026 17:48:09 +0800 Subject: [PATCH 1/4] Add MacOS build --- .github/workflows/build-macos-releases.yml | 122 +++++++++++++++++++++ 1 file changed, 122 insertions(+) create mode 100644 .github/workflows/build-macos-releases.yml diff --git a/.github/workflows/build-macos-releases.yml b/.github/workflows/build-macos-releases.yml new file mode 100644 index 000000000..235322cf2 --- /dev/null +++ b/.github/workflows/build-macos-releases.yml @@ -0,0 +1,122 @@ +# +# 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. +# + +name: Build macOS Releases + +on: + workflow_dispatch: + push: + branches: + - master + - branch-* + pull_request: + branches: + - master + - branch-* + paths: + - '.github/workflows/build-macos-releases.yml' + - 'auron-build.sh' + +jobs: + build-snapshot: + name: Build macOS + runs-on: ${{ matrix.runner }} + strategy: + matrix: + sparkver: [spark-3.0, spark-3.1, spark-3.2, spark-3.3, spark-3.4, spark-3.5] + auronver: [7.0.0-SNAPSHOT] + scalaver: [2.12, 2.13] + javaver: [8, 21] + runner: [macos-14] + exclude: + # Only build on scala-2.13 for spark-3.5 + - sparkver: spark-3.0 + scalaver: '2.13' + - sparkver: spark-3.1 + scalaver: '2.13' + - sparkver: spark-3.2 + scalaver: '2.13' + - sparkver: spark-3.3 + scalaver: '2.13' + - sparkver: spark-3.4 + scalaver: '2.13' + - sparkver: spark-3.0 + javaver: '21' + - sparkver: spark-3.1 + javaver: '21' + - sparkver: spark-3.2 + javaver: '21' + - sparkver: spark-3.3 + javaver: '21' + - sparkver: spark-3.4 + javaver: '21' + + steps: + - uses: actions/checkout@v4 + with: + ref: ${{ github.event.pull_request.head.sha }} + fetch-depth: 0 + submodules: recursive + + - name: Extract spark version + run: | + raw="${{ matrix.sparkver }}" + ver="${raw#spark-}" + echo "sparkver_short=$ver" >> $GITHUB_ENV + + - uses: actions/setup-java@v4 + with: + distribution: 'adopt-hotspot' + java-version: ${{ matrix.javaver }} + cache: 'maven' + + - uses: arduino/setup-protoc@v3 + with: + version: "21.7" + repo-token: ${{ secrets.GITHUB_TOKEN }} + + - uses: ./.github/actions/setup-rust-toolchain + with: + rustflags: --allow warnings + components: + cargo + rustfmt + + - name: Detect osclassfier + id: detect-osclassfier + run: | + osclassfier=$(./build/mvn help:evaluate -Dexpression=os.detected.classifier -q -DforceStdout -P${{ matrix.sparkver }}) + echo "osclassfier=$osclassfier" >> $GITHUB_ENV + + - name: Get short commit hash + id: commit + run: echo "short=$(git rev-parse --short HEAD)" >> $GITHUB_OUTPUT + + - name: Build auron-${{ matrix.sparkver }}_${{ matrix.scalaver }} + run: | + ./auron-build.sh \ + --release \ + --sparkver ${{ env.sparkver_short }} \ + --scalaver ${{ matrix.scalaver }} + + - name: Upload auron-${{ matrix.sparkver }}_${{ matrix.scalaver }} + uses: actions/upload-artifact@v6 + with: + name: auron-${{matrix.sparkver}}_${{ matrix.scalaver }}-${{ matrix.javaver }}-release-${{ env.osclassfier }}-${{ matrix.auronver }}-${{ matrix.runner }}-${{ steps.commit.outputs.short }}.jar + path: target/auron-${{matrix.sparkver}}_${{ matrix.scalaver }}-release-${{ env.osclassfier }}-${{ matrix.auronver }}.jar + overwrite: true + From cc3d77ed676d0da09ea9d2bece1ebb2eb95bda47 Mon Sep 17 00:00:00 2001 From: sychen Date: Mon, 5 Jan 2026 17:54:36 +0800 Subject: [PATCH 2/4] Add MacOS build --- .github/workflows/build-macos-releases.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build-macos-releases.yml b/.github/workflows/build-macos-releases.yml index 235322cf2..e0c34d6d1 100644 --- a/.github/workflows/build-macos-releases.yml +++ b/.github/workflows/build-macos-releases.yml @@ -41,7 +41,7 @@ jobs: auronver: [7.0.0-SNAPSHOT] scalaver: [2.12, 2.13] javaver: [8, 21] - runner: [macos-14] + runner: [macos-15-arm64] exclude: # Only build on scala-2.13 for spark-3.5 - sparkver: spark-3.0 From 3be3aacb8e3fb3bb67c32d27f7b3d6cf62c4dd3b Mon Sep 17 00:00:00 2001 From: sychen Date: Mon, 5 Jan 2026 18:08:40 +0800 Subject: [PATCH 3/4] Add MacOS build --- .github/workflows/build-macos-releases.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/build-macos-releases.yml b/.github/workflows/build-macos-releases.yml index e0c34d6d1..205896754 100644 --- a/.github/workflows/build-macos-releases.yml +++ b/.github/workflows/build-macos-releases.yml @@ -41,7 +41,7 @@ jobs: auronver: [7.0.0-SNAPSHOT] scalaver: [2.12, 2.13] javaver: [8, 21] - runner: [macos-15-arm64] + runner: [macos-15] exclude: # Only build on scala-2.13 for spark-3.5 - sparkver: spark-3.0 @@ -80,8 +80,8 @@ jobs: - uses: actions/setup-java@v4 with: - distribution: 'adopt-hotspot' - java-version: ${{ matrix.javaver }} + distribution: zulu + java-version: ${{ matrix.java }} cache: 'maven' - uses: arduino/setup-protoc@v3 From ffafd1f3abbed1743b4ac8d31e2326524c3d3417 Mon Sep 17 00:00:00 2001 From: sychen Date: Mon, 5 Jan 2026 18:09:39 +0800 Subject: [PATCH 4/4] Add MacOS build --- .github/workflows/build-macos-releases.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build-macos-releases.yml b/.github/workflows/build-macos-releases.yml index 205896754..de16be960 100644 --- a/.github/workflows/build-macos-releases.yml +++ b/.github/workflows/build-macos-releases.yml @@ -81,7 +81,7 @@ jobs: - uses: actions/setup-java@v4 with: distribution: zulu - java-version: ${{ matrix.java }} + java-version: ${{ matrix.javaver }} cache: 'maven' - uses: arduino/setup-protoc@v3