diff --git a/.github/workflows/aot-test.yml b/.github/workflows/aot-test.yml index 6d8925e..9f82281 100644 --- a/.github/workflows/aot-test.yml +++ b/.github/workflows/aot-test.yml @@ -11,7 +11,7 @@ jobs: matrix: # Only test on Mac and Ubuntu – these are the fastest platforms. # Windows and Linux ARM are built later after the PR is merged. - os: [macos-14, ubuntu-22.04] + os: [macos-15, ubuntu-22.04] steps: - uses: actions/checkout@v7 @@ -38,6 +38,13 @@ jobs: # sbt 2 nests build outputs under target/out//// mv target/out/jvm/scala-*/jelly-cli/graalvm-native-image/jelly-cli jelly-cli + # Make sure the binary still runs on macOS 14 (see graalOptions in build.sbt) + if [ "$RUNNER_OS" == "macOS" ]; then + otool -l jelly-cli | grep -A4 LC_BUILD_VERSION + otool -l jelly-cli | grep -A4 LC_BUILD_VERSION | grep -q "minos 14.0" \ + || exit 1 + fi + # See if it runs at all ./jelly-cli version || exit 1 diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index cec79b1..0c19af8 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -10,7 +10,7 @@ jobs: runs-on: ${{ matrix.os }} strategy: matrix: - os: [macos-14, windows-2022, ubuntu-22.04, ubuntu-22.04-arm] + os: [macos-15, windows-2022, ubuntu-22.04, ubuntu-22.04-arm] steps: - uses: actions/checkout@v7 @@ -81,7 +81,7 @@ jobs: - name: Rename binaries run: | mv jelly-cli-assembly/jelly-cli.jar jelly-cli.jar - mv jelly-cli-macos-14/jelly-cli jelly-cli-mac-arm64 + mv jelly-cli-macos-15/jelly-cli jelly-cli-mac-arm64 mv jelly-cli-ubuntu-22.04/jelly-cli jelly-cli-linux-x86_64 mv jelly-cli-ubuntu-22.04-arm/jelly-cli jelly-cli-linux-arm64 mv jelly-cli-windows-2022/jelly-cli.exe jelly-cli-windows-x86_64.exe diff --git a/build.sbt b/build.sbt index a6945ca..a591ba2 100644 --- a/build.sbt +++ b/build.sbt @@ -48,6 +48,10 @@ lazy val graalOptions = Seq( // Include XML error messages // Issue: https://github.com/Jelly-RDF/cli/issues/217 "-H:IncludeResourceBundles=com.sun.org.apache.xerces.internal.impl.msg.XMLMessages", +) ++ ( + // Without this, the minimum macOS version is the one of the build machine. + if (scala.util.Properties.isMac) Seq("-H:NativeLinkerOption=-mmacosx-version-min=14.0") + else Seq() ) lazy val TestSerial = config("test-serial") extend Test