From 71948d69c413a47ec16308ea17f52baa697d1476 Mon Sep 17 00:00:00 2001 From: Jen Basch Date: Mon, 13 Jul 2026 15:52:02 -0700 Subject: [PATCH] Upgrade to GraalVM 25.1.3, drop macOS Intel builds (#1769) --- .github/index.pkl | 18 +- .github/jobs/BuildNativeJob.pkl | 4 - .github/scripts/cc_macos_amd64.sh | 2 - .github/workflows/build.yml | 300 ++++++----------- .github/workflows/main.yml | 312 ++++++----------- .github/workflows/prb.yml | 294 ++++++---------- .github/workflows/release-branch.yml | 306 ++++++----------- .github/workflows/release.yml | 318 ++++++------------ DEVELOPMENT.adoc | 1 - build-logic/src/main/kotlin/BuildInfo.kt | 57 ++-- .../kotlin/pklNativeExecutable.gradle.kts | 30 -- .../main/kotlin/pklNativeLifecycle.gradle.kts | 10 - docs/modules/pkl-cli/pages/index.adoc | 16 +- docs/modules/pkl-doc/pages/index.adoc | 5 +- docs/modules/release-notes/pages/0.33.adoc | 6 + gradle/libs.versions.toml | 21 +- .../org/pkl/commons/test/Executables.kt | 8 +- pkl-core/pkl-core.gradle.kts | 9 - .../pkl/core/LanguageSnippetTestsEngine.kt | 5 - .../org.junit.platform.engine.TestEngine | 1 - pkl-server/pkl-server.gradle.kts | 8 - 21 files changed, 587 insertions(+), 1144 deletions(-) delete mode 100755 .github/scripts/cc_macos_amd64.sh diff --git a/.github/index.pkl b/.github/index.pkl index ef4a5209..b6a541dd 100644 --- a/.github/index.pkl +++ b/.github/index.pkl @@ -63,15 +63,19 @@ local buildNativeJobs: Mapping = new { for (_dist in List("release", "snapshot")) { for (_project in List("pkl-cli", "pkl-doc")) { for (_arch in List("amd64", "aarch64")) { - for (_os in List("macOS", "linux")) { - ["\(_project)-\(_os)-\(_arch)-\(_dist)"] { - arch = _arch - os = _os - isRelease = _dist == "release" - project = _project - } + ["\(_project)-linux-\(_arch)-\(_dist)"] { + arch = _arch + os = "linux" + isRelease = _dist == "release" + project = _project } } + ["\(_project)-macOS-aarch64-\(_dist)"] { + arch = "aarch64" + os = "macOS" + isRelease = _dist == "release" + project = _project + } ["\(_project)-alpine-linux-amd64-\(_dist)"] { arch = "amd64" os = "linux" diff --git a/.github/jobs/BuildNativeJob.pkl b/.github/jobs/BuildNativeJob.pkl index 7413992f..d3e8fe1c 100644 --- a/.github/jobs/BuildNativeJob.pkl +++ b/.github/jobs/BuildNativeJob.pkl @@ -10,10 +10,6 @@ musl: Boolean(implies(module.os == "linux")) = false project: String extraGradleArgs { - when (os == "macOS" && arch == "amd64") { - "-Dpkl.targetArch=\(module.arch)" - #""-Dpkl.native--native-compiler-path=${GITHUB_WORKSPACE}/.github/scripts/cc_macos_amd64.sh""# - } when (musl) { "-Dpkl.musl=true" } diff --git a/.github/scripts/cc_macos_amd64.sh b/.github/scripts/cc_macos_amd64.sh deleted file mode 100755 index 772aa490..00000000 --- a/.github/scripts/cc_macos_amd64.sh +++ /dev/null @@ -1,2 +0,0 @@ -#!/usr/bin/env bash -clang -arch x86_64 "$@" diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 4d968b2a..349bb502 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -209,53 +209,6 @@ jobs: name: test-results-html-java-executables-snapshot path: '**/build/reports/tests/**/*' if-no-files-found: ignore - pkl-cli-macOS-amd64-snapshot: - if: github.repository_owner == 'apple' - runs-on: - - self-hosted - - macos - env: - LANG: en_US.UTF-8 - steps: - - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6 - with: - persist-credentials: false - - uses: actions/setup-java@1bcf9fb12cf4aa7d266a90ae39939e61372fe520 # v5 - with: - java-version: '25' - distribution: temurin - architecture: x64 - - uses: gradle/actions/setup-gradle@0723195856401067f7a2779048b490ace7a47d7c # v5 - with: {} - - name: Set DEBUG_ARGS env var - env: - RUNNER_DEBUG: ${{ runner.debug }} - shell: bash - run: |- - if [[ "$RUNNER_DEBUG" -eq 1 ]]; then - echo "DEBUG_ARGS=--info --stacktrace" >> $GITHUB_ENV - fi - - name: gradle buildNative - shell: bash - run: ./gradlew $DEBUG_ARGS --no-daemon -DpklMultiJdkTesting=true -Dpkl.targetArch=amd64 "-Dpkl.native--native-compiler-path=${GITHUB_WORKSPACE}/.github/scripts/cc_macos_amd64.sh" pkl-cli:buildNative - - name: Upload executable artifacts - uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5 - with: - name: executable-pkl-cli-macOS-amd64 - path: pkl-cli*/build/executable/**/* - - name: Upload Test Result XML - if: '!cancelled()' - uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5 - with: - name: test-results-xml-pkl-cli-macOS-amd64-snapshot - path: '**/build/test-results/**/*.xml' - - name: Upload Test Result HTML - if: '!cancelled()' - uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5 - with: - name: test-results-html-pkl-cli-macOS-amd64-snapshot - path: '**/build/reports/tests/**/*' - if-no-files-found: ignore pkl-cli-linux-amd64-snapshot: runs-on: ubuntu-latest env: @@ -306,6 +259,56 @@ jobs: if-no-files-found: ignore container: image: redhat/ubi8:8.10 + pkl-cli-linux-aarch64-snapshot: + runs-on: ubuntu-24.04-arm + env: + LANG: en_US.UTF-8 + steps: + - name: Install deps + run: dnf install -y git binutils gcc glibc-devel zlib-devel libstdc++-static glibc-langpack-en + - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6 + with: + persist-credentials: false + - uses: actions/setup-java@1bcf9fb12cf4aa7d266a90ae39939e61372fe520 # v5 + with: + java-version: '25' + distribution: temurin + architecture: aarch64 + - uses: gradle/actions/setup-gradle@0723195856401067f7a2779048b490ace7a47d7c # v5 + with: {} + - name: Set DEBUG_ARGS env var + env: + RUNNER_DEBUG: ${{ runner.debug }} + shell: bash + run: |- + if [[ "$RUNNER_DEBUG" -eq 1 ]]; then + echo "DEBUG_ARGS=--info --stacktrace" >> $GITHUB_ENV + fi + - name: Fix git ownership + run: git status || git config --system --add safe.directory "$GITHUB_WORKSPACE" + - name: gradle buildNative + shell: bash + run: ./gradlew $DEBUG_ARGS --no-daemon -DpklMultiJdkTesting=true pkl-cli:buildNative + - name: Upload executable artifacts + uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5 + with: + name: executable-pkl-cli-linux-aarch64 + path: pkl-cli*/build/executable/**/* + - name: Upload Test Result XML + if: '!cancelled()' + uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5 + with: + name: test-results-xml-pkl-cli-linux-aarch64-snapshot + path: '**/build/test-results/**/*.xml' + - name: Upload Test Result HTML + if: '!cancelled()' + uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5 + with: + name: test-results-html-pkl-cli-linux-aarch64-snapshot + path: '**/build/reports/tests/**/*' + if-no-files-found: ignore + container: + image: redhat/ubi8:8.10 pkl-cli-macOS-aarch64-snapshot: if: github.repository_owner == 'apple' runs-on: @@ -353,56 +356,6 @@ jobs: name: test-results-html-pkl-cli-macOS-aarch64-snapshot path: '**/build/reports/tests/**/*' if-no-files-found: ignore - pkl-cli-linux-aarch64-snapshot: - runs-on: ubuntu-24.04-arm - env: - LANG: en_US.UTF-8 - steps: - - name: Install deps - run: dnf install -y git binutils gcc glibc-devel zlib-devel libstdc++-static glibc-langpack-en - - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6 - with: - persist-credentials: false - - uses: actions/setup-java@1bcf9fb12cf4aa7d266a90ae39939e61372fe520 # v5 - with: - java-version: '25' - distribution: temurin - architecture: aarch64 - - uses: gradle/actions/setup-gradle@0723195856401067f7a2779048b490ace7a47d7c # v5 - with: {} - - name: Set DEBUG_ARGS env var - env: - RUNNER_DEBUG: ${{ runner.debug }} - shell: bash - run: |- - if [[ "$RUNNER_DEBUG" -eq 1 ]]; then - echo "DEBUG_ARGS=--info --stacktrace" >> $GITHUB_ENV - fi - - name: Fix git ownership - run: git status || git config --system --add safe.directory "$GITHUB_WORKSPACE" - - name: gradle buildNative - shell: bash - run: ./gradlew $DEBUG_ARGS --no-daemon -DpklMultiJdkTesting=true pkl-cli:buildNative - - name: Upload executable artifacts - uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5 - with: - name: executable-pkl-cli-linux-aarch64 - path: pkl-cli*/build/executable/**/* - - name: Upload Test Result XML - if: '!cancelled()' - uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5 - with: - name: test-results-xml-pkl-cli-linux-aarch64-snapshot - path: '**/build/test-results/**/*.xml' - - name: Upload Test Result HTML - if: '!cancelled()' - uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5 - with: - name: test-results-html-pkl-cli-linux-aarch64-snapshot - path: '**/build/reports/tests/**/*' - if-no-files-found: ignore - container: - image: redhat/ubi8:8.10 pkl-cli-alpine-linux-amd64-snapshot: runs-on: ubuntu-latest env: @@ -565,53 +518,6 @@ jobs: name: test-results-html-pkl-cli-windows-amd64-snapshot path: '**/build/reports/tests/**/*' if-no-files-found: ignore - pkl-doc-macOS-amd64-snapshot: - if: github.repository_owner == 'apple' - runs-on: - - self-hosted - - macos - env: - LANG: en_US.UTF-8 - steps: - - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6 - with: - persist-credentials: false - - uses: actions/setup-java@1bcf9fb12cf4aa7d266a90ae39939e61372fe520 # v5 - with: - java-version: '25' - distribution: temurin - architecture: x64 - - uses: gradle/actions/setup-gradle@0723195856401067f7a2779048b490ace7a47d7c # v5 - with: {} - - name: Set DEBUG_ARGS env var - env: - RUNNER_DEBUG: ${{ runner.debug }} - shell: bash - run: |- - if [[ "$RUNNER_DEBUG" -eq 1 ]]; then - echo "DEBUG_ARGS=--info --stacktrace" >> $GITHUB_ENV - fi - - name: gradle buildNative - shell: bash - run: ./gradlew $DEBUG_ARGS --no-daemon -DpklMultiJdkTesting=true -Dpkl.targetArch=amd64 "-Dpkl.native--native-compiler-path=${GITHUB_WORKSPACE}/.github/scripts/cc_macos_amd64.sh" pkl-doc:buildNative - - name: Upload executable artifacts - uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5 - with: - name: executable-pkl-doc-macOS-amd64 - path: pkl-doc*/build/executable/**/* - - name: Upload Test Result XML - if: '!cancelled()' - uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5 - with: - name: test-results-xml-pkl-doc-macOS-amd64-snapshot - path: '**/build/test-results/**/*.xml' - - name: Upload Test Result HTML - if: '!cancelled()' - uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5 - with: - name: test-results-html-pkl-doc-macOS-amd64-snapshot - path: '**/build/reports/tests/**/*' - if-no-files-found: ignore pkl-doc-linux-amd64-snapshot: runs-on: ubuntu-latest env: @@ -662,6 +568,56 @@ jobs: if-no-files-found: ignore container: image: redhat/ubi8:8.10 + pkl-doc-linux-aarch64-snapshot: + runs-on: ubuntu-24.04-arm + env: + LANG: en_US.UTF-8 + steps: + - name: Install deps + run: dnf install -y git binutils gcc glibc-devel zlib-devel libstdc++-static glibc-langpack-en + - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6 + with: + persist-credentials: false + - uses: actions/setup-java@1bcf9fb12cf4aa7d266a90ae39939e61372fe520 # v5 + with: + java-version: '25' + distribution: temurin + architecture: aarch64 + - uses: gradle/actions/setup-gradle@0723195856401067f7a2779048b490ace7a47d7c # v5 + with: {} + - name: Set DEBUG_ARGS env var + env: + RUNNER_DEBUG: ${{ runner.debug }} + shell: bash + run: |- + if [[ "$RUNNER_DEBUG" -eq 1 ]]; then + echo "DEBUG_ARGS=--info --stacktrace" >> $GITHUB_ENV + fi + - name: Fix git ownership + run: git status || git config --system --add safe.directory "$GITHUB_WORKSPACE" + - name: gradle buildNative + shell: bash + run: ./gradlew $DEBUG_ARGS --no-daemon -DpklMultiJdkTesting=true pkl-doc:buildNative + - name: Upload executable artifacts + uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5 + with: + name: executable-pkl-doc-linux-aarch64 + path: pkl-doc*/build/executable/**/* + - name: Upload Test Result XML + if: '!cancelled()' + uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5 + with: + name: test-results-xml-pkl-doc-linux-aarch64-snapshot + path: '**/build/test-results/**/*.xml' + - name: Upload Test Result HTML + if: '!cancelled()' + uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5 + with: + name: test-results-html-pkl-doc-linux-aarch64-snapshot + path: '**/build/reports/tests/**/*' + if-no-files-found: ignore + container: + image: redhat/ubi8:8.10 pkl-doc-macOS-aarch64-snapshot: if: github.repository_owner == 'apple' runs-on: @@ -709,56 +665,6 @@ jobs: name: test-results-html-pkl-doc-macOS-aarch64-snapshot path: '**/build/reports/tests/**/*' if-no-files-found: ignore - pkl-doc-linux-aarch64-snapshot: - runs-on: ubuntu-24.04-arm - env: - LANG: en_US.UTF-8 - steps: - - name: Install deps - run: dnf install -y git binutils gcc glibc-devel zlib-devel libstdc++-static glibc-langpack-en - - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6 - with: - persist-credentials: false - - uses: actions/setup-java@1bcf9fb12cf4aa7d266a90ae39939e61372fe520 # v5 - with: - java-version: '25' - distribution: temurin - architecture: aarch64 - - uses: gradle/actions/setup-gradle@0723195856401067f7a2779048b490ace7a47d7c # v5 - with: {} - - name: Set DEBUG_ARGS env var - env: - RUNNER_DEBUG: ${{ runner.debug }} - shell: bash - run: |- - if [[ "$RUNNER_DEBUG" -eq 1 ]]; then - echo "DEBUG_ARGS=--info --stacktrace" >> $GITHUB_ENV - fi - - name: Fix git ownership - run: git status || git config --system --add safe.directory "$GITHUB_WORKSPACE" - - name: gradle buildNative - shell: bash - run: ./gradlew $DEBUG_ARGS --no-daemon -DpklMultiJdkTesting=true pkl-doc:buildNative - - name: Upload executable artifacts - uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5 - with: - name: executable-pkl-doc-linux-aarch64 - path: pkl-doc*/build/executable/**/* - - name: Upload Test Result XML - if: '!cancelled()' - uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5 - with: - name: test-results-xml-pkl-doc-linux-aarch64-snapshot - path: '**/build/test-results/**/*.xml' - - name: Upload Test Result HTML - if: '!cancelled()' - uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5 - with: - name: test-results-html-pkl-doc-linux-aarch64-snapshot - path: '**/build/reports/tests/**/*' - if-no-files-found: ignore - container: - image: redhat/ubi8:8.10 pkl-doc-alpine-linux-amd64-snapshot: runs-on: ubuntu-latest env: @@ -928,16 +834,14 @@ jobs: - gradle-check-windows - gradle-compatibility - java-executables-snapshot - - pkl-cli-macOS-amd64-snapshot - pkl-cli-linux-amd64-snapshot - - pkl-cli-macOS-aarch64-snapshot - pkl-cli-linux-aarch64-snapshot + - pkl-cli-macOS-aarch64-snapshot - pkl-cli-alpine-linux-amd64-snapshot - pkl-cli-windows-amd64-snapshot - - pkl-doc-macOS-amd64-snapshot - pkl-doc-linux-amd64-snapshot - - pkl-doc-macOS-aarch64-snapshot - pkl-doc-linux-aarch64-snapshot + - pkl-doc-macOS-aarch64-snapshot - pkl-doc-alpine-linux-amd64-snapshot - pkl-doc-windows-amd64-snapshot permissions: diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index e11eeb95..f79197d4 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -207,53 +207,6 @@ jobs: name: test-results-html-java-executables-snapshot path: '**/build/reports/tests/**/*' if-no-files-found: ignore - pkl-cli-macOS-amd64-snapshot: - if: github.repository_owner == 'apple' - runs-on: - - self-hosted - - macos - env: - LANG: en_US.UTF-8 - steps: - - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6 - with: - persist-credentials: false - - uses: actions/setup-java@1bcf9fb12cf4aa7d266a90ae39939e61372fe520 # v5 - with: - java-version: '25' - distribution: temurin - architecture: x64 - - uses: gradle/actions/setup-gradle@0723195856401067f7a2779048b490ace7a47d7c # v5 - with: {} - - name: Set DEBUG_ARGS env var - env: - RUNNER_DEBUG: ${{ runner.debug }} - shell: bash - run: |- - if [[ "$RUNNER_DEBUG" -eq 1 ]]; then - echo "DEBUG_ARGS=--info --stacktrace" >> $GITHUB_ENV - fi - - name: gradle buildNative - shell: bash - run: ./gradlew $DEBUG_ARGS --no-daemon -DpklMultiJdkTesting=true -Dpkl.targetArch=amd64 "-Dpkl.native--native-compiler-path=${GITHUB_WORKSPACE}/.github/scripts/cc_macos_amd64.sh" pkl-cli:buildNative - - name: Upload executable artifacts - uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5 - with: - name: executable-pkl-cli-macOS-amd64 - path: pkl-cli*/build/executable/**/* - - name: Upload Test Result XML - if: '!cancelled()' - uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5 - with: - name: test-results-xml-pkl-cli-macOS-amd64-snapshot - path: '**/build/test-results/**/*.xml' - - name: Upload Test Result HTML - if: '!cancelled()' - uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5 - with: - name: test-results-html-pkl-cli-macOS-amd64-snapshot - path: '**/build/reports/tests/**/*' - if-no-files-found: ignore pkl-cli-linux-amd64-snapshot: runs-on: ubuntu-latest env: @@ -304,6 +257,56 @@ jobs: if-no-files-found: ignore container: image: redhat/ubi8:8.10 + pkl-cli-linux-aarch64-snapshot: + runs-on: ubuntu-24.04-arm + env: + LANG: en_US.UTF-8 + steps: + - name: Install deps + run: dnf install -y git binutils gcc glibc-devel zlib-devel libstdc++-static glibc-langpack-en + - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6 + with: + persist-credentials: false + - uses: actions/setup-java@1bcf9fb12cf4aa7d266a90ae39939e61372fe520 # v5 + with: + java-version: '25' + distribution: temurin + architecture: aarch64 + - uses: gradle/actions/setup-gradle@0723195856401067f7a2779048b490ace7a47d7c # v5 + with: {} + - name: Set DEBUG_ARGS env var + env: + RUNNER_DEBUG: ${{ runner.debug }} + shell: bash + run: |- + if [[ "$RUNNER_DEBUG" -eq 1 ]]; then + echo "DEBUG_ARGS=--info --stacktrace" >> $GITHUB_ENV + fi + - name: Fix git ownership + run: git status || git config --system --add safe.directory "$GITHUB_WORKSPACE" + - name: gradle buildNative + shell: bash + run: ./gradlew $DEBUG_ARGS --no-daemon -DpklMultiJdkTesting=true pkl-cli:buildNative + - name: Upload executable artifacts + uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5 + with: + name: executable-pkl-cli-linux-aarch64 + path: pkl-cli*/build/executable/**/* + - name: Upload Test Result XML + if: '!cancelled()' + uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5 + with: + name: test-results-xml-pkl-cli-linux-aarch64-snapshot + path: '**/build/test-results/**/*.xml' + - name: Upload Test Result HTML + if: '!cancelled()' + uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5 + with: + name: test-results-html-pkl-cli-linux-aarch64-snapshot + path: '**/build/reports/tests/**/*' + if-no-files-found: ignore + container: + image: redhat/ubi8:8.10 pkl-cli-macOS-aarch64-snapshot: if: github.repository_owner == 'apple' runs-on: @@ -351,56 +354,6 @@ jobs: name: test-results-html-pkl-cli-macOS-aarch64-snapshot path: '**/build/reports/tests/**/*' if-no-files-found: ignore - pkl-cli-linux-aarch64-snapshot: - runs-on: ubuntu-24.04-arm - env: - LANG: en_US.UTF-8 - steps: - - name: Install deps - run: dnf install -y git binutils gcc glibc-devel zlib-devel libstdc++-static glibc-langpack-en - - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6 - with: - persist-credentials: false - - uses: actions/setup-java@1bcf9fb12cf4aa7d266a90ae39939e61372fe520 # v5 - with: - java-version: '25' - distribution: temurin - architecture: aarch64 - - uses: gradle/actions/setup-gradle@0723195856401067f7a2779048b490ace7a47d7c # v5 - with: {} - - name: Set DEBUG_ARGS env var - env: - RUNNER_DEBUG: ${{ runner.debug }} - shell: bash - run: |- - if [[ "$RUNNER_DEBUG" -eq 1 ]]; then - echo "DEBUG_ARGS=--info --stacktrace" >> $GITHUB_ENV - fi - - name: Fix git ownership - run: git status || git config --system --add safe.directory "$GITHUB_WORKSPACE" - - name: gradle buildNative - shell: bash - run: ./gradlew $DEBUG_ARGS --no-daemon -DpklMultiJdkTesting=true pkl-cli:buildNative - - name: Upload executable artifacts - uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5 - with: - name: executable-pkl-cli-linux-aarch64 - path: pkl-cli*/build/executable/**/* - - name: Upload Test Result XML - if: '!cancelled()' - uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5 - with: - name: test-results-xml-pkl-cli-linux-aarch64-snapshot - path: '**/build/test-results/**/*.xml' - - name: Upload Test Result HTML - if: '!cancelled()' - uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5 - with: - name: test-results-html-pkl-cli-linux-aarch64-snapshot - path: '**/build/reports/tests/**/*' - if-no-files-found: ignore - container: - image: redhat/ubi8:8.10 pkl-cli-alpine-linux-amd64-snapshot: runs-on: ubuntu-latest env: @@ -563,53 +516,6 @@ jobs: name: test-results-html-pkl-cli-windows-amd64-snapshot path: '**/build/reports/tests/**/*' if-no-files-found: ignore - pkl-doc-macOS-amd64-snapshot: - if: github.repository_owner == 'apple' - runs-on: - - self-hosted - - macos - env: - LANG: en_US.UTF-8 - steps: - - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6 - with: - persist-credentials: false - - uses: actions/setup-java@1bcf9fb12cf4aa7d266a90ae39939e61372fe520 # v5 - with: - java-version: '25' - distribution: temurin - architecture: x64 - - uses: gradle/actions/setup-gradle@0723195856401067f7a2779048b490ace7a47d7c # v5 - with: {} - - name: Set DEBUG_ARGS env var - env: - RUNNER_DEBUG: ${{ runner.debug }} - shell: bash - run: |- - if [[ "$RUNNER_DEBUG" -eq 1 ]]; then - echo "DEBUG_ARGS=--info --stacktrace" >> $GITHUB_ENV - fi - - name: gradle buildNative - shell: bash - run: ./gradlew $DEBUG_ARGS --no-daemon -DpklMultiJdkTesting=true -Dpkl.targetArch=amd64 "-Dpkl.native--native-compiler-path=${GITHUB_WORKSPACE}/.github/scripts/cc_macos_amd64.sh" pkl-doc:buildNative - - name: Upload executable artifacts - uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5 - with: - name: executable-pkl-doc-macOS-amd64 - path: pkl-doc*/build/executable/**/* - - name: Upload Test Result XML - if: '!cancelled()' - uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5 - with: - name: test-results-xml-pkl-doc-macOS-amd64-snapshot - path: '**/build/test-results/**/*.xml' - - name: Upload Test Result HTML - if: '!cancelled()' - uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5 - with: - name: test-results-html-pkl-doc-macOS-amd64-snapshot - path: '**/build/reports/tests/**/*' - if-no-files-found: ignore pkl-doc-linux-amd64-snapshot: runs-on: ubuntu-latest env: @@ -660,6 +566,56 @@ jobs: if-no-files-found: ignore container: image: redhat/ubi8:8.10 + pkl-doc-linux-aarch64-snapshot: + runs-on: ubuntu-24.04-arm + env: + LANG: en_US.UTF-8 + steps: + - name: Install deps + run: dnf install -y git binutils gcc glibc-devel zlib-devel libstdc++-static glibc-langpack-en + - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6 + with: + persist-credentials: false + - uses: actions/setup-java@1bcf9fb12cf4aa7d266a90ae39939e61372fe520 # v5 + with: + java-version: '25' + distribution: temurin + architecture: aarch64 + - uses: gradle/actions/setup-gradle@0723195856401067f7a2779048b490ace7a47d7c # v5 + with: {} + - name: Set DEBUG_ARGS env var + env: + RUNNER_DEBUG: ${{ runner.debug }} + shell: bash + run: |- + if [[ "$RUNNER_DEBUG" -eq 1 ]]; then + echo "DEBUG_ARGS=--info --stacktrace" >> $GITHUB_ENV + fi + - name: Fix git ownership + run: git status || git config --system --add safe.directory "$GITHUB_WORKSPACE" + - name: gradle buildNative + shell: bash + run: ./gradlew $DEBUG_ARGS --no-daemon -DpklMultiJdkTesting=true pkl-doc:buildNative + - name: Upload executable artifacts + uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5 + with: + name: executable-pkl-doc-linux-aarch64 + path: pkl-doc*/build/executable/**/* + - name: Upload Test Result XML + if: '!cancelled()' + uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5 + with: + name: test-results-xml-pkl-doc-linux-aarch64-snapshot + path: '**/build/test-results/**/*.xml' + - name: Upload Test Result HTML + if: '!cancelled()' + uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5 + with: + name: test-results-html-pkl-doc-linux-aarch64-snapshot + path: '**/build/reports/tests/**/*' + if-no-files-found: ignore + container: + image: redhat/ubi8:8.10 pkl-doc-macOS-aarch64-snapshot: if: github.repository_owner == 'apple' runs-on: @@ -707,56 +663,6 @@ jobs: name: test-results-html-pkl-doc-macOS-aarch64-snapshot path: '**/build/reports/tests/**/*' if-no-files-found: ignore - pkl-doc-linux-aarch64-snapshot: - runs-on: ubuntu-24.04-arm - env: - LANG: en_US.UTF-8 - steps: - - name: Install deps - run: dnf install -y git binutils gcc glibc-devel zlib-devel libstdc++-static glibc-langpack-en - - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6 - with: - persist-credentials: false - - uses: actions/setup-java@1bcf9fb12cf4aa7d266a90ae39939e61372fe520 # v5 - with: - java-version: '25' - distribution: temurin - architecture: aarch64 - - uses: gradle/actions/setup-gradle@0723195856401067f7a2779048b490ace7a47d7c # v5 - with: {} - - name: Set DEBUG_ARGS env var - env: - RUNNER_DEBUG: ${{ runner.debug }} - shell: bash - run: |- - if [[ "$RUNNER_DEBUG" -eq 1 ]]; then - echo "DEBUG_ARGS=--info --stacktrace" >> $GITHUB_ENV - fi - - name: Fix git ownership - run: git status || git config --system --add safe.directory "$GITHUB_WORKSPACE" - - name: gradle buildNative - shell: bash - run: ./gradlew $DEBUG_ARGS --no-daemon -DpklMultiJdkTesting=true pkl-doc:buildNative - - name: Upload executable artifacts - uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5 - with: - name: executable-pkl-doc-linux-aarch64 - path: pkl-doc*/build/executable/**/* - - name: Upload Test Result XML - if: '!cancelled()' - uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5 - with: - name: test-results-xml-pkl-doc-linux-aarch64-snapshot - path: '**/build/test-results/**/*.xml' - - name: Upload Test Result HTML - if: '!cancelled()' - uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5 - with: - name: test-results-html-pkl-doc-linux-aarch64-snapshot - path: '**/build/reports/tests/**/*' - if-no-files-found: ignore - container: - image: redhat/ubi8:8.10 pkl-doc-alpine-linux-amd64-snapshot: runs-on: ubuntu-latest env: @@ -926,16 +832,14 @@ jobs: - bench - gradle-compatibility - java-executables-snapshot - - pkl-cli-macOS-amd64-snapshot - pkl-cli-linux-amd64-snapshot - - pkl-cli-macOS-aarch64-snapshot - pkl-cli-linux-aarch64-snapshot + - pkl-cli-macOS-aarch64-snapshot - pkl-cli-alpine-linux-amd64-snapshot - pkl-cli-windows-amd64-snapshot - - pkl-doc-macOS-amd64-snapshot - pkl-doc-linux-amd64-snapshot - - pkl-doc-macOS-aarch64-snapshot - pkl-doc-linux-aarch64-snapshot + - pkl-doc-macOS-aarch64-snapshot - pkl-doc-alpine-linux-amd64-snapshot - pkl-doc-windows-amd64-snapshot runs-on: ubuntu-latest @@ -997,16 +901,14 @@ jobs: - gradle-check-windows - gradle-compatibility - java-executables-snapshot - - pkl-cli-macOS-amd64-snapshot - pkl-cli-linux-amd64-snapshot - - pkl-cli-macOS-aarch64-snapshot - pkl-cli-linux-aarch64-snapshot + - pkl-cli-macOS-aarch64-snapshot - pkl-cli-alpine-linux-amd64-snapshot - pkl-cli-windows-amd64-snapshot - - pkl-doc-macOS-amd64-snapshot - pkl-doc-linux-amd64-snapshot - - pkl-doc-macOS-aarch64-snapshot - pkl-doc-linux-aarch64-snapshot + - pkl-doc-macOS-aarch64-snapshot - pkl-doc-alpine-linux-amd64-snapshot - pkl-doc-windows-amd64-snapshot permissions: @@ -1037,16 +939,14 @@ jobs: - bench - gradle-compatibility - java-executables-snapshot - - pkl-cli-macOS-amd64-snapshot - pkl-cli-linux-amd64-snapshot - - pkl-cli-macOS-aarch64-snapshot - pkl-cli-linux-aarch64-snapshot + - pkl-cli-macOS-aarch64-snapshot - pkl-cli-alpine-linux-amd64-snapshot - pkl-cli-windows-amd64-snapshot - - pkl-doc-macOS-amd64-snapshot - pkl-doc-linux-amd64-snapshot - - pkl-doc-macOS-aarch64-snapshot - pkl-doc-linux-aarch64-snapshot + - pkl-doc-macOS-aarch64-snapshot - pkl-doc-alpine-linux-amd64-snapshot - pkl-doc-windows-amd64-snapshot - deploy-snapshot diff --git a/.github/workflows/prb.yml b/.github/workflows/prb.yml index cf0d903f..e55611ae 100644 --- a/.github/workflows/prb.yml +++ b/.github/workflows/prb.yml @@ -92,54 +92,6 @@ jobs: name: test-results-html-gradle-check-windows path: '**/build/reports/tests/**/*' if-no-files-found: ignore - pkl-cli-macOS-amd64-snapshot: - if: (contains(github.event.pull_request.body, '[native]') || contains(github.event.pull_request.body, '[native-pkl-cli]') || contains(github.event.pull_request.body, '[native-pkl-cli-macOS]') || contains(github.event.pull_request.body, '[native-pkl-cli-macOS-amd64]') || contains(github.event.pull_request.body, '[native-pkl-cli-macOS-amd64]')) && github.repository_owner == 'apple' - runs-on: - - self-hosted - - macos - env: - LANG: en_US.UTF-8 - steps: - - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6 - with: - persist-credentials: false - - uses: actions/setup-java@1bcf9fb12cf4aa7d266a90ae39939e61372fe520 # v5 - with: - java-version: '25' - distribution: temurin - architecture: x64 - - uses: gradle/actions/setup-gradle@0723195856401067f7a2779048b490ace7a47d7c # v5 - with: {} - - name: Set DEBUG_ARGS env var - env: - RUNNER_DEBUG: ${{ runner.debug }} - shell: bash - run: |- - if [[ "$RUNNER_DEBUG" -eq 1 ]]; then - echo "DEBUG_ARGS=--info --stacktrace" >> $GITHUB_ENV - fi - - name: gradle buildNative - shell: bash - run: ./gradlew $DEBUG_ARGS --no-daemon -DpklMultiJdkTesting=true -Dpkl.targetArch=amd64 "-Dpkl.native--native-compiler-path=${GITHUB_WORKSPACE}/.github/scripts/cc_macos_amd64.sh" pkl-cli:buildNative - - name: Upload executable artifacts - uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5 - with: - name: executable-pkl-cli-macOS-amd64 - path: pkl-cli*/build/executable/**/* - - name: Upload Test Result XML - if: '!cancelled()' - uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5 - with: - name: test-results-xml-pkl-cli-macOS-amd64-snapshot - path: '**/build/test-results/**/*.xml' - if-no-files-found: ignore - - name: Upload Test Result HTML - if: '!cancelled()' - uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5 - with: - name: test-results-html-pkl-cli-macOS-amd64-snapshot - path: '**/build/reports/tests/**/*' - if-no-files-found: ignore pkl-cli-linux-amd64-snapshot: if: contains(github.event.pull_request.body, '[native]') || contains(github.event.pull_request.body, '[native-pkl-cli]') || contains(github.event.pull_request.body, '[native-pkl-cli-linux]') || contains(github.event.pull_request.body, '[native-pkl-cli-linux-amd64]') || contains(github.event.pull_request.body, '[native-pkl-cli-linux-amd64]') runs-on: ubuntu-latest @@ -192,54 +144,6 @@ jobs: if-no-files-found: ignore container: image: redhat/ubi8:8.10 - pkl-cli-macOS-aarch64-snapshot: - if: (contains(github.event.pull_request.body, '[native]') || contains(github.event.pull_request.body, '[native-pkl-cli]') || contains(github.event.pull_request.body, '[native-pkl-cli-macOS]') || contains(github.event.pull_request.body, '[native-pkl-cli-macOS-aarch64]') || contains(github.event.pull_request.body, '[native-pkl-cli-macOS-aarch64]')) && github.repository_owner == 'apple' - runs-on: - - self-hosted - - macos - env: - LANG: en_US.UTF-8 - steps: - - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6 - with: - persist-credentials: false - - uses: actions/setup-java@1bcf9fb12cf4aa7d266a90ae39939e61372fe520 # v5 - with: - java-version: '25' - distribution: temurin - architecture: aarch64 - - uses: gradle/actions/setup-gradle@0723195856401067f7a2779048b490ace7a47d7c # v5 - with: {} - - name: Set DEBUG_ARGS env var - env: - RUNNER_DEBUG: ${{ runner.debug }} - shell: bash - run: |- - if [[ "$RUNNER_DEBUG" -eq 1 ]]; then - echo "DEBUG_ARGS=--info --stacktrace" >> $GITHUB_ENV - fi - - name: gradle buildNative - shell: bash - run: ./gradlew $DEBUG_ARGS --no-daemon -DpklMultiJdkTesting=true pkl-cli:buildNative - - name: Upload executable artifacts - uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5 - with: - name: executable-pkl-cli-macOS-aarch64 - path: pkl-cli*/build/executable/**/* - - name: Upload Test Result XML - if: '!cancelled()' - uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5 - with: - name: test-results-xml-pkl-cli-macOS-aarch64-snapshot - path: '**/build/test-results/**/*.xml' - if-no-files-found: ignore - - name: Upload Test Result HTML - if: '!cancelled()' - uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5 - with: - name: test-results-html-pkl-cli-macOS-aarch64-snapshot - path: '**/build/reports/tests/**/*' - if-no-files-found: ignore pkl-cli-linux-aarch64-snapshot: if: contains(github.event.pull_request.body, '[native]') || contains(github.event.pull_request.body, '[native-pkl-cli]') || contains(github.event.pull_request.body, '[native-pkl-cli-linux]') || contains(github.event.pull_request.body, '[native-pkl-cli-linux-aarch64]') || contains(github.event.pull_request.body, '[native-pkl-cli-linux-aarch64]') runs-on: ubuntu-24.04-arm @@ -292,6 +196,54 @@ jobs: if-no-files-found: ignore container: image: redhat/ubi8:8.10 + pkl-cli-macOS-aarch64-snapshot: + if: (contains(github.event.pull_request.body, '[native]') || contains(github.event.pull_request.body, '[native-pkl-cli]') || contains(github.event.pull_request.body, '[native-pkl-cli-macOS]') || contains(github.event.pull_request.body, '[native-pkl-cli-macOS-aarch64]') || contains(github.event.pull_request.body, '[native-pkl-cli-macOS-aarch64]')) && github.repository_owner == 'apple' + runs-on: + - self-hosted + - macos + env: + LANG: en_US.UTF-8 + steps: + - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6 + with: + persist-credentials: false + - uses: actions/setup-java@1bcf9fb12cf4aa7d266a90ae39939e61372fe520 # v5 + with: + java-version: '25' + distribution: temurin + architecture: aarch64 + - uses: gradle/actions/setup-gradle@0723195856401067f7a2779048b490ace7a47d7c # v5 + with: {} + - name: Set DEBUG_ARGS env var + env: + RUNNER_DEBUG: ${{ runner.debug }} + shell: bash + run: |- + if [[ "$RUNNER_DEBUG" -eq 1 ]]; then + echo "DEBUG_ARGS=--info --stacktrace" >> $GITHUB_ENV + fi + - name: gradle buildNative + shell: bash + run: ./gradlew $DEBUG_ARGS --no-daemon -DpklMultiJdkTesting=true pkl-cli:buildNative + - name: Upload executable artifacts + uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5 + with: + name: executable-pkl-cli-macOS-aarch64 + path: pkl-cli*/build/executable/**/* + - name: Upload Test Result XML + if: '!cancelled()' + uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5 + with: + name: test-results-xml-pkl-cli-macOS-aarch64-snapshot + path: '**/build/test-results/**/*.xml' + if-no-files-found: ignore + - name: Upload Test Result HTML + if: '!cancelled()' + uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5 + with: + name: test-results-html-pkl-cli-macOS-aarch64-snapshot + path: '**/build/reports/tests/**/*' + if-no-files-found: ignore pkl-cli-alpine-linux-amd64-snapshot: if: contains(github.event.pull_request.body, '[native]') || contains(github.event.pull_request.body, '[native-pkl-cli]') || contains(github.event.pull_request.body, '[native-pkl-cli-linux]') || contains(github.event.pull_request.body, '[native-pkl-cli-linux-amd64]') || contains(github.event.pull_request.body, '[native-pkl-cli-linux-amd64]') || contains(github.event.pull_request.body, '[native-pkl-cli-alpine-linux-amd64]') runs-on: ubuntu-latest @@ -458,54 +410,6 @@ jobs: name: test-results-html-pkl-cli-windows-amd64-snapshot path: '**/build/reports/tests/**/*' if-no-files-found: ignore - pkl-doc-macOS-amd64-snapshot: - if: (contains(github.event.pull_request.body, '[native]') || contains(github.event.pull_request.body, '[native-pkl-doc]') || contains(github.event.pull_request.body, '[native-pkl-doc-macOS]') || contains(github.event.pull_request.body, '[native-pkl-doc-macOS-amd64]') || contains(github.event.pull_request.body, '[native-pkl-doc-macOS-amd64]')) && github.repository_owner == 'apple' - runs-on: - - self-hosted - - macos - env: - LANG: en_US.UTF-8 - steps: - - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6 - with: - persist-credentials: false - - uses: actions/setup-java@1bcf9fb12cf4aa7d266a90ae39939e61372fe520 # v5 - with: - java-version: '25' - distribution: temurin - architecture: x64 - - uses: gradle/actions/setup-gradle@0723195856401067f7a2779048b490ace7a47d7c # v5 - with: {} - - name: Set DEBUG_ARGS env var - env: - RUNNER_DEBUG: ${{ runner.debug }} - shell: bash - run: |- - if [[ "$RUNNER_DEBUG" -eq 1 ]]; then - echo "DEBUG_ARGS=--info --stacktrace" >> $GITHUB_ENV - fi - - name: gradle buildNative - shell: bash - run: ./gradlew $DEBUG_ARGS --no-daemon -DpklMultiJdkTesting=true -Dpkl.targetArch=amd64 "-Dpkl.native--native-compiler-path=${GITHUB_WORKSPACE}/.github/scripts/cc_macos_amd64.sh" pkl-doc:buildNative - - name: Upload executable artifacts - uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5 - with: - name: executable-pkl-doc-macOS-amd64 - path: pkl-doc*/build/executable/**/* - - name: Upload Test Result XML - if: '!cancelled()' - uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5 - with: - name: test-results-xml-pkl-doc-macOS-amd64-snapshot - path: '**/build/test-results/**/*.xml' - if-no-files-found: ignore - - name: Upload Test Result HTML - if: '!cancelled()' - uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5 - with: - name: test-results-html-pkl-doc-macOS-amd64-snapshot - path: '**/build/reports/tests/**/*' - if-no-files-found: ignore pkl-doc-linux-amd64-snapshot: if: contains(github.event.pull_request.body, '[native]') || contains(github.event.pull_request.body, '[native-pkl-doc]') || contains(github.event.pull_request.body, '[native-pkl-doc-linux]') || contains(github.event.pull_request.body, '[native-pkl-doc-linux-amd64]') || contains(github.event.pull_request.body, '[native-pkl-doc-linux-amd64]') runs-on: ubuntu-latest @@ -558,54 +462,6 @@ jobs: if-no-files-found: ignore container: image: redhat/ubi8:8.10 - pkl-doc-macOS-aarch64-snapshot: - if: (contains(github.event.pull_request.body, '[native]') || contains(github.event.pull_request.body, '[native-pkl-doc]') || contains(github.event.pull_request.body, '[native-pkl-doc-macOS]') || contains(github.event.pull_request.body, '[native-pkl-doc-macOS-aarch64]') || contains(github.event.pull_request.body, '[native-pkl-doc-macOS-aarch64]')) && github.repository_owner == 'apple' - runs-on: - - self-hosted - - macos - env: - LANG: en_US.UTF-8 - steps: - - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6 - with: - persist-credentials: false - - uses: actions/setup-java@1bcf9fb12cf4aa7d266a90ae39939e61372fe520 # v5 - with: - java-version: '25' - distribution: temurin - architecture: aarch64 - - uses: gradle/actions/setup-gradle@0723195856401067f7a2779048b490ace7a47d7c # v5 - with: {} - - name: Set DEBUG_ARGS env var - env: - RUNNER_DEBUG: ${{ runner.debug }} - shell: bash - run: |- - if [[ "$RUNNER_DEBUG" -eq 1 ]]; then - echo "DEBUG_ARGS=--info --stacktrace" >> $GITHUB_ENV - fi - - name: gradle buildNative - shell: bash - run: ./gradlew $DEBUG_ARGS --no-daemon -DpklMultiJdkTesting=true pkl-doc:buildNative - - name: Upload executable artifacts - uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5 - with: - name: executable-pkl-doc-macOS-aarch64 - path: pkl-doc*/build/executable/**/* - - name: Upload Test Result XML - if: '!cancelled()' - uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5 - with: - name: test-results-xml-pkl-doc-macOS-aarch64-snapshot - path: '**/build/test-results/**/*.xml' - if-no-files-found: ignore - - name: Upload Test Result HTML - if: '!cancelled()' - uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5 - with: - name: test-results-html-pkl-doc-macOS-aarch64-snapshot - path: '**/build/reports/tests/**/*' - if-no-files-found: ignore pkl-doc-linux-aarch64-snapshot: if: contains(github.event.pull_request.body, '[native]') || contains(github.event.pull_request.body, '[native-pkl-doc]') || contains(github.event.pull_request.body, '[native-pkl-doc-linux]') || contains(github.event.pull_request.body, '[native-pkl-doc-linux-aarch64]') || contains(github.event.pull_request.body, '[native-pkl-doc-linux-aarch64]') runs-on: ubuntu-24.04-arm @@ -658,6 +514,54 @@ jobs: if-no-files-found: ignore container: image: redhat/ubi8:8.10 + pkl-doc-macOS-aarch64-snapshot: + if: (contains(github.event.pull_request.body, '[native]') || contains(github.event.pull_request.body, '[native-pkl-doc]') || contains(github.event.pull_request.body, '[native-pkl-doc-macOS]') || contains(github.event.pull_request.body, '[native-pkl-doc-macOS-aarch64]') || contains(github.event.pull_request.body, '[native-pkl-doc-macOS-aarch64]')) && github.repository_owner == 'apple' + runs-on: + - self-hosted + - macos + env: + LANG: en_US.UTF-8 + steps: + - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6 + with: + persist-credentials: false + - uses: actions/setup-java@1bcf9fb12cf4aa7d266a90ae39939e61372fe520 # v5 + with: + java-version: '25' + distribution: temurin + architecture: aarch64 + - uses: gradle/actions/setup-gradle@0723195856401067f7a2779048b490ace7a47d7c # v5 + with: {} + - name: Set DEBUG_ARGS env var + env: + RUNNER_DEBUG: ${{ runner.debug }} + shell: bash + run: |- + if [[ "$RUNNER_DEBUG" -eq 1 ]]; then + echo "DEBUG_ARGS=--info --stacktrace" >> $GITHUB_ENV + fi + - name: gradle buildNative + shell: bash + run: ./gradlew $DEBUG_ARGS --no-daemon -DpklMultiJdkTesting=true pkl-doc:buildNative + - name: Upload executable artifacts + uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5 + with: + name: executable-pkl-doc-macOS-aarch64 + path: pkl-doc*/build/executable/**/* + - name: Upload Test Result XML + if: '!cancelled()' + uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5 + with: + name: test-results-xml-pkl-doc-macOS-aarch64-snapshot + path: '**/build/test-results/**/*.xml' + if-no-files-found: ignore + - name: Upload Test Result HTML + if: '!cancelled()' + uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5 + with: + name: test-results-html-pkl-doc-macOS-aarch64-snapshot + path: '**/build/reports/tests/**/*' + if-no-files-found: ignore pkl-doc-alpine-linux-amd64-snapshot: if: contains(github.event.pull_request.body, '[native]') || contains(github.event.pull_request.body, '[native-pkl-doc]') || contains(github.event.pull_request.body, '[native-pkl-doc-linux]') || contains(github.event.pull_request.body, '[native-pkl-doc-linux-amd64]') || contains(github.event.pull_request.body, '[native-pkl-doc-linux-amd64]') || contains(github.event.pull_request.body, '[native-pkl-doc-alpine-linux-amd64]') runs-on: ubuntu-latest @@ -830,16 +734,14 @@ jobs: - check-pkl-github-actions - gradle-check - gradle-check-windows - - pkl-cli-macOS-amd64-snapshot - pkl-cli-linux-amd64-snapshot - - pkl-cli-macOS-aarch64-snapshot - pkl-cli-linux-aarch64-snapshot + - pkl-cli-macOS-aarch64-snapshot - pkl-cli-alpine-linux-amd64-snapshot - pkl-cli-windows-amd64-snapshot - - pkl-doc-macOS-amd64-snapshot - pkl-doc-linux-amd64-snapshot - - pkl-doc-macOS-aarch64-snapshot - pkl-doc-linux-aarch64-snapshot + - pkl-doc-macOS-aarch64-snapshot - pkl-doc-alpine-linux-amd64-snapshot - pkl-doc-windows-amd64-snapshot runs-on: ubuntu-latest diff --git a/.github/workflows/release-branch.yml b/.github/workflows/release-branch.yml index cc38b019..558313c6 100644 --- a/.github/workflows/release-branch.yml +++ b/.github/workflows/release-branch.yml @@ -207,53 +207,6 @@ jobs: name: test-results-html-java-executables-snapshot path: '**/build/reports/tests/**/*' if-no-files-found: ignore - pkl-cli-macOS-amd64-snapshot: - if: github.repository_owner == 'apple' - runs-on: - - self-hosted - - macos - env: - LANG: en_US.UTF-8 - steps: - - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6 - with: - persist-credentials: false - - uses: actions/setup-java@1bcf9fb12cf4aa7d266a90ae39939e61372fe520 # v5 - with: - java-version: '25' - distribution: temurin - architecture: x64 - - uses: gradle/actions/setup-gradle@0723195856401067f7a2779048b490ace7a47d7c # v5 - with: {} - - name: Set DEBUG_ARGS env var - env: - RUNNER_DEBUG: ${{ runner.debug }} - shell: bash - run: |- - if [[ "$RUNNER_DEBUG" -eq 1 ]]; then - echo "DEBUG_ARGS=--info --stacktrace" >> $GITHUB_ENV - fi - - name: gradle buildNative - shell: bash - run: ./gradlew $DEBUG_ARGS --no-daemon -DpklMultiJdkTesting=true -Dpkl.targetArch=amd64 "-Dpkl.native--native-compiler-path=${GITHUB_WORKSPACE}/.github/scripts/cc_macos_amd64.sh" pkl-cli:buildNative - - name: Upload executable artifacts - uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5 - with: - name: executable-pkl-cli-macOS-amd64 - path: pkl-cli*/build/executable/**/* - - name: Upload Test Result XML - if: '!cancelled()' - uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5 - with: - name: test-results-xml-pkl-cli-macOS-amd64-snapshot - path: '**/build/test-results/**/*.xml' - - name: Upload Test Result HTML - if: '!cancelled()' - uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5 - with: - name: test-results-html-pkl-cli-macOS-amd64-snapshot - path: '**/build/reports/tests/**/*' - if-no-files-found: ignore pkl-cli-linux-amd64-snapshot: runs-on: ubuntu-latest env: @@ -304,6 +257,56 @@ jobs: if-no-files-found: ignore container: image: redhat/ubi8:8.10 + pkl-cli-linux-aarch64-snapshot: + runs-on: ubuntu-24.04-arm + env: + LANG: en_US.UTF-8 + steps: + - name: Install deps + run: dnf install -y git binutils gcc glibc-devel zlib-devel libstdc++-static glibc-langpack-en + - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6 + with: + persist-credentials: false + - uses: actions/setup-java@1bcf9fb12cf4aa7d266a90ae39939e61372fe520 # v5 + with: + java-version: '25' + distribution: temurin + architecture: aarch64 + - uses: gradle/actions/setup-gradle@0723195856401067f7a2779048b490ace7a47d7c # v5 + with: {} + - name: Set DEBUG_ARGS env var + env: + RUNNER_DEBUG: ${{ runner.debug }} + shell: bash + run: |- + if [[ "$RUNNER_DEBUG" -eq 1 ]]; then + echo "DEBUG_ARGS=--info --stacktrace" >> $GITHUB_ENV + fi + - name: Fix git ownership + run: git status || git config --system --add safe.directory "$GITHUB_WORKSPACE" + - name: gradle buildNative + shell: bash + run: ./gradlew $DEBUG_ARGS --no-daemon -DpklMultiJdkTesting=true pkl-cli:buildNative + - name: Upload executable artifacts + uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5 + with: + name: executable-pkl-cli-linux-aarch64 + path: pkl-cli*/build/executable/**/* + - name: Upload Test Result XML + if: '!cancelled()' + uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5 + with: + name: test-results-xml-pkl-cli-linux-aarch64-snapshot + path: '**/build/test-results/**/*.xml' + - name: Upload Test Result HTML + if: '!cancelled()' + uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5 + with: + name: test-results-html-pkl-cli-linux-aarch64-snapshot + path: '**/build/reports/tests/**/*' + if-no-files-found: ignore + container: + image: redhat/ubi8:8.10 pkl-cli-macOS-aarch64-snapshot: if: github.repository_owner == 'apple' runs-on: @@ -351,56 +354,6 @@ jobs: name: test-results-html-pkl-cli-macOS-aarch64-snapshot path: '**/build/reports/tests/**/*' if-no-files-found: ignore - pkl-cli-linux-aarch64-snapshot: - runs-on: ubuntu-24.04-arm - env: - LANG: en_US.UTF-8 - steps: - - name: Install deps - run: dnf install -y git binutils gcc glibc-devel zlib-devel libstdc++-static glibc-langpack-en - - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6 - with: - persist-credentials: false - - uses: actions/setup-java@1bcf9fb12cf4aa7d266a90ae39939e61372fe520 # v5 - with: - java-version: '25' - distribution: temurin - architecture: aarch64 - - uses: gradle/actions/setup-gradle@0723195856401067f7a2779048b490ace7a47d7c # v5 - with: {} - - name: Set DEBUG_ARGS env var - env: - RUNNER_DEBUG: ${{ runner.debug }} - shell: bash - run: |- - if [[ "$RUNNER_DEBUG" -eq 1 ]]; then - echo "DEBUG_ARGS=--info --stacktrace" >> $GITHUB_ENV - fi - - name: Fix git ownership - run: git status || git config --system --add safe.directory "$GITHUB_WORKSPACE" - - name: gradle buildNative - shell: bash - run: ./gradlew $DEBUG_ARGS --no-daemon -DpklMultiJdkTesting=true pkl-cli:buildNative - - name: Upload executable artifacts - uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5 - with: - name: executable-pkl-cli-linux-aarch64 - path: pkl-cli*/build/executable/**/* - - name: Upload Test Result XML - if: '!cancelled()' - uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5 - with: - name: test-results-xml-pkl-cli-linux-aarch64-snapshot - path: '**/build/test-results/**/*.xml' - - name: Upload Test Result HTML - if: '!cancelled()' - uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5 - with: - name: test-results-html-pkl-cli-linux-aarch64-snapshot - path: '**/build/reports/tests/**/*' - if-no-files-found: ignore - container: - image: redhat/ubi8:8.10 pkl-cli-alpine-linux-amd64-snapshot: runs-on: ubuntu-latest env: @@ -563,53 +516,6 @@ jobs: name: test-results-html-pkl-cli-windows-amd64-snapshot path: '**/build/reports/tests/**/*' if-no-files-found: ignore - pkl-doc-macOS-amd64-snapshot: - if: github.repository_owner == 'apple' - runs-on: - - self-hosted - - macos - env: - LANG: en_US.UTF-8 - steps: - - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6 - with: - persist-credentials: false - - uses: actions/setup-java@1bcf9fb12cf4aa7d266a90ae39939e61372fe520 # v5 - with: - java-version: '25' - distribution: temurin - architecture: x64 - - uses: gradle/actions/setup-gradle@0723195856401067f7a2779048b490ace7a47d7c # v5 - with: {} - - name: Set DEBUG_ARGS env var - env: - RUNNER_DEBUG: ${{ runner.debug }} - shell: bash - run: |- - if [[ "$RUNNER_DEBUG" -eq 1 ]]; then - echo "DEBUG_ARGS=--info --stacktrace" >> $GITHUB_ENV - fi - - name: gradle buildNative - shell: bash - run: ./gradlew $DEBUG_ARGS --no-daemon -DpklMultiJdkTesting=true -Dpkl.targetArch=amd64 "-Dpkl.native--native-compiler-path=${GITHUB_WORKSPACE}/.github/scripts/cc_macos_amd64.sh" pkl-doc:buildNative - - name: Upload executable artifacts - uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5 - with: - name: executable-pkl-doc-macOS-amd64 - path: pkl-doc*/build/executable/**/* - - name: Upload Test Result XML - if: '!cancelled()' - uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5 - with: - name: test-results-xml-pkl-doc-macOS-amd64-snapshot - path: '**/build/test-results/**/*.xml' - - name: Upload Test Result HTML - if: '!cancelled()' - uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5 - with: - name: test-results-html-pkl-doc-macOS-amd64-snapshot - path: '**/build/reports/tests/**/*' - if-no-files-found: ignore pkl-doc-linux-amd64-snapshot: runs-on: ubuntu-latest env: @@ -660,6 +566,56 @@ jobs: if-no-files-found: ignore container: image: redhat/ubi8:8.10 + pkl-doc-linux-aarch64-snapshot: + runs-on: ubuntu-24.04-arm + env: + LANG: en_US.UTF-8 + steps: + - name: Install deps + run: dnf install -y git binutils gcc glibc-devel zlib-devel libstdc++-static glibc-langpack-en + - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6 + with: + persist-credentials: false + - uses: actions/setup-java@1bcf9fb12cf4aa7d266a90ae39939e61372fe520 # v5 + with: + java-version: '25' + distribution: temurin + architecture: aarch64 + - uses: gradle/actions/setup-gradle@0723195856401067f7a2779048b490ace7a47d7c # v5 + with: {} + - name: Set DEBUG_ARGS env var + env: + RUNNER_DEBUG: ${{ runner.debug }} + shell: bash + run: |- + if [[ "$RUNNER_DEBUG" -eq 1 ]]; then + echo "DEBUG_ARGS=--info --stacktrace" >> $GITHUB_ENV + fi + - name: Fix git ownership + run: git status || git config --system --add safe.directory "$GITHUB_WORKSPACE" + - name: gradle buildNative + shell: bash + run: ./gradlew $DEBUG_ARGS --no-daemon -DpklMultiJdkTesting=true pkl-doc:buildNative + - name: Upload executable artifacts + uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5 + with: + name: executable-pkl-doc-linux-aarch64 + path: pkl-doc*/build/executable/**/* + - name: Upload Test Result XML + if: '!cancelled()' + uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5 + with: + name: test-results-xml-pkl-doc-linux-aarch64-snapshot + path: '**/build/test-results/**/*.xml' + - name: Upload Test Result HTML + if: '!cancelled()' + uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5 + with: + name: test-results-html-pkl-doc-linux-aarch64-snapshot + path: '**/build/reports/tests/**/*' + if-no-files-found: ignore + container: + image: redhat/ubi8:8.10 pkl-doc-macOS-aarch64-snapshot: if: github.repository_owner == 'apple' runs-on: @@ -707,56 +663,6 @@ jobs: name: test-results-html-pkl-doc-macOS-aarch64-snapshot path: '**/build/reports/tests/**/*' if-no-files-found: ignore - pkl-doc-linux-aarch64-snapshot: - runs-on: ubuntu-24.04-arm - env: - LANG: en_US.UTF-8 - steps: - - name: Install deps - run: dnf install -y git binutils gcc glibc-devel zlib-devel libstdc++-static glibc-langpack-en - - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6 - with: - persist-credentials: false - - uses: actions/setup-java@1bcf9fb12cf4aa7d266a90ae39939e61372fe520 # v5 - with: - java-version: '25' - distribution: temurin - architecture: aarch64 - - uses: gradle/actions/setup-gradle@0723195856401067f7a2779048b490ace7a47d7c # v5 - with: {} - - name: Set DEBUG_ARGS env var - env: - RUNNER_DEBUG: ${{ runner.debug }} - shell: bash - run: |- - if [[ "$RUNNER_DEBUG" -eq 1 ]]; then - echo "DEBUG_ARGS=--info --stacktrace" >> $GITHUB_ENV - fi - - name: Fix git ownership - run: git status || git config --system --add safe.directory "$GITHUB_WORKSPACE" - - name: gradle buildNative - shell: bash - run: ./gradlew $DEBUG_ARGS --no-daemon -DpklMultiJdkTesting=true pkl-doc:buildNative - - name: Upload executable artifacts - uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5 - with: - name: executable-pkl-doc-linux-aarch64 - path: pkl-doc*/build/executable/**/* - - name: Upload Test Result XML - if: '!cancelled()' - uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5 - with: - name: test-results-xml-pkl-doc-linux-aarch64-snapshot - path: '**/build/test-results/**/*.xml' - - name: Upload Test Result HTML - if: '!cancelled()' - uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5 - with: - name: test-results-html-pkl-doc-linux-aarch64-snapshot - path: '**/build/reports/tests/**/*' - if-no-files-found: ignore - container: - image: redhat/ubi8:8.10 pkl-doc-alpine-linux-amd64-snapshot: runs-on: ubuntu-latest env: @@ -926,16 +832,14 @@ jobs: - gradle-check-windows - gradle-compatibility - java-executables-snapshot - - pkl-cli-macOS-amd64-snapshot - pkl-cli-linux-amd64-snapshot - - pkl-cli-macOS-aarch64-snapshot - pkl-cli-linux-aarch64-snapshot + - pkl-cli-macOS-aarch64-snapshot - pkl-cli-alpine-linux-amd64-snapshot - pkl-cli-windows-amd64-snapshot - - pkl-doc-macOS-amd64-snapshot - pkl-doc-linux-amd64-snapshot - - pkl-doc-macOS-aarch64-snapshot - pkl-doc-linux-aarch64-snapshot + - pkl-doc-macOS-aarch64-snapshot - pkl-doc-alpine-linux-amd64-snapshot - pkl-doc-windows-amd64-snapshot permissions: @@ -966,16 +870,14 @@ jobs: - bench - gradle-compatibility - java-executables-snapshot - - pkl-cli-macOS-amd64-snapshot - pkl-cli-linux-amd64-snapshot - - pkl-cli-macOS-aarch64-snapshot - pkl-cli-linux-aarch64-snapshot + - pkl-cli-macOS-aarch64-snapshot - pkl-cli-alpine-linux-amd64-snapshot - pkl-cli-windows-amd64-snapshot - - pkl-doc-macOS-amd64-snapshot - pkl-doc-linux-amd64-snapshot - - pkl-doc-macOS-aarch64-snapshot - pkl-doc-linux-aarch64-snapshot + - pkl-doc-macOS-aarch64-snapshot - pkl-doc-alpine-linux-amd64-snapshot - pkl-doc-windows-amd64-snapshot - publish-test-results diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 6ef6bcf7..e19af3cf 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -208,54 +208,6 @@ jobs: name: test-results-html-java-executables-release path: '**/build/reports/tests/**/*' if-no-files-found: ignore - pkl-cli-macOS-amd64-release: - if: github.repository_owner == 'apple' - runs-on: - - self-hosted - - macos - env: - LANG: en_US.UTF-8 - steps: - - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6 - with: - persist-credentials: false - - uses: actions/setup-java@1bcf9fb12cf4aa7d266a90ae39939e61372fe520 # v5 - with: - java-version: '25' - distribution: temurin - architecture: x64 - - uses: gradle/actions/setup-gradle@0723195856401067f7a2779048b490ace7a47d7c # v5 - with: - cache-disabled: true - - name: Set DEBUG_ARGS env var - env: - RUNNER_DEBUG: ${{ runner.debug }} - shell: bash - run: |- - if [[ "$RUNNER_DEBUG" -eq 1 ]]; then - echo "DEBUG_ARGS=--info --stacktrace" >> $GITHUB_ENV - fi - - name: gradle buildNative - shell: bash - run: ./gradlew $DEBUG_ARGS --no-daemon -DpklMultiJdkTesting=true -DreleaseBuild=true -Dpkl.targetArch=amd64 "-Dpkl.native--native-compiler-path=${GITHUB_WORKSPACE}/.github/scripts/cc_macos_amd64.sh" pkl-cli:buildNative - - name: Upload executable artifacts - uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5 - with: - name: executable-pkl-cli-macOS-amd64 - path: pkl-cli*/build/executable/**/* - - name: Upload Test Result XML - if: '!cancelled()' - uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5 - with: - name: test-results-xml-pkl-cli-macOS-amd64-release - path: '**/build/test-results/**/*.xml' - - name: Upload Test Result HTML - if: '!cancelled()' - uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5 - with: - name: test-results-html-pkl-cli-macOS-amd64-release - path: '**/build/reports/tests/**/*' - if-no-files-found: ignore pkl-cli-linux-amd64-release: runs-on: ubuntu-latest env: @@ -307,6 +259,57 @@ jobs: if-no-files-found: ignore container: image: redhat/ubi8:8.10 + pkl-cli-linux-aarch64-release: + runs-on: ubuntu-24.04-arm + env: + LANG: en_US.UTF-8 + steps: + - name: Install deps + run: dnf install -y git binutils gcc glibc-devel zlib-devel libstdc++-static glibc-langpack-en + - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6 + with: + persist-credentials: false + - uses: actions/setup-java@1bcf9fb12cf4aa7d266a90ae39939e61372fe520 # v5 + with: + java-version: '25' + distribution: temurin + architecture: aarch64 + - uses: gradle/actions/setup-gradle@0723195856401067f7a2779048b490ace7a47d7c # v5 + with: + cache-disabled: true + - name: Set DEBUG_ARGS env var + env: + RUNNER_DEBUG: ${{ runner.debug }} + shell: bash + run: |- + if [[ "$RUNNER_DEBUG" -eq 1 ]]; then + echo "DEBUG_ARGS=--info --stacktrace" >> $GITHUB_ENV + fi + - name: Fix git ownership + run: git status || git config --system --add safe.directory "$GITHUB_WORKSPACE" + - name: gradle buildNative + shell: bash + run: ./gradlew $DEBUG_ARGS --no-daemon -DpklMultiJdkTesting=true -DreleaseBuild=true pkl-cli:buildNative + - name: Upload executable artifacts + uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5 + with: + name: executable-pkl-cli-linux-aarch64 + path: pkl-cli*/build/executable/**/* + - name: Upload Test Result XML + if: '!cancelled()' + uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5 + with: + name: test-results-xml-pkl-cli-linux-aarch64-release + path: '**/build/test-results/**/*.xml' + - name: Upload Test Result HTML + if: '!cancelled()' + uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5 + with: + name: test-results-html-pkl-cli-linux-aarch64-release + path: '**/build/reports/tests/**/*' + if-no-files-found: ignore + container: + image: redhat/ubi8:8.10 pkl-cli-macOS-aarch64-release: if: github.repository_owner == 'apple' runs-on: @@ -355,57 +358,6 @@ jobs: name: test-results-html-pkl-cli-macOS-aarch64-release path: '**/build/reports/tests/**/*' if-no-files-found: ignore - pkl-cli-linux-aarch64-release: - runs-on: ubuntu-24.04-arm - env: - LANG: en_US.UTF-8 - steps: - - name: Install deps - run: dnf install -y git binutils gcc glibc-devel zlib-devel libstdc++-static glibc-langpack-en - - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6 - with: - persist-credentials: false - - uses: actions/setup-java@1bcf9fb12cf4aa7d266a90ae39939e61372fe520 # v5 - with: - java-version: '25' - distribution: temurin - architecture: aarch64 - - uses: gradle/actions/setup-gradle@0723195856401067f7a2779048b490ace7a47d7c # v5 - with: - cache-disabled: true - - name: Set DEBUG_ARGS env var - env: - RUNNER_DEBUG: ${{ runner.debug }} - shell: bash - run: |- - if [[ "$RUNNER_DEBUG" -eq 1 ]]; then - echo "DEBUG_ARGS=--info --stacktrace" >> $GITHUB_ENV - fi - - name: Fix git ownership - run: git status || git config --system --add safe.directory "$GITHUB_WORKSPACE" - - name: gradle buildNative - shell: bash - run: ./gradlew $DEBUG_ARGS --no-daemon -DpklMultiJdkTesting=true -DreleaseBuild=true pkl-cli:buildNative - - name: Upload executable artifacts - uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5 - with: - name: executable-pkl-cli-linux-aarch64 - path: pkl-cli*/build/executable/**/* - - name: Upload Test Result XML - if: '!cancelled()' - uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5 - with: - name: test-results-xml-pkl-cli-linux-aarch64-release - path: '**/build/test-results/**/*.xml' - - name: Upload Test Result HTML - if: '!cancelled()' - uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5 - with: - name: test-results-html-pkl-cli-linux-aarch64-release - path: '**/build/reports/tests/**/*' - if-no-files-found: ignore - container: - image: redhat/ubi8:8.10 pkl-cli-alpine-linux-amd64-release: runs-on: ubuntu-latest env: @@ -570,54 +522,6 @@ jobs: name: test-results-html-pkl-cli-windows-amd64-release path: '**/build/reports/tests/**/*' if-no-files-found: ignore - pkl-doc-macOS-amd64-release: - if: github.repository_owner == 'apple' - runs-on: - - self-hosted - - macos - env: - LANG: en_US.UTF-8 - steps: - - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6 - with: - persist-credentials: false - - uses: actions/setup-java@1bcf9fb12cf4aa7d266a90ae39939e61372fe520 # v5 - with: - java-version: '25' - distribution: temurin - architecture: x64 - - uses: gradle/actions/setup-gradle@0723195856401067f7a2779048b490ace7a47d7c # v5 - with: - cache-disabled: true - - name: Set DEBUG_ARGS env var - env: - RUNNER_DEBUG: ${{ runner.debug }} - shell: bash - run: |- - if [[ "$RUNNER_DEBUG" -eq 1 ]]; then - echo "DEBUG_ARGS=--info --stacktrace" >> $GITHUB_ENV - fi - - name: gradle buildNative - shell: bash - run: ./gradlew $DEBUG_ARGS --no-daemon -DpklMultiJdkTesting=true -DreleaseBuild=true -Dpkl.targetArch=amd64 "-Dpkl.native--native-compiler-path=${GITHUB_WORKSPACE}/.github/scripts/cc_macos_amd64.sh" pkl-doc:buildNative - - name: Upload executable artifacts - uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5 - with: - name: executable-pkl-doc-macOS-amd64 - path: pkl-doc*/build/executable/**/* - - name: Upload Test Result XML - if: '!cancelled()' - uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5 - with: - name: test-results-xml-pkl-doc-macOS-amd64-release - path: '**/build/test-results/**/*.xml' - - name: Upload Test Result HTML - if: '!cancelled()' - uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5 - with: - name: test-results-html-pkl-doc-macOS-amd64-release - path: '**/build/reports/tests/**/*' - if-no-files-found: ignore pkl-doc-linux-amd64-release: runs-on: ubuntu-latest env: @@ -669,6 +573,57 @@ jobs: if-no-files-found: ignore container: image: redhat/ubi8:8.10 + pkl-doc-linux-aarch64-release: + runs-on: ubuntu-24.04-arm + env: + LANG: en_US.UTF-8 + steps: + - name: Install deps + run: dnf install -y git binutils gcc glibc-devel zlib-devel libstdc++-static glibc-langpack-en + - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6 + with: + persist-credentials: false + - uses: actions/setup-java@1bcf9fb12cf4aa7d266a90ae39939e61372fe520 # v5 + with: + java-version: '25' + distribution: temurin + architecture: aarch64 + - uses: gradle/actions/setup-gradle@0723195856401067f7a2779048b490ace7a47d7c # v5 + with: + cache-disabled: true + - name: Set DEBUG_ARGS env var + env: + RUNNER_DEBUG: ${{ runner.debug }} + shell: bash + run: |- + if [[ "$RUNNER_DEBUG" -eq 1 ]]; then + echo "DEBUG_ARGS=--info --stacktrace" >> $GITHUB_ENV + fi + - name: Fix git ownership + run: git status || git config --system --add safe.directory "$GITHUB_WORKSPACE" + - name: gradle buildNative + shell: bash + run: ./gradlew $DEBUG_ARGS --no-daemon -DpklMultiJdkTesting=true -DreleaseBuild=true pkl-doc:buildNative + - name: Upload executable artifacts + uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5 + with: + name: executable-pkl-doc-linux-aarch64 + path: pkl-doc*/build/executable/**/* + - name: Upload Test Result XML + if: '!cancelled()' + uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5 + with: + name: test-results-xml-pkl-doc-linux-aarch64-release + path: '**/build/test-results/**/*.xml' + - name: Upload Test Result HTML + if: '!cancelled()' + uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5 + with: + name: test-results-html-pkl-doc-linux-aarch64-release + path: '**/build/reports/tests/**/*' + if-no-files-found: ignore + container: + image: redhat/ubi8:8.10 pkl-doc-macOS-aarch64-release: if: github.repository_owner == 'apple' runs-on: @@ -717,57 +672,6 @@ jobs: name: test-results-html-pkl-doc-macOS-aarch64-release path: '**/build/reports/tests/**/*' if-no-files-found: ignore - pkl-doc-linux-aarch64-release: - runs-on: ubuntu-24.04-arm - env: - LANG: en_US.UTF-8 - steps: - - name: Install deps - run: dnf install -y git binutils gcc glibc-devel zlib-devel libstdc++-static glibc-langpack-en - - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6 - with: - persist-credentials: false - - uses: actions/setup-java@1bcf9fb12cf4aa7d266a90ae39939e61372fe520 # v5 - with: - java-version: '25' - distribution: temurin - architecture: aarch64 - - uses: gradle/actions/setup-gradle@0723195856401067f7a2779048b490ace7a47d7c # v5 - with: - cache-disabled: true - - name: Set DEBUG_ARGS env var - env: - RUNNER_DEBUG: ${{ runner.debug }} - shell: bash - run: |- - if [[ "$RUNNER_DEBUG" -eq 1 ]]; then - echo "DEBUG_ARGS=--info --stacktrace" >> $GITHUB_ENV - fi - - name: Fix git ownership - run: git status || git config --system --add safe.directory "$GITHUB_WORKSPACE" - - name: gradle buildNative - shell: bash - run: ./gradlew $DEBUG_ARGS --no-daemon -DpklMultiJdkTesting=true -DreleaseBuild=true pkl-doc:buildNative - - name: Upload executable artifacts - uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5 - with: - name: executable-pkl-doc-linux-aarch64 - path: pkl-doc*/build/executable/**/* - - name: Upload Test Result XML - if: '!cancelled()' - uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5 - with: - name: test-results-xml-pkl-doc-linux-aarch64-release - path: '**/build/test-results/**/*.xml' - - name: Upload Test Result HTML - if: '!cancelled()' - uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5 - with: - name: test-results-html-pkl-doc-linux-aarch64-release - path: '**/build/reports/tests/**/*' - if-no-files-found: ignore - container: - image: redhat/ubi8:8.10 pkl-doc-alpine-linux-amd64-release: runs-on: ubuntu-latest env: @@ -939,16 +843,14 @@ jobs: - bench - gradle-compatibility - java-executables-release - - pkl-cli-macOS-amd64-release - pkl-cli-linux-amd64-release - - pkl-cli-macOS-aarch64-release - pkl-cli-linux-aarch64-release + - pkl-cli-macOS-aarch64-release - pkl-cli-alpine-linux-amd64-release - pkl-cli-windows-amd64-release - - pkl-doc-macOS-amd64-release - pkl-doc-linux-amd64-release - - pkl-doc-macOS-aarch64-release - pkl-doc-linux-aarch64-release + - pkl-doc-macOS-aarch64-release - pkl-doc-alpine-linux-amd64-release - pkl-doc-windows-amd64-release runs-on: ubuntu-latest @@ -1022,16 +924,14 @@ jobs: - gradle-check-windows - gradle-compatibility - java-executables-release - - pkl-cli-macOS-amd64-release - pkl-cli-linux-amd64-release - - pkl-cli-macOS-aarch64-release - pkl-cli-linux-aarch64-release + - pkl-cli-macOS-aarch64-release - pkl-cli-alpine-linux-amd64-release - pkl-cli-windows-amd64-release - - pkl-doc-macOS-amd64-release - pkl-doc-linux-amd64-release - - pkl-doc-macOS-aarch64-release - pkl-doc-linux-aarch64-release + - pkl-doc-macOS-aarch64-release - pkl-doc-alpine-linux-amd64-release - pkl-doc-windows-amd64-release permissions: @@ -1062,16 +962,14 @@ jobs: - bench - gradle-compatibility - java-executables-release - - pkl-cli-macOS-amd64-release - pkl-cli-linux-amd64-release - - pkl-cli-macOS-aarch64-release - pkl-cli-linux-aarch64-release + - pkl-cli-macOS-aarch64-release - pkl-cli-alpine-linux-amd64-release - pkl-cli-windows-amd64-release - - pkl-doc-macOS-amd64-release - pkl-doc-linux-amd64-release - - pkl-doc-macOS-aarch64-release - pkl-doc-linux-aarch64-release + - pkl-doc-macOS-aarch64-release - pkl-doc-alpine-linux-amd64-release - pkl-doc-windows-amd64-release - deploy-release diff --git a/DEVELOPMENT.adoc b/DEVELOPMENT.adoc index c4d03b0a..d9255938 100644 --- a/DEVELOPMENT.adoc +++ b/DEVELOPMENT.adoc @@ -53,7 +53,6 @@ gw pkl-cli:buildNative # build native executable for current platform pkl-cli/build/executable/jpkl # run Java executable pkl-cli/build/executable/pkl-macos-aarch64 # run Mac executable -pkl-cli/build/executable/pkl-macos-amd64 # run Intel Mac executable pkl-cli/build/executable/pkl-linux-amd64 # run Linux executable pkl-cli/build/executable/pkl-alpine-linux-amd64 # run Alpine Linux executable pkl-cli/build/executable/pkl-windows-amd64.exe # run Windows executable diff --git a/build-logic/src/main/kotlin/BuildInfo.kt b/build-logic/src/main/kotlin/BuildInfo.kt index 766f9a39..901e0b4b 100644 --- a/build-logic/src/main/kotlin/BuildInfo.kt +++ b/build-logic/src/main/kotlin/BuildInfo.kt @@ -24,6 +24,7 @@ import org.gradle.api.provider.Provider import org.gradle.api.tasks.TaskProvider import org.gradle.api.tasks.testing.Test import org.gradle.internal.extensions.stdlib.capitalized +import org.gradle.internal.os.OperatingSystem import org.gradle.jvm.toolchain.* import org.gradle.kotlin.dsl.* import org.gradle.kotlin.dsl.support.serviceOf @@ -70,31 +71,27 @@ const val PKL_TEST_ALL_JDKS = false // `buildInfo` in main build scripts // `project.extensions.getByType()` in precompiled script plugins open class BuildInfo(private val project: Project) { - inner class GraalVm(val arch: String) { + inner class GraalVm( + val osName: String, + val arch: String, + val version: String, + val graalJdkVersion: String, + ) { val homeDir: String by lazy { System.getenv("GRAALVM_HOME") ?: "${System.getProperty("user.home")}/.graalvm" } - - val version: String by lazy { libs.findVersion("graalVm").get().toString() } - val graalVmJdkVersion: String by lazy { libs.findVersion("graalVmJdkVersion").get().toString() } - val osName: String by lazy { - when { - os.isMacOsX -> "macos" - os.isLinux -> "linux" - os.isWindows -> "windows" - else -> throw RuntimeException("${os.familyName} is not supported.") - } - } - val baseName: String by lazy { "graalvm-community-jdk-${graalVmJdkVersion}_${osName}-${arch}_bin" } + val graalMajorVersion: String = graalJdkVersion.split(".").first() + val downloadUrl: String by lazy { - val extension = if (os.isWindows) "zip" else "tar.gz" - "https://github.com/graalvm/graalvm-ce-builds/releases/download/jdk-${graalVmJdkVersion}/$baseName.$extension" + val ext = if (os.isWindows) "zip" else "tar.gz" + val platformArch = if (arch == "amd64") "x64" else arch + "https://github.com/graalvm/graalvm-ce-builds/releases/download/graal-$version/graalvm-community-jdk-${graalMajorVersion}i1-${graalJdkVersion}_${osName}-${platformArch}_bin.$ext" } val downloadFile: File by lazy { @@ -131,9 +128,22 @@ open class BuildInfo(private val project: Project) { } } - val graalVmAarch64: GraalVm = GraalVm("aarch64") + val graalVmAarch64: GraalVm by lazy { createGraalVm("aarch64") } - val graalVmAmd64: GraalVm = GraalVm("x64") + val graalVmAmd64: GraalVm by lazy { createGraalVm("x64") } + + private fun createGraalVm(arch: String): GraalVm { + val osName = + when { + os.isMacOsX -> "macos" + os.isLinux -> "linux" + os.isWindows -> "windows" + else -> throw RuntimeException("Unsupported OS for GraalVM: ${os.canonicalName}") + } + val version = libs.findVersion("graalVm").get().toString() + val graalJdkVersion = libs.findVersion("graalVmJdkVersion").get().toString() + return GraalVm(osName, arch, version, graalJdkVersion) + } val isCiBuild: Boolean by lazy { System.getenv("CI") != null } @@ -368,9 +378,7 @@ open class BuildInfo(private val project: Project) { File(System.getProperty("user.home"), "staticdeps/bin/x86_64-linux-musl-gcc").exists() } - val os: org.gradle.internal.os.OperatingSystem by lazy { - org.gradle.internal.os.OperatingSystem.current() - } + val os: OperatingSystem by lazy { OperatingSystem.current() } // could be `commitId: Provider = project.provider { ... }` val commitId: String by lazy { @@ -425,3 +433,12 @@ open class BuildInfo(private val project: Project) { // Shape of a function which is applied to configure multi-JDK testing. private typealias MultiJdkTestConfigurator = Test.(Pair>) -> Unit + +private val OperatingSystem.canonicalName + get() = + when { + isMacOsX -> "macos" + isWindows -> "windows" + isLinux -> "linux" + else -> throw RuntimeException("Unsupported OS: $name") + } diff --git a/build-logic/src/main/kotlin/pklNativeExecutable.gradle.kts b/build-logic/src/main/kotlin/pklNativeExecutable.gradle.kts index 6229a7b0..99e5a289 100644 --- a/build-logic/src/main/kotlin/pklNativeExecutable.gradle.kts +++ b/build-logic/src/main/kotlin/pklNativeExecutable.gradle.kts @@ -30,7 +30,6 @@ plugins { val executableSpec = project.extensions.getByType() val buildInfo = project.extensions.getByType() -val stagedMacAmd64Executable: Configuration = configurations.create("stagedMacAmd64Executable") val stagedMacAarch64Executable: Configuration = configurations.create("stagedMacAarch64Executable") val stagedLinuxAmd64Executable: Configuration = configurations.create("stagedLinuxAmd64Executable") val stagedLinuxAarch64Executable: Configuration = @@ -64,7 +63,6 @@ dependencies { nativeImageClasspath(libs.graalSdk) stagedMacAarch64Executable(executableFile("macos-aarch64")) - stagedMacAmd64Executable(executableFile("macos-amd64")) stagedLinuxAmd64Executable(executableFile("linux-amd64")) stagedLinuxAarch64Executable(executableFile("linux-aarch64")) stagedAlpineLinuxAmd64Executable(executableFile("alpine-linux-amd64")) @@ -89,14 +87,6 @@ private fun NativeImageBuild.setClasspath() { classpath.from(nativeImageClasspath) } -val macExecutableAmd64 = - tasks.register("macExecutableAmd64") { - imageName = executableSpec.name.map { "$it-macos-amd64" } - mainClass = executableSpec.mainClass - amd64() - setClasspath() - } - val macExecutableAarch64 = tasks.register("macExecutableAarch64") { imageName = executableSpec.name.map { "$it-macos-aarch64" } @@ -214,8 +204,6 @@ val testNative = tasks.named("testNative") { dependsOn(testStartNativeExecutable val assembleNativeMacOsAarch64 = tasks.named("assembleNativeMacOsAarch64") { wraps(macExecutableAarch64) } -val assembleNativeMacOsAmd64 = tasks.named("assembleNativeMacOsAmd64") { wraps(macExecutableAmd64) } - val assembleNativeLinuxAarch64 = tasks.named("assembleNativeLinuxAarch64") { wraps(linuxExecutableAarch64) } @@ -232,23 +220,6 @@ publishing { publications { // need to put in `afterEvaluate` because `artifactId` cannot be set lazily. project.afterEvaluate { - create("macExecutableAmd64") { - artifactId = "${executableSpec.publicationName.get()}-macos-amd64" - artifact(stagedMacAmd64Executable.singleFile) { - classifier = null - extension = "bin" - builtBy(stagedMacAmd64Executable) - } - pom { - name = "${executableSpec.publicationName.get()}-macos-amd64" - url = executableSpec.website - description = - executableSpec.documentationName.map { name -> - "Native $name executable for macOS/amd64." - } - } - } - create("macExecutableAarch64") { artifactId = "${executableSpec.publicationName.get()}-macos-aarch64" artifact(stagedMacAarch64Executable.singleFile) { @@ -342,7 +313,6 @@ signing { sign(publishing.publications["linuxExecutableAarch64"]) sign(publishing.publications["linuxExecutableAmd64"]) sign(publishing.publications["macExecutableAarch64"]) - sign(publishing.publications["macExecutableAmd64"]) sign(publishing.publications["alpineLinuxExecutableAmd64"]) sign(publishing.publications["windowsExecutableAmd64"]) } diff --git a/build-logic/src/main/kotlin/pklNativeLifecycle.gradle.kts b/build-logic/src/main/kotlin/pklNativeLifecycle.gradle.kts index 5aa10dac..db469948 100644 --- a/build-logic/src/main/kotlin/pklNativeLifecycle.gradle.kts +++ b/build-logic/src/main/kotlin/pklNativeLifecycle.gradle.kts @@ -15,8 +15,6 @@ */ val assembleNativeMacOsAarch64 = tasks.register("assembleNativeMacOsAarch64") { group = "build" } -val assembleNativeMacOsAmd64 = tasks.register("assembleNativeMacOsAmd64") { group = "build" } - val assembleNativeLinuxAarch64 = tasks.register("assembleNativeLinuxAarch64") { group = "build" } val assembleNativeLinuxAmd64 = tasks.register("assembleNativeLinuxAmd64") { group = "build" } @@ -28,8 +26,6 @@ val assembleNativeWindowsAmd64 = tasks.register("assembleNativeWindowsAmd64") { val testNativeMacOsAarch64 = tasks.register("testNativeMacOsAarch64") { group = "verification" } -val testNativeMacOsAmd64 = tasks.register("testNativeMacOsAmd64") { group = "verification" } - val testNativeLinuxAarch64 = tasks.register("testNativeLinuxAarch64") { group = "verification" } val testNativeLinuxAmd64 = tasks.register("testNativeLinuxAmd64") { group = "verification" } @@ -58,9 +54,6 @@ val assembleNative = buildInfo.os.isMacOsX && buildInfo.targetArch == "aarch64" -> { wraps(assembleNativeMacOsAarch64) } - buildInfo.os.isMacOsX && buildInfo.targetArch == "amd64" -> { - wraps(assembleNativeMacOsAmd64) - } buildInfo.os.isLinux && buildInfo.targetArch == "aarch64" -> { wraps(assembleNativeLinuxAarch64) } @@ -94,9 +87,6 @@ val testNative = buildInfo.os.isMacOsX && buildInfo.targetArch == "aarch64" -> { dependsOn(testNativeMacOsAarch64) } - buildInfo.os.isMacOsX && buildInfo.targetArch == "amd64" -> { - dependsOn(testNativeMacOsAmd64) - } buildInfo.os.isLinux && buildInfo.targetArch == "aarch64" -> { dependsOn(testNativeLinuxAarch64) } diff --git a/docs/modules/pkl-cli/pages/index.adoc b/docs/modules/pkl-cli/pages/index.adoc index 6161614b..94e5aa1f 100644 --- a/docs/modules/pkl-cli/pages/index.adoc +++ b/docs/modules/pkl-cli/pages/index.adoc @@ -4,7 +4,6 @@ include::ROOT:partial$component-attributes.adoc[] :uri-mise: https://mise.jdx.dev :uri-winget: https://learn.microsoft.com/en-us/windows/package-manager/ -:uri-pkl-macos-amd64-download: {uri-sonatype-snapshot-download}&a=pkl-cli-macos-amd64&e=bin :uri-pkl-macos-aarch64-download: {uri-sonatype-snapshot-download}&a=pkl-cli-macos-aarch64&e=bin :uri-pkl-linux-amd64-download: {uri-sonatype-snapshot-download}&a=pkl-cli-linux-amd64&e=bin :uri-pkl-linux-aarch64-download: {uri-sonatype-snapshot-download}&a=pkl-cli-linux-aarch64&e=bin @@ -13,7 +12,6 @@ include::ROOT:partial$component-attributes.adoc[] :uri-pkl-java-download: {uri-sonatype-snapshot-download}&a=pkl-cli-java&e=jar ifdef::is-release-version[] -:uri-pkl-macos-amd64-download: {github-releases}/pkl-macos-amd64 :uri-pkl-macos-aarch64-download: {github-releases}/pkl-macos-aarch64 :uri-pkl-linux-amd64-download: {github-releases}/pkl-linux-amd64 :uri-pkl-linux-aarch64-download: {github-releases}/pkl-linux-aarch64 @@ -36,7 +34,7 @@ For interactive development, the CLI includes a Read-Eval-Print Loop (REPL). The CLI comes in multiple flavors: -* Native macOS executable for amd64 (tested on macOS 10.15) +* Native macOS executable for aarch64 (tested on macOS 10.15) * Native Linux executable for amd64 * Native Linux executable for aarch64 * Native Alpine Linux executable for amd64 (cross-compiled and tested on Oracle Linux 8) @@ -140,8 +138,6 @@ Development and release versions can be downloaded and installed manually. === macOS Executable -On aarch64: - [source,shell] [subs="+attributes"] ---- @@ -150,16 +146,6 @@ chmod +x pkl ./pkl --version ---- -On amd64: - -[source,shell] -[subs="+attributes"] ----- -curl -L -o pkl '{uri-pkl-macos-amd64-download}' -chmod +x pkl -./pkl --version ----- - This should print something similar to: [source] diff --git a/docs/modules/pkl-doc/pages/index.adoc b/docs/modules/pkl-doc/pages/index.adoc index f645f8b4..af67cbba 100644 --- a/docs/modules/pkl-doc/pages/index.adoc +++ b/docs/modules/pkl-doc/pages/index.adoc @@ -5,7 +5,6 @@ include::ROOT:partial$component-attributes.adoc[] :uri-DocPackageInfo: {uri-pkl-stdlib-docs}/DocPackageInfo/ :uri-CliDocGenerator: {uri-pkl-doc-main-sources}/CliDocGenerator.kt :uri-DocGenerator: {uri-pkl-doc-main-sources}/DocGenerator.kt -:uri-pkldoc-macos-amd64-download: {uri-sonatype-snapshot-download}&a=pkldoc-macos-amd64&e=bin :uri-pkldoc-macos-aarch64-download: {uri-sonatype-snapshot-download}&a=pkldoc-macos-aarch64&e=bin :uri-pkldoc-linux-amd64-download: {uri-sonatype-snapshot-download}&a=pkldoc-linux-amd64&e=bin :uri-pkldoc-linux-aarch64-download: {uri-sonatype-snapshot-download}&a=pkldoc-linux-aarch64&e=bin @@ -14,7 +13,6 @@ include::ROOT:partial$component-attributes.adoc[] :uri-pkldoc-java-download: {uri-sonatype-snapshot-download}&a=pkldoc-java&e=jar ifdef::is-release-version[] -:uri-pkldoc-macos-amd64-download: {github-releases}/pkldoc-macos-amd64 :uri-pkldoc-macos-aarch64-download: {github-releases}/pkldoc-macos-aarch64 :uri-pkldoc-linux-amd64-download: {github-releases}/pkldoc-linux-amd64 :uri-pkldoc-linux-aarch64-download: {github-releases}/pkldoc-linux-aarch64 @@ -172,7 +170,7 @@ endif::[] The CLI comes in multiple flavors: -* Native macOS executable for amd64 (tested on macOS 10.15) +* Native macOS executable for aarch64 (tested on macOS 10.15) * Native Linux executable for amd64 * Native Linux executable for aarch64 * Native Alpine Linux executable for amd64 (cross-compiled and tested on Oracle Linux 8) @@ -192,7 +190,6 @@ However, it requires a Java 17 (or higher) runtime on the system path, and has a Download links: * macOS aarch64: {uri-pkldoc-macos-aarch64-download} -* macOS amd64: {uri-pkldoc-macos-amd64-download} * Linux aarch64: {uri-pkldoc-linux-aarch64-download} * Linux amd64: {uri-pkldoc-linux-amd64-download} * Alpine Linux amd64: {uri-pkldoc-alpine-download} diff --git a/docs/modules/release-notes/pages/0.33.adoc b/docs/modules/release-notes/pages/0.33.adoc index ebd9f7b3..c662a7a1 100644 --- a/docs/modules/release-notes/pages/0.33.adoc +++ b/docs/modules/release-notes/pages/0.33.adoc @@ -17,6 +17,12 @@ include::partial$intro.adoc[] == Breaking Changes [small]#💔# +=== Removal of macOS amd64 (Intel) Binaries + +Native `pkl` and `pkldoc` binaries for Intel Mac systems are no longer published with Pkl releases. + +To continue running new Pkl releases on these systems, use an appropriate Java runtime and the `jpkl` and `jpkldoc` Java executables. + === XXX == Bug Fixes [small]#🐜# diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index e164ce37..4373b994 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -10,21 +10,20 @@ errorPronePlugin = "5.1.0" geantyref = "2.0.1" #noinspection UnusedVersionCatalogEntry googleJavaFormat = "1.35.0" -# 25.0.2 no longer supports macos-x64 -graalVm = "25.0.1" -#noinspection UnusedVersionCatalogEntry -graalVmJdkVersion = "25.0.1" +graalVm = "25.1.3" +graalVmJdkVersion = "25.0.3" # slightly hacky but convenient place so we remember to update the checksum +# pklGraalVm.gradle.kts assumes this entry exists #noinspection UnusedVersionCatalogEntry -graalVmSha256-macos-x64 = "a3d895b4cd1c783badbd277ec70409806bd4102fca0d2a60dbaeb0bab41aec30" +graalVmSha256-macos-x64 = "unavailable" #noinspection UnusedVersionCatalogEntry -graalVmSha256-macos-aarch64 = "066339f24a8ab5c161548491a9400f7344e7761a1e46f8979e76c7ef11d5bc76" +graalVmSha256-macos-aarch64 = "b41cdde27691a0e04a1f2b0660624bc37e59c738e536888860c4c9f65a4a9a3b" #noinspection UnusedVersionCatalogEntry -graalVmSha256-linux-x64 = "01e39fe1a87f28b842a3e4e3b77be9b544dca3a58fa6e93b924a6106c8bac7fb" +graalVmSha256-linux-x64 = "e9cd1637be853e105f8b09125b4b19fbce385696465d782cbca8bb80e1df8f0d" #noinspection UnusedVersionCatalogEntry -graalVmSha256-linux-aarch64 = "7aa0b9935a80e67f37c6025678393dbd123bb6f2226811decbc1a13093fc8ae2" +graalVmSha256-linux-aarch64 = "5e79978983439d28506ebef82254fe9f98995121208dc8be77c604f4ad5bc579" #noinspection UnusedVersionCatalogEntry -graalVmSha256-windows-x64 = "fde83c5ceec2c75560c747ccd9f314f90e4cf5c5287416e67c4ce442e344ca27" +graalVmSha256-windows-x64 = "96f1e7a9674b5b5751224104ff0c4624f15f9522b190d960a041cab72c381393" # pklGraalVm.gradle.kts assumes this entry exists #noinspection UnusedVersionCatalogEntry graalVmSha256-windows-aarch64 = "unavailable" @@ -117,10 +116,10 @@ slf4jApi = { group = "org.slf4j", name = "slf4j-api", version.ref = "slf4j" } slf4jSimple = { group = "org.slf4j", name = "slf4j-simple", version.ref = "slf4j" } snakeYaml = { group = "org.snakeyaml", name = "snakeyaml-engine", version.ref = "snakeYaml" } spotlessPlugin = { group = "com.diffplug.spotless", name = "spotless-plugin-gradle", version.ref = "spotlessPlugin"} -svm = { group = "org.graalvm.nativeimage", name = "svm", version.ref = "graalVm" } +svm = { group = "org.graalvm.nativeimage", name = "svm", version.ref = "graalVmJdkVersion" } truffleApi = { group = "org.graalvm.truffle", name = "truffle-api", version.ref = "graalVm" } truffleDslProcessor = { group = "org.graalvm.truffle", name = "truffle-dsl-processor", version.ref = "graalVm" } -truffleSvm = { group = "org.graalvm.nativeimage", name = "truffle-runtime-svm", version.ref = "graalVm" } +truffleSvm = { group = "org.graalvm.nativeimage", name = "truffle-runtime-svm", version.ref = "graalVmJdkVersion" } truffleRuntime = { group = "org.graalvm.truffle", name = "truffle-runtime", version.ref = "graalVm" } wiremock = { group = "org.wiremock", name = "wiremock", version.ref = "wiremock" } diff --git a/pkl-commons-test/src/main/kotlin/org/pkl/commons/test/Executables.kt b/pkl-commons-test/src/main/kotlin/org/pkl/commons/test/Executables.kt index 225c30dc..19bf324b 100644 --- a/pkl-commons-test/src/main/kotlin/org/pkl/commons/test/Executables.kt +++ b/pkl-commons-test/src/main/kotlin/org/pkl/commons/test/Executables.kt @@ -1,5 +1,5 @@ /* - * Copyright © 2024-2025 Apple Inc. and the Pkl project authors. All rights reserved. + * Copyright © 2024-2026 Apple Inc. and the Pkl project authors. All rights reserved. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -57,7 +57,6 @@ object Executables { object pkl : ExecutablePaths("pkl-cli") { val macAarch64: Path = executable("pkl-macos-aarch64") - val macAmd64: Path = executable("pkl-macos-amd64") val linuxAarch64: Path = executable("pkl-linux-aarch64") val linuxAmd64: Path = executable("pkl-linux-amd64") val alpineAmd64: Path = executable("pkl-alpine-linux-amd64") @@ -65,12 +64,11 @@ object Executables { // order (aarch64 before amd64, linux before alpine) affects [firstExisting] override val allNative: List = - listOf(macAarch64, macAmd64, linuxAarch64, linuxAmd64, alpineAmd64, windowsAmd64) + listOf(macAarch64, linuxAarch64, linuxAmd64, alpineAmd64, windowsAmd64) } object pkldoc : ExecutablePaths("pkl-doc") { val macAarch64: Path = executable("pkldoc-macos-aarch64") - val macAmd64: Path = executable("pkldoc-macos-amd64") val linuxAarch64: Path = executable("pkldoc-linux-aarch64") val linuxAmd64: Path = executable("pkldoc-linux-amd64") val alpineAmd64: Path = executable("pkldoc-alpine-linux-amd64") @@ -80,6 +78,6 @@ object Executables { // order (aarch64 before amd64, linux before alpine) affects [firstExisting] override val allNative: List = - listOf(macAarch64, macAmd64, linuxAarch64, linuxAmd64, alpineAmd64, windowsAmd64) + listOf(macAarch64, linuxAarch64, linuxAmd64, alpineAmd64, windowsAmd64) } } diff --git a/pkl-core/pkl-core.gradle.kts b/pkl-core/pkl-core.gradle.kts index 50aabe4a..3cceb605 100644 --- a/pkl-core/pkl-core.gradle.kts +++ b/pkl-core/pkl-core.gradle.kts @@ -178,7 +178,6 @@ tasks.test { .joinToString(File.pathSeparator), ) useJUnitPlatform { - excludeEngines("MacAmd64LanguageSnippetTestsEngine") excludeEngines("MacAarch64LanguageSnippetTestsEngine") excludeEngines("LinuxAmd64LanguageSnippetTestsEngine") excludeEngines("LinuxAarch64LanguageSnippetTestsEngine") @@ -247,12 +246,6 @@ val testJavaExecutable by tasks.check { dependsOn(testJavaExecutable) } -val testMacExecutableAmd64 by - tasks.registering(Test::class) { - dependsOn(":pkl-cli:macExecutableAmd64") - configureExecutableTest("MacAmd64LanguageSnippetTestsEngine") - } - val testMacExecutableAarch64 by tasks.registering(Test::class) { dependsOn(":pkl-cli:macExecutableAarch64") @@ -285,8 +278,6 @@ val testWindowsExecutableAmd64 by tasks.testNativeMacOsAarch64 { dependsOn(testMacExecutableAarch64) } -tasks.testNativeMacOsAmd64 { dependsOn(testMacExecutableAmd64) } - tasks.testNativeLinuxAarch64 { dependsOn(testLinuxExecutableAarch64) } tasks.testNativeLinuxAmd64 { dependsOn(testLinuxExecutableAmd64) } diff --git a/pkl-core/src/test/kotlin/org/pkl/core/LanguageSnippetTestsEngine.kt b/pkl-core/src/test/kotlin/org/pkl/core/LanguageSnippetTestsEngine.kt index 3d7ff090..d79de170 100644 --- a/pkl-core/src/test/kotlin/org/pkl/core/LanguageSnippetTestsEngine.kt +++ b/pkl-core/src/test/kotlin/org/pkl/core/LanguageSnippetTestsEngine.kt @@ -315,11 +315,6 @@ abstract class AbstractNativeLanguageSnippetTestsEngine : AbstractLanguageSnippe } } -class MacAmd64LanguageSnippetTestsEngine : AbstractNativeLanguageSnippetTestsEngine() { - override val pklExecutablePath: Path = Executables.pkl.macAmd64 - override val testClass: KClass<*> = MacLanguageSnippetTests::class -} - class MacAarch64LanguageSnippetTestsEngine : AbstractNativeLanguageSnippetTestsEngine() { override val pklExecutablePath: Path = Executables.pkl.macAarch64 override val testClass: KClass<*> = MacLanguageSnippetTests::class diff --git a/pkl-core/src/test/resources/META-INF/services/org.junit.platform.engine.TestEngine b/pkl-core/src/test/resources/META-INF/services/org.junit.platform.engine.TestEngine index 9912afb4..f2c0b3bc 100644 --- a/pkl-core/src/test/resources/META-INF/services/org.junit.platform.engine.TestEngine +++ b/pkl-core/src/test/resources/META-INF/services/org.junit.platform.engine.TestEngine @@ -1,5 +1,4 @@ org.pkl.core.LanguageSnippetTestsEngine -org.pkl.core.MacAmd64LanguageSnippetTestsEngine org.pkl.core.MacAarch64LanguageSnippetTestsEngine org.pkl.core.LinuxAmd64LanguageSnippetTestsEngine org.pkl.core.LinuxAarch64LanguageSnippetTestsEngine diff --git a/pkl-server/pkl-server.gradle.kts b/pkl-server/pkl-server.gradle.kts index 0ff82248..f8221dde 100644 --- a/pkl-server/pkl-server.gradle.kts +++ b/pkl-server/pkl-server.gradle.kts @@ -42,12 +42,6 @@ val testMacExecutableAarch64 = configureNativeTest() } -val testMacExecutableAmd64 = - tasks.register("testMacExecutableAmd64") { - dependsOn(":pkl-cli:macExecutableAmd64") - configureNativeTest() - } - val testLinuxExecutableAmd64 = tasks.register("testLinuxExecutableAmd64") { dependsOn(":pkl-cli:linuxExecutableAmd64") @@ -74,8 +68,6 @@ val testWindowsExecutableAmd64 = tasks.testNativeMacOsAarch64 { dependsOn(testMacExecutableAarch64) } -tasks.testNativeMacOsAmd64 { dependsOn(testMacExecutableAmd64) } - tasks.testNativeLinuxAarch64 { dependsOn(testLinuxExecutableAarch64) } tasks.testNativeLinuxAmd64 { dependsOn(testLinuxExecutableAmd64) }