Drop java 11, bump GraalVM to 23.0 (#439)

* Remove unnecessary strictfp modifier
* Add annotations to address Truffle DSL warnings (@Idempotent, @Exclusive)
* Adjust build logic to allow building cross-arch on macOS
* Add warning suppression for specialization limit (left this one as a TODO)
This commit is contained in:
Daniel Chao
2024-04-24 19:17:19 -04:00
committed by GitHub
parent 583dfc6927
commit 3ab9e4184e
55 changed files with 252 additions and 953 deletions

View File

@@ -21,9 +21,7 @@ import "jobs/GradleCheckJob.pkl"
import "jobs/DeployJob.pkl"
import "jobs/SimpleGradleJob.pkl"
local prbJobs: Listing<String> = (gradleCheckJobs.keys.toListing()) {
"check-patch-file"
}
local prbJobs: Listing<String> = gradleCheckJobs.keys.toListing()
local buildAndTestJobs = (prbJobs) {
"bench"
@@ -140,10 +138,6 @@ local buildNativeJobs: Mapping<String, BuildNativeJob> = new {
}
local gradleCheckJobs: Mapping<String, GradleCheckJob> = new {
["gradle-check-jdk11"] {
javaVersion = "11.0"
isRelease = false
}
["gradle-check-jdk17"] {
javaVersion = "17.0"
isRelease = false
@@ -197,19 +191,4 @@ jobs {
}
}
}
["check-patch-file"] {
docker {
new { image = "cimg/base:current" }
}
steps {
"checkout"
new RunStep {
// language=bash
command = #"""
git apply --reject patches/graalVm23.patch
"""#
}
}
resource_class = "small"
}
}

View File

@@ -30,7 +30,7 @@ jobs:
LANG: en_US.UTF-8
resource_class: macos.m1.large.gen1
macos:
xcode: 15.2.0
xcode: 15.3.0
pkl-cli-linux-amd64-release:
steps:
- checkout
@@ -46,7 +46,7 @@ jobs:
# install jdk
curl -L \
https://github.com/adoptium/temurin11-binaries/releases/download/jdk-11.0.20.1%2B1/OpenJDK11U-jdk_x64_linux_hotspot_11.0.20.1_1.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 \
&& cd /jdk \
@@ -117,8 +117,6 @@ jobs:
pkl-cli-macOS-aarch64-release:
steps:
- checkout
- run:
command: git apply patches/graalVm23.patch
- run:
command: |-
export PATH=~/staticdeps/bin:$PATH
@@ -140,7 +138,7 @@ jobs:
LANG: en_US.UTF-8
resource_class: macos.m1.large.gen1
macos:
xcode: 15.2.0
xcode: 15.3.0
pkl-cli-linux-aarch64-release:
steps:
- checkout
@@ -156,7 +154,7 @@ jobs:
# install jdk
curl -L \
https://github.com/adoptium/temurin11-binaries/releases/download/jdk-11.0.20.1%2B1/OpenJDK11U-jdk_aarch64_linux_hotspot_11.0.20.1_1.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 \
&& cd /jdk \
@@ -223,7 +221,7 @@ jobs:
# install jdk
curl -L \
https://github.com/adoptium/temurin11-binaries/releases/download/jdk-11.0.20.1%2B1/OpenJDK11U-jdk_x64_linux_hotspot_11.0.20.1_1.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 \
&& cd /jdk \
@@ -318,7 +316,7 @@ jobs:
LANG: en_US.UTF-8
resource_class: macos.m1.large.gen1
macos:
xcode: 15.2.0
xcode: 15.3.0
pkl-cli-linux-amd64-snapshot:
steps:
- checkout
@@ -334,7 +332,7 @@ jobs:
# install jdk
curl -L \
https://github.com/adoptium/temurin11-binaries/releases/download/jdk-11.0.20.1%2B1/OpenJDK11U-jdk_x64_linux_hotspot_11.0.20.1_1.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 \
&& cd /jdk \
@@ -405,8 +403,6 @@ jobs:
pkl-cli-macOS-aarch64-snapshot:
steps:
- checkout
- run:
command: git apply patches/graalVm23.patch
- run:
command: |-
export PATH=~/staticdeps/bin:$PATH
@@ -428,7 +424,7 @@ jobs:
LANG: en_US.UTF-8
resource_class: macos.m1.large.gen1
macos:
xcode: 15.2.0
xcode: 15.3.0
pkl-cli-linux-aarch64-snapshot:
steps:
- checkout
@@ -444,7 +440,7 @@ jobs:
# install jdk
curl -L \
https://github.com/adoptium/temurin11-binaries/releases/download/jdk-11.0.20.1%2B1/OpenJDK11U-jdk_aarch64_linux_hotspot_11.0.20.1_1.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 \
&& cd /jdk \
@@ -511,7 +507,7 @@ jobs:
# install jdk
curl -L \
https://github.com/adoptium/temurin11-binaries/releases/download/jdk-11.0.20.1%2B1/OpenJDK11U-jdk_x64_linux_hotspot_11.0.20.1_1.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 \
&& cd /jdk \
@@ -579,24 +575,6 @@ jobs:
resource_class: xlarge
docker:
- image: oraclelinux:8-slim
gradle-check-jdk11:
steps:
- checkout
- run:
command: ./gradlew --info --stacktrace check
name: gradle check
- run:
command: |-
mkdir ~/test-results/
find . -type f -regex ".*/build/test-results/.*xml" -exec cp {} ~/test-results/ \;
name: Gather test results
when: always
- store_test_results:
path: ~/test-results
environment:
LANG: en_US.UTF-8
docker:
- image: cimg/openjdk:11.0
gradle-check-jdk17:
steps:
- checkout
@@ -736,14 +714,6 @@ jobs:
name: Publish release on GitHub
docker:
- image: maniator/gh:v2.40.1
check-patch-file:
steps:
- checkout
- run:
command: git apply --reject patches/graalVm23.patch
resource_class: small
docker:
- image: cimg/base:current
trigger-docsite-build:
steps:
- run:
@@ -777,28 +747,20 @@ workflows:
type: approval
- pr-approval/authenticate:
context: pkl-pr-approval
- gradle-check-jdk11:
requires:
- hold
- gradle-check-jdk17:
requires:
- hold
- gradle-check-jdk21:
requires:
- hold
- check-patch-file:
requires:
- hold
when:
matches:
value: << pipeline.git.branch >>
pattern: ^pull/\d+(/head)?$
main:
jobs:
- gradle-check-jdk11
- gradle-check-jdk17
- gradle-check-jdk21
- check-patch-file
- bench
- gradle-compatibility
- pkl-cli-macOS-amd64-snapshot
@@ -808,10 +770,8 @@ workflows:
- pkl-cli-linux-alpine-amd64-snapshot
- deploy-snapshot:
requires:
- gradle-check-jdk11
- gradle-check-jdk17
- gradle-check-jdk21
- check-patch-file
- bench
- gradle-compatibility
- pkl-cli-macOS-amd64-snapshot
@@ -831,12 +791,6 @@ workflows:
- << pipeline.git.branch >>
release:
jobs:
- gradle-check-jdk11:
filters:
branches:
ignore: /.*/
tags:
only: /^v?\d+\.\d+\.\d+$/
- gradle-check-jdk17:
filters:
branches:
@@ -849,12 +803,6 @@ workflows:
ignore: /.*/
tags:
only: /^v?\d+\.\d+\.\d+$/
- check-patch-file:
filters:
branches:
ignore: /.*/
tags:
only: /^v?\d+\.\d+\.\d+$/
- bench:
filters:
branches:
@@ -899,10 +847,8 @@ workflows:
only: /^v?\d+\.\d+\.\d+$/
- github-release:
requires:
- gradle-check-jdk11
- gradle-check-jdk17
- gradle-check-jdk21
- check-patch-file
- bench
- gradle-compatibility
- pkl-cli-macOS-amd64-release
@@ -941,18 +887,12 @@ workflows:
type: approval
- pr-approval/authenticate:
context: pkl-pr-approval
- gradle-check-jdk11:
requires:
- hold
- gradle-check-jdk17:
requires:
- hold
- gradle-check-jdk21:
requires:
- hold
- check-patch-file:
requires:
- hold
- bench:
requires:
- hold

View File

@@ -29,7 +29,7 @@ arch: "amd64"|"aarch64"
musl: Boolean = false
local setupLinuxEnvironment: Config.RunStep =
let (jdkVersion = "11.0.20.1+1")
let (jdkVersion = "17.0.9+9")
let (muslVersion = "1.2.2")
let (zlibVersion = "1.2.13")
let (jdkVersionEncoded = URI.encodeComponent(jdkVersion))
@@ -116,14 +116,6 @@ steps {
"""
}
}
// If building macOS/aarch64, we need to use GraalVM 23.
// We can't use GraalVM 23 for any other build because we need to support Java 11, which was
// dropped in GraalVM 23.
when (os == "macOS" && arch == "aarch64") {
new Config.RunStep {
command = "git apply patches/graalVm23.patch"
}
}
new Config.RunStep {
name = "gradle buildNative"
local _os =
@@ -147,10 +139,8 @@ steps {
job {
when (os == "macOS") {
macos {
xcode = "15.2.0"
xcode = "15.3.0"
}
// Use M1 for all architectures. We build amd64/aarch64 based on the GraalVM version,
// which gets patched in via `git apply patches/graalVm23.patch`.
resource_class = "macos.m1.large.gen1"
} else {
docker {