mirror of
https://github.com/apple/pkl.git
synced 2026-04-21 07:51:35 +02:00
Download JDK for windows build (#851)
Don't use the system Java on Windows builds, instead download them from Adoptium. Also: * Fail job if curl returns a 4xx status code * Add java version to `GradleJob`
This commit is contained in:
@@ -108,10 +108,12 @@ local gradleCheckJobs: Mapping<String, GradleCheckJob> = new {
|
|||||||
["gradle-check-jdk17"] {
|
["gradle-check-jdk17"] {
|
||||||
javaVersion = "17.0"
|
javaVersion = "17.0"
|
||||||
isRelease = false
|
isRelease = false
|
||||||
|
os = "linux"
|
||||||
}
|
}
|
||||||
["gradle-check-jdk21"] {
|
["gradle-check-jdk21"] {
|
||||||
javaVersion = "21.0"
|
javaVersion = "21.0"
|
||||||
isRelease = false
|
isRelease = false
|
||||||
|
os = "linux"
|
||||||
}
|
}
|
||||||
["gradle-check-jdk17-windows"] {
|
["gradle-check-jdk17-windows"] {
|
||||||
javaVersion = "17.0"
|
javaVersion = "17.0"
|
||||||
|
|||||||
@@ -39,7 +39,7 @@ jobs:
|
|||||||
&& rm -rf /var/cache/dnf
|
&& rm -rf /var/cache/dnf
|
||||||
|
|
||||||
# install jdk
|
# install jdk
|
||||||
curl -L \
|
curl -Lf \
|
||||||
https://github.com/adoptium/temurin17-binaries/releases/download/jdk-17.0.9%2B9/OpenJDK17U-jdk_x64_linux_hotspot_17.0.9_9.tar.gz -o /tmp/jdk.tar.gz
|
https://github.com/adoptium/temurin17-binaries/releases/download/jdk-17.0.9%2B9/OpenJDK17U-jdk_x64_linux_hotspot_17.0.9_9.tar.gz -o /tmp/jdk.tar.gz
|
||||||
|
|
||||||
mkdir /jdk \
|
mkdir /jdk \
|
||||||
@@ -52,7 +52,7 @@ jobs:
|
|||||||
|
|
||||||
# install zlib
|
# install zlib
|
||||||
if [[ ! -f ~/staticdeps/include/zlib.h ]]; then
|
if [[ ! -f ~/staticdeps/include/zlib.h ]]; then
|
||||||
curl -L https://github.com/madler/zlib/releases/download/v1.2.13/zlib-1.2.13.tar.gz -o /tmp/zlib.tar.gz
|
curl -Lf https://github.com/madler/zlib/releases/download/v1.2.13/zlib-1.2.13.tar.gz -o /tmp/zlib.tar.gz
|
||||||
|
|
||||||
mkdir -p /tmp/dep_zlib-1.2.13 \
|
mkdir -p /tmp/dep_zlib-1.2.13 \
|
||||||
&& cd /tmp/dep_zlib-1.2.13 \
|
&& cd /tmp/dep_zlib-1.2.13 \
|
||||||
@@ -65,7 +65,7 @@ jobs:
|
|||||||
|
|
||||||
# install musl
|
# install musl
|
||||||
if [[ ! -f ~/staticdeps/bin/x86_64-linux-musl-gcc ]]; then
|
if [[ ! -f ~/staticdeps/bin/x86_64-linux-musl-gcc ]]; then
|
||||||
curl -L https://musl.libc.org/releases/musl-1.2.2.tar.gz -o /tmp/musl.tar.gz
|
curl -Lf https://musl.libc.org/releases/musl-1.2.2.tar.gz -o /tmp/musl.tar.gz
|
||||||
|
|
||||||
mkdir -p /tmp/dep_musl-1.2.2 \
|
mkdir -p /tmp/dep_musl-1.2.2 \
|
||||||
&& cd /tmp/dep_musl-1.2.2 \
|
&& cd /tmp/dep_musl-1.2.2 \
|
||||||
@@ -135,7 +135,7 @@ jobs:
|
|||||||
&& rm -rf /var/cache/dnf
|
&& rm -rf /var/cache/dnf
|
||||||
|
|
||||||
# install jdk
|
# install jdk
|
||||||
curl -L \
|
curl -Lf \
|
||||||
https://github.com/adoptium/temurin17-binaries/releases/download/jdk-17.0.9%2B9/OpenJDK17U-jdk_aarch64_linux_hotspot_17.0.9_9.tar.gz -o /tmp/jdk.tar.gz
|
https://github.com/adoptium/temurin17-binaries/releases/download/jdk-17.0.9%2B9/OpenJDK17U-jdk_aarch64_linux_hotspot_17.0.9_9.tar.gz -o /tmp/jdk.tar.gz
|
||||||
|
|
||||||
mkdir /jdk \
|
mkdir /jdk \
|
||||||
@@ -148,7 +148,7 @@ jobs:
|
|||||||
|
|
||||||
# install zlib
|
# install zlib
|
||||||
if [[ ! -f ~/staticdeps/include/zlib.h ]]; then
|
if [[ ! -f ~/staticdeps/include/zlib.h ]]; then
|
||||||
curl -L https://github.com/madler/zlib/releases/download/v1.2.13/zlib-1.2.13.tar.gz -o /tmp/zlib.tar.gz
|
curl -Lf https://github.com/madler/zlib/releases/download/v1.2.13/zlib-1.2.13.tar.gz -o /tmp/zlib.tar.gz
|
||||||
|
|
||||||
mkdir -p /tmp/dep_zlib-1.2.13 \
|
mkdir -p /tmp/dep_zlib-1.2.13 \
|
||||||
&& cd /tmp/dep_zlib-1.2.13 \
|
&& cd /tmp/dep_zlib-1.2.13 \
|
||||||
@@ -196,7 +196,7 @@ jobs:
|
|||||||
&& rm -rf /var/cache/dnf
|
&& rm -rf /var/cache/dnf
|
||||||
|
|
||||||
# install jdk
|
# install jdk
|
||||||
curl -L \
|
curl -Lf \
|
||||||
https://github.com/adoptium/temurin17-binaries/releases/download/jdk-17.0.9%2B9/OpenJDK17U-jdk_x64_linux_hotspot_17.0.9_9.tar.gz -o /tmp/jdk.tar.gz
|
https://github.com/adoptium/temurin17-binaries/releases/download/jdk-17.0.9%2B9/OpenJDK17U-jdk_x64_linux_hotspot_17.0.9_9.tar.gz -o /tmp/jdk.tar.gz
|
||||||
|
|
||||||
mkdir /jdk \
|
mkdir /jdk \
|
||||||
@@ -209,7 +209,7 @@ jobs:
|
|||||||
|
|
||||||
# install zlib
|
# install zlib
|
||||||
if [[ ! -f ~/staticdeps/include/zlib.h ]]; then
|
if [[ ! -f ~/staticdeps/include/zlib.h ]]; then
|
||||||
curl -L https://github.com/madler/zlib/releases/download/v1.2.13/zlib-1.2.13.tar.gz -o /tmp/zlib.tar.gz
|
curl -Lf https://github.com/madler/zlib/releases/download/v1.2.13/zlib-1.2.13.tar.gz -o /tmp/zlib.tar.gz
|
||||||
|
|
||||||
mkdir -p /tmp/dep_zlib-1.2.13 \
|
mkdir -p /tmp/dep_zlib-1.2.13 \
|
||||||
&& cd /tmp/dep_zlib-1.2.13 \
|
&& cd /tmp/dep_zlib-1.2.13 \
|
||||||
@@ -222,7 +222,7 @@ jobs:
|
|||||||
|
|
||||||
# install musl
|
# install musl
|
||||||
if [[ ! -f ~/staticdeps/bin/x86_64-linux-musl-gcc ]]; then
|
if [[ ! -f ~/staticdeps/bin/x86_64-linux-musl-gcc ]]; then
|
||||||
curl -L https://musl.libc.org/releases/musl-1.2.2.tar.gz -o /tmp/musl.tar.gz
|
curl -Lf https://musl.libc.org/releases/musl-1.2.2.tar.gz -o /tmp/musl.tar.gz
|
||||||
|
|
||||||
mkdir -p /tmp/dep_musl-1.2.2 \
|
mkdir -p /tmp/dep_musl-1.2.2 \
|
||||||
&& cd /tmp/dep_musl-1.2.2 \
|
&& cd /tmp/dep_musl-1.2.2 \
|
||||||
@@ -262,6 +262,18 @@ jobs:
|
|||||||
pkl-cli-windows-amd64-release:
|
pkl-cli-windows-amd64-release:
|
||||||
steps:
|
steps:
|
||||||
- checkout
|
- checkout
|
||||||
|
- run:
|
||||||
|
command: |-
|
||||||
|
# install jdk
|
||||||
|
curl -Lf \
|
||||||
|
https://github.com/adoptium/temurin17-binaries/releases/download/jdk-17.0.9%2B9.1/OpenJDK17U-jdk_x64_windows_hotspot_17.0.9_9.zip -o /tmp/jdk.zip
|
||||||
|
|
||||||
|
unzip /tmp/jdk.zip -d /tmp/jdk \
|
||||||
|
&& cd /tmp/jdk/jdk-* \
|
||||||
|
&& mkdir /jdk \
|
||||||
|
&& cp -r . /jdk
|
||||||
|
name: Set up environment
|
||||||
|
shell: bash.exe
|
||||||
- run:
|
- run:
|
||||||
command: |-
|
command: |-
|
||||||
export PATH=~/staticdeps/bin:$PATH
|
export PATH=~/staticdeps/bin:$PATH
|
||||||
@@ -276,6 +288,7 @@ jobs:
|
|||||||
path: ~/test-results
|
path: ~/test-results
|
||||||
environment:
|
environment:
|
||||||
LANG: en_US.UTF-8
|
LANG: en_US.UTF-8
|
||||||
|
JAVA_HOME: /jdk
|
||||||
resource_class: windows.large
|
resource_class: windows.large
|
||||||
machine:
|
machine:
|
||||||
image: windows-server-2022-gui:current
|
image: windows-server-2022-gui:current
|
||||||
@@ -315,7 +328,7 @@ jobs:
|
|||||||
&& rm -rf /var/cache/dnf
|
&& rm -rf /var/cache/dnf
|
||||||
|
|
||||||
# install jdk
|
# install jdk
|
||||||
curl -L \
|
curl -Lf \
|
||||||
https://github.com/adoptium/temurin17-binaries/releases/download/jdk-17.0.9%2B9/OpenJDK17U-jdk_x64_linux_hotspot_17.0.9_9.tar.gz -o /tmp/jdk.tar.gz
|
https://github.com/adoptium/temurin17-binaries/releases/download/jdk-17.0.9%2B9/OpenJDK17U-jdk_x64_linux_hotspot_17.0.9_9.tar.gz -o /tmp/jdk.tar.gz
|
||||||
|
|
||||||
mkdir /jdk \
|
mkdir /jdk \
|
||||||
@@ -328,7 +341,7 @@ jobs:
|
|||||||
|
|
||||||
# install zlib
|
# install zlib
|
||||||
if [[ ! -f ~/staticdeps/include/zlib.h ]]; then
|
if [[ ! -f ~/staticdeps/include/zlib.h ]]; then
|
||||||
curl -L https://github.com/madler/zlib/releases/download/v1.2.13/zlib-1.2.13.tar.gz -o /tmp/zlib.tar.gz
|
curl -Lf https://github.com/madler/zlib/releases/download/v1.2.13/zlib-1.2.13.tar.gz -o /tmp/zlib.tar.gz
|
||||||
|
|
||||||
mkdir -p /tmp/dep_zlib-1.2.13 \
|
mkdir -p /tmp/dep_zlib-1.2.13 \
|
||||||
&& cd /tmp/dep_zlib-1.2.13 \
|
&& cd /tmp/dep_zlib-1.2.13 \
|
||||||
@@ -341,7 +354,7 @@ jobs:
|
|||||||
|
|
||||||
# install musl
|
# install musl
|
||||||
if [[ ! -f ~/staticdeps/bin/x86_64-linux-musl-gcc ]]; then
|
if [[ ! -f ~/staticdeps/bin/x86_64-linux-musl-gcc ]]; then
|
||||||
curl -L https://musl.libc.org/releases/musl-1.2.2.tar.gz -o /tmp/musl.tar.gz
|
curl -Lf https://musl.libc.org/releases/musl-1.2.2.tar.gz -o /tmp/musl.tar.gz
|
||||||
|
|
||||||
mkdir -p /tmp/dep_musl-1.2.2 \
|
mkdir -p /tmp/dep_musl-1.2.2 \
|
||||||
&& cd /tmp/dep_musl-1.2.2 \
|
&& cd /tmp/dep_musl-1.2.2 \
|
||||||
@@ -411,7 +424,7 @@ jobs:
|
|||||||
&& rm -rf /var/cache/dnf
|
&& rm -rf /var/cache/dnf
|
||||||
|
|
||||||
# install jdk
|
# install jdk
|
||||||
curl -L \
|
curl -Lf \
|
||||||
https://github.com/adoptium/temurin17-binaries/releases/download/jdk-17.0.9%2B9/OpenJDK17U-jdk_aarch64_linux_hotspot_17.0.9_9.tar.gz -o /tmp/jdk.tar.gz
|
https://github.com/adoptium/temurin17-binaries/releases/download/jdk-17.0.9%2B9/OpenJDK17U-jdk_aarch64_linux_hotspot_17.0.9_9.tar.gz -o /tmp/jdk.tar.gz
|
||||||
|
|
||||||
mkdir /jdk \
|
mkdir /jdk \
|
||||||
@@ -424,7 +437,7 @@ jobs:
|
|||||||
|
|
||||||
# install zlib
|
# install zlib
|
||||||
if [[ ! -f ~/staticdeps/include/zlib.h ]]; then
|
if [[ ! -f ~/staticdeps/include/zlib.h ]]; then
|
||||||
curl -L https://github.com/madler/zlib/releases/download/v1.2.13/zlib-1.2.13.tar.gz -o /tmp/zlib.tar.gz
|
curl -Lf https://github.com/madler/zlib/releases/download/v1.2.13/zlib-1.2.13.tar.gz -o /tmp/zlib.tar.gz
|
||||||
|
|
||||||
mkdir -p /tmp/dep_zlib-1.2.13 \
|
mkdir -p /tmp/dep_zlib-1.2.13 \
|
||||||
&& cd /tmp/dep_zlib-1.2.13 \
|
&& cd /tmp/dep_zlib-1.2.13 \
|
||||||
@@ -472,7 +485,7 @@ jobs:
|
|||||||
&& rm -rf /var/cache/dnf
|
&& rm -rf /var/cache/dnf
|
||||||
|
|
||||||
# install jdk
|
# install jdk
|
||||||
curl -L \
|
curl -Lf \
|
||||||
https://github.com/adoptium/temurin17-binaries/releases/download/jdk-17.0.9%2B9/OpenJDK17U-jdk_x64_linux_hotspot_17.0.9_9.tar.gz -o /tmp/jdk.tar.gz
|
https://github.com/adoptium/temurin17-binaries/releases/download/jdk-17.0.9%2B9/OpenJDK17U-jdk_x64_linux_hotspot_17.0.9_9.tar.gz -o /tmp/jdk.tar.gz
|
||||||
|
|
||||||
mkdir /jdk \
|
mkdir /jdk \
|
||||||
@@ -485,7 +498,7 @@ jobs:
|
|||||||
|
|
||||||
# install zlib
|
# install zlib
|
||||||
if [[ ! -f ~/staticdeps/include/zlib.h ]]; then
|
if [[ ! -f ~/staticdeps/include/zlib.h ]]; then
|
||||||
curl -L https://github.com/madler/zlib/releases/download/v1.2.13/zlib-1.2.13.tar.gz -o /tmp/zlib.tar.gz
|
curl -Lf https://github.com/madler/zlib/releases/download/v1.2.13/zlib-1.2.13.tar.gz -o /tmp/zlib.tar.gz
|
||||||
|
|
||||||
mkdir -p /tmp/dep_zlib-1.2.13 \
|
mkdir -p /tmp/dep_zlib-1.2.13 \
|
||||||
&& cd /tmp/dep_zlib-1.2.13 \
|
&& cd /tmp/dep_zlib-1.2.13 \
|
||||||
@@ -498,7 +511,7 @@ jobs:
|
|||||||
|
|
||||||
# install musl
|
# install musl
|
||||||
if [[ ! -f ~/staticdeps/bin/x86_64-linux-musl-gcc ]]; then
|
if [[ ! -f ~/staticdeps/bin/x86_64-linux-musl-gcc ]]; then
|
||||||
curl -L https://musl.libc.org/releases/musl-1.2.2.tar.gz -o /tmp/musl.tar.gz
|
curl -Lf https://musl.libc.org/releases/musl-1.2.2.tar.gz -o /tmp/musl.tar.gz
|
||||||
|
|
||||||
mkdir -p /tmp/dep_musl-1.2.2 \
|
mkdir -p /tmp/dep_musl-1.2.2 \
|
||||||
&& cd /tmp/dep_musl-1.2.2 \
|
&& cd /tmp/dep_musl-1.2.2 \
|
||||||
@@ -538,6 +551,18 @@ jobs:
|
|||||||
pkl-cli-windows-amd64-snapshot:
|
pkl-cli-windows-amd64-snapshot:
|
||||||
steps:
|
steps:
|
||||||
- checkout
|
- checkout
|
||||||
|
- run:
|
||||||
|
command: |-
|
||||||
|
# install jdk
|
||||||
|
curl -Lf \
|
||||||
|
https://github.com/adoptium/temurin17-binaries/releases/download/jdk-17.0.9%2B9.1/OpenJDK17U-jdk_x64_windows_hotspot_17.0.9_9.zip -o /tmp/jdk.zip
|
||||||
|
|
||||||
|
unzip /tmp/jdk.zip -d /tmp/jdk \
|
||||||
|
&& cd /tmp/jdk/jdk-* \
|
||||||
|
&& mkdir /jdk \
|
||||||
|
&& cp -r . /jdk
|
||||||
|
name: Set up environment
|
||||||
|
shell: bash.exe
|
||||||
- run:
|
- run:
|
||||||
command: |-
|
command: |-
|
||||||
export PATH=~/staticdeps/bin:$PATH
|
export PATH=~/staticdeps/bin:$PATH
|
||||||
@@ -552,6 +577,7 @@ jobs:
|
|||||||
path: ~/test-results
|
path: ~/test-results
|
||||||
environment:
|
environment:
|
||||||
LANG: en_US.UTF-8
|
LANG: en_US.UTF-8
|
||||||
|
JAVA_HOME: /jdk
|
||||||
resource_class: windows.large
|
resource_class: windows.large
|
||||||
machine:
|
machine:
|
||||||
image: windows-server-2022-gui:current
|
image: windows-server-2022-gui:current
|
||||||
@@ -582,6 +608,18 @@ jobs:
|
|||||||
gradle-check-jdk17-windows:
|
gradle-check-jdk17-windows:
|
||||||
steps:
|
steps:
|
||||||
- checkout
|
- checkout
|
||||||
|
- run:
|
||||||
|
command: |-
|
||||||
|
# install jdk
|
||||||
|
curl -Lf \
|
||||||
|
https://github.com/adoptium/temurin17-binaries/releases/download/jdk-17.0.9%2B9.1/OpenJDK17U-jdk_x64_windows_hotspot_17.0.9_9.zip -o /tmp/jdk.zip
|
||||||
|
|
||||||
|
unzip /tmp/jdk.zip -d /tmp/jdk \
|
||||||
|
&& cd /tmp/jdk/jdk-* \
|
||||||
|
&& mkdir /jdk \
|
||||||
|
&& cp -r . /jdk
|
||||||
|
name: Set up environment
|
||||||
|
shell: bash.exe
|
||||||
- run:
|
- run:
|
||||||
command: ./gradlew --info --stacktrace -DtestReportsDir=${HOME}/test-results check
|
command: ./gradlew --info --stacktrace -DtestReportsDir=${HOME}/test-results check
|
||||||
name: gradle check
|
name: gradle check
|
||||||
@@ -589,6 +627,7 @@ jobs:
|
|||||||
path: ~/test-results
|
path: ~/test-results
|
||||||
environment:
|
environment:
|
||||||
LANG: en_US.UTF-8
|
LANG: en_US.UTF-8
|
||||||
|
JAVA_HOME: /jdk
|
||||||
resource_class: windows.large
|
resource_class: windows.large
|
||||||
machine:
|
machine:
|
||||||
image: windows-server-2022-gui:current
|
image: windows-server-2022-gui:current
|
||||||
|
|||||||
@@ -17,7 +17,6 @@
|
|||||||
extends "GradleJob.pkl"
|
extends "GradleJob.pkl"
|
||||||
|
|
||||||
import "package://pkg.pkl-lang.org/pkl-pantry/com.circleci.v2@1.1.2#/Config.pkl"
|
import "package://pkg.pkl-lang.org/pkl-pantry/com.circleci.v2@1.1.2#/Config.pkl"
|
||||||
import "package://pkg.pkl-lang.org/pkl-pantry/pkl.experimental.uri@1.0.0#/URI.pkl"
|
|
||||||
|
|
||||||
/// The architecture to use
|
/// The architecture to use
|
||||||
arch: "amd64"|"aarch64"
|
arch: "amd64"|"aarch64"
|
||||||
@@ -25,13 +24,11 @@ arch: "amd64"|"aarch64"
|
|||||||
/// Whether to link to musl. Otherwise, links to glibc.
|
/// Whether to link to musl. Otherwise, links to glibc.
|
||||||
musl: Boolean = false
|
musl: Boolean = false
|
||||||
|
|
||||||
|
javaVersion = "17.0"
|
||||||
|
|
||||||
local setupLinuxEnvironment: Config.RunStep =
|
local setupLinuxEnvironment: Config.RunStep =
|
||||||
let (jdkVersion = "17.0.9+9")
|
|
||||||
let (muslVersion = "1.2.2")
|
let (muslVersion = "1.2.2")
|
||||||
let (zlibVersion = "1.2.13")
|
let (zlibVersion = "1.2.13")
|
||||||
let (jdkVersionEncoded = URI.encodeComponent(jdkVersion))
|
|
||||||
let (jdkVersionAlt = jdkVersion.replaceLast("+", "_"))
|
|
||||||
let (majorJdkVersion = jdkVersion.split(".").first)
|
|
||||||
new {
|
new {
|
||||||
name = "Set up environment"
|
name = "Set up environment"
|
||||||
shell = "#!/bin/bash -exo pipefail"
|
shell = "#!/bin/bash -exo pipefail"
|
||||||
@@ -43,8 +40,8 @@ local setupLinuxEnvironment: Config.RunStep =
|
|||||||
&& rm -rf /var/cache/dnf
|
&& rm -rf /var/cache/dnf
|
||||||
|
|
||||||
# install jdk
|
# install jdk
|
||||||
curl -L \
|
curl -Lf \
|
||||||
https://github.com/adoptium/temurin\#(majorJdkVersion)-binaries/releases/download/jdk-\#(jdkVersionEncoded)/OpenJDK\#(majorJdkVersion)U-jdk_\#(if (arch == "amd64") "x64" else "aarch64")_linux_hotspot_\#(jdkVersionAlt).tar.gz -o /tmp/jdk.tar.gz
|
https://github.com/adoptium/temurin\#(module.majorJdkVersion)-binaries/releases/download/\#(module.jdkGitHubReleaseName)/OpenJDK\#(module.majorJdkVersion)U-jdk_\#(if (arch == "amd64") "x64" else "aarch64")_linux_hotspot_\#(module.jdkVersionAlt).tar.gz -o /tmp/jdk.tar.gz
|
||||||
|
|
||||||
mkdir /jdk \
|
mkdir /jdk \
|
||||||
&& cd /jdk \
|
&& cd /jdk \
|
||||||
@@ -56,7 +53,7 @@ local setupLinuxEnvironment: Config.RunStep =
|
|||||||
|
|
||||||
# install zlib
|
# install zlib
|
||||||
if [[ ! -f ~/staticdeps/include/zlib.h ]]; then
|
if [[ ! -f ~/staticdeps/include/zlib.h ]]; then
|
||||||
curl -L https://github.com/madler/zlib/releases/download/v\#(zlibVersion)/zlib-\#(zlibVersion).tar.gz -o /tmp/zlib.tar.gz
|
curl -Lf https://github.com/madler/zlib/releases/download/v\#(zlibVersion)/zlib-\#(zlibVersion).tar.gz -o /tmp/zlib.tar.gz
|
||||||
|
|
||||||
mkdir -p /tmp/dep_zlib-\#(zlibVersion) \
|
mkdir -p /tmp/dep_zlib-\#(zlibVersion) \
|
||||||
&& cd /tmp/dep_zlib-\#(zlibVersion) \
|
&& cd /tmp/dep_zlib-\#(zlibVersion) \
|
||||||
@@ -72,7 +69,7 @@ local setupLinuxEnvironment: Config.RunStep =
|
|||||||
#"""
|
#"""
|
||||||
# install musl
|
# install musl
|
||||||
if [[ ! -f ~/staticdeps/bin/x86_64-linux-musl-gcc ]]; then
|
if [[ ! -f ~/staticdeps/bin/x86_64-linux-musl-gcc ]]; then
|
||||||
curl -L https://musl.libc.org/releases/musl-\#(muslVersion).tar.gz -o /tmp/musl.tar.gz
|
curl -Lf https://musl.libc.org/releases/musl-\#(muslVersion).tar.gz -o /tmp/musl.tar.gz
|
||||||
|
|
||||||
mkdir -p /tmp/dep_musl-\#(muslVersion) \
|
mkdir -p /tmp/dep_musl-\#(muslVersion) \
|
||||||
&& cd /tmp/dep_musl-\#(muslVersion) \
|
&& cd /tmp/dep_musl-\#(muslVersion) \
|
||||||
@@ -145,7 +142,7 @@ job {
|
|||||||
resource_class = "macos.m1.large.gen1"
|
resource_class = "macos.m1.large.gen1"
|
||||||
}
|
}
|
||||||
when (os == "linux") {
|
when (os == "linux") {
|
||||||
docker {
|
docker = new Listing<Config.DockerImage> {
|
||||||
new {
|
new {
|
||||||
image = if (arch == "aarch64") "arm64v8/oraclelinux:8-slim" else "oraclelinux:8-slim"
|
image = if (arch == "aarch64") "arm64v8/oraclelinux:8-slim" else "oraclelinux:8-slim"
|
||||||
}
|
}
|
||||||
@@ -160,5 +157,8 @@ job {
|
|||||||
image = "windows-server-2022-gui:current"
|
image = "windows-server-2022-gui:current"
|
||||||
}
|
}
|
||||||
resource_class = "windows.large"
|
resource_class = "windows.large"
|
||||||
|
environment {
|
||||||
|
["JAVA_HOME"] = "/jdk"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -19,13 +19,9 @@ import "package://pkg.pkl-lang.org/pkl-pantry/com.circleci.v2@1.1.2#/Config.pkl"
|
|||||||
|
|
||||||
local self = this
|
local self = this
|
||||||
|
|
||||||
command: String
|
javaVersion = "17.0"
|
||||||
|
|
||||||
job {
|
command: String
|
||||||
docker {
|
|
||||||
new { image = "cimg/openjdk:17.0" }
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
os = "linux"
|
os = "linux"
|
||||||
|
|
||||||
|
|||||||
@@ -17,29 +17,9 @@ extends "GradleJob.pkl"
|
|||||||
|
|
||||||
import "package://pkg.pkl-lang.org/pkl-pantry/com.circleci.v2@1.1.2#/Config.pkl"
|
import "package://pkg.pkl-lang.org/pkl-pantry/com.circleci.v2@1.1.2#/Config.pkl"
|
||||||
|
|
||||||
javaVersion: "17.0"|"21.0"
|
|
||||||
|
|
||||||
os = "linux"
|
|
||||||
|
|
||||||
steps {
|
steps {
|
||||||
new Config.RunStep {
|
new Config.RunStep {
|
||||||
name = "gradle check"
|
name = "gradle check"
|
||||||
command = "./gradlew \(module.gradleArgs) check"
|
command = "./gradlew \(module.gradleArgs) check"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
job {
|
|
||||||
when (os == "linux") {
|
|
||||||
docker {
|
|
||||||
new {
|
|
||||||
image = "cimg/openjdk:\(javaVersion)"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
when (os == "windows") {
|
|
||||||
machine {
|
|
||||||
image = "windows-server-2022-gui:current"
|
|
||||||
}
|
|
||||||
resource_class = "windows.large"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|||||||
@@ -16,6 +16,7 @@
|
|||||||
abstract module GradleJob
|
abstract module GradleJob
|
||||||
|
|
||||||
import "package://pkg.pkl-lang.org/pkl-pantry/com.circleci.v2@1.1.2#/Config.pkl"
|
import "package://pkg.pkl-lang.org/pkl-pantry/com.circleci.v2@1.1.2#/Config.pkl"
|
||||||
|
import "package://pkg.pkl-lang.org/pkl-pantry/pkl.experimental.uri@1.0.3#/URI.pkl"
|
||||||
|
|
||||||
/// Whether this is a release build or not.
|
/// Whether this is a release build or not.
|
||||||
isRelease: Boolean = false
|
isRelease: Boolean = false
|
||||||
@@ -23,6 +24,25 @@ isRelease: Boolean = false
|
|||||||
/// The OS to run on
|
/// The OS to run on
|
||||||
os: "macOS"|"linux"|"windows"
|
os: "macOS"|"linux"|"windows"
|
||||||
|
|
||||||
|
/// The version of Java to use.
|
||||||
|
javaVersion: "17.0"|"21.0"
|
||||||
|
|
||||||
|
fixed javaVersionFull =
|
||||||
|
if (javaVersion == "17.0") "17.0.9+9"
|
||||||
|
else "21.0.5+11"
|
||||||
|
|
||||||
|
fixed jdkVersionAlt = javaVersionFull.replaceLast("+", "_")
|
||||||
|
|
||||||
|
fixed majorJdkVersion = javaVersionFull.split(".").first
|
||||||
|
|
||||||
|
fixed jdkGitHubReleaseName =
|
||||||
|
let (ver =
|
||||||
|
// 17.0.9+9 is missing some binaries (see https://github.com/adoptium/adoptium-support/issues/994)
|
||||||
|
if (javaVersionFull == "17.0.9+9" && os == "windows") "jdk-17.0.9+9.1"
|
||||||
|
else "jdk-\(javaVersionFull)"
|
||||||
|
)
|
||||||
|
URI.encodeComponent(ver)
|
||||||
|
|
||||||
fixed gradleArgs = new Listing {
|
fixed gradleArgs = new Listing {
|
||||||
"--info"
|
"--info"
|
||||||
"--stacktrace"
|
"--stacktrace"
|
||||||
@@ -37,9 +57,41 @@ steps: Listing<Config.Step>
|
|||||||
job: Config.Job = new {
|
job: Config.Job = new {
|
||||||
environment {
|
environment {
|
||||||
["LANG"] = "en_US.UTF-8"
|
["LANG"] = "en_US.UTF-8"
|
||||||
|
when (os == "windows") {
|
||||||
|
["JAVA_HOME"] = "/jdk"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
when (os == "linux") {
|
||||||
|
docker {
|
||||||
|
new {
|
||||||
|
image = "cimg/openjdk:\(javaVersion)"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
when (os == "windows") {
|
||||||
|
machine {
|
||||||
|
image = "windows-server-2022-gui:current"
|
||||||
|
}
|
||||||
|
resource_class = "windows.large"
|
||||||
}
|
}
|
||||||
steps {
|
steps {
|
||||||
"checkout"
|
"checkout"
|
||||||
|
when (os == "windows") {
|
||||||
|
new Config.RunStep {
|
||||||
|
name = "Set up environment"
|
||||||
|
shell = "bash.exe"
|
||||||
|
command = #"""
|
||||||
|
# install jdk
|
||||||
|
curl -Lf \
|
||||||
|
https://github.com/adoptium/temurin\#(majorJdkVersion)-binaries/releases/download/\#(jdkGitHubReleaseName)/OpenJDK\#(majorJdkVersion)U-jdk_x64_windows_hotspot_\#(jdkVersionAlt).zip -o /tmp/jdk.zip
|
||||||
|
|
||||||
|
unzip /tmp/jdk.zip -d /tmp/jdk \
|
||||||
|
&& cd /tmp/jdk/jdk-* \
|
||||||
|
&& mkdir /jdk \
|
||||||
|
&& cp -r . /jdk
|
||||||
|
"""#
|
||||||
|
}
|
||||||
|
}
|
||||||
...module.steps
|
...module.steps
|
||||||
new Config.StoreTestResults {
|
new Config.StoreTestResults {
|
||||||
path = "~/test-results"
|
path = "~/test-results"
|
||||||
|
|||||||
@@ -23,6 +23,8 @@ command: String
|
|||||||
|
|
||||||
os = "linux"
|
os = "linux"
|
||||||
|
|
||||||
|
javaVersion = "17.0"
|
||||||
|
|
||||||
steps {
|
steps {
|
||||||
new Config.RunStep {
|
new Config.RunStep {
|
||||||
name = module.name
|
name = module.name
|
||||||
@@ -31,9 +33,3 @@ steps {
|
|||||||
"""
|
"""
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
job {
|
|
||||||
docker {
|
|
||||||
new { image = "cimg/openjdk:17.0" }
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|||||||
Reference in New Issue
Block a user