Skip to content

Commit 54aa15f

Browse files
Merge with master.
2 parents 6db1df2 + 4709b7c commit 54aa15f

File tree

1,235 files changed

+28326
-21374
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

1,235 files changed

+28326
-21374
lines changed

.github/workflows/cdt-inspect.yml

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -57,10 +57,6 @@ jobs:
5757
runs-on: ubuntu-latest
5858

5959
steps:
60-
- uses: browser-actions/setup-chrome@v1
61-
with:
62-
chrome-version: dev
63-
id: setup-chrome
6460
- name: Checkout oracle/graal
6561
uses: actions/checkout@v4
6662
with:
@@ -90,10 +86,8 @@ jobs:
9086
mkdir jdk-dl
9187
${MX_PATH}/mx --java-home= fetch-jdk --jdk-id labsjdk-ce-${JDK_VERSION} --to jdk-dl --alias ${JAVA_HOME}
9288
- run: |
93-
echo Installed chromium version: ${{ steps.setup-chrome.outputs.chrome-version }}
94-
${{ steps.setup-chrome.outputs.chrome-path }} --version
9589
cd ${{ github.workspace }}/graal/vm
9690
${MX_PATH}/mx --dy /tools,graal-js build
9791
cd tests/gh_workflows/CDTInspectorTest
9892
mvn -q compile
99-
mvn -q exec:exec -Dtestargs="${{ github.workspace }}/graal/sdk/latest_graalvm_home/bin/js scripts/StepTest.js ${{ steps.setup-chrome.outputs.chrome-path }} ${{ steps.setup-chrome.outputs.chrome-version }}"
93+
mvn -q exec:exec -Dtestargs="${{ github.workspace }}/graal/sdk/latest_graalvm_home/bin/js scripts/StepTest.js"

.github/workflows/main.yml

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -161,21 +161,21 @@ jobs:
161161
MX_RUNS_STYLE: ${{ contains(matrix.env.GATE_TAGS, 'style') || matrix.env.GATE_TAGS == '' }}
162162
steps:
163163
- name: Checkout oracle/graal
164-
uses: actions/checkout@v3
164+
uses: actions/checkout@v4
165165
with:
166166
ref: ${{ github.ref }} # Lock ref to current branch to avoid fetching others
167167
fetch-depth: "${{ env.MX_RUNS_STYLE && '0' || '1' }}" # The style gate needs the full commit history for checking copyright years
168168
- name: Determine mx version
169169
run: echo "MX_VERSION=$(jq -r '.mx_version' common.json)" >> ${GITHUB_ENV}
170170
- name: Checkout graalvm/mx
171-
uses: actions/checkout@v3
171+
uses: actions/checkout@v4
172172
with:
173173
repository: graalvm/mx.git
174174
ref: ${{ env.MX_VERSION }}
175175
fetch-depth: 1
176176
path: ${{ env.MX_PATH }}
177177
- name: Set up Python
178-
uses: actions/setup-python@v4
178+
uses: actions/setup-python@v5
179179
with:
180180
python-version: '3.8'
181181
- name: Update mx cache
@@ -199,9 +199,7 @@ jobs:
199199
if: ${{ env.MX_RUNS_STYLE == 'true' }}
200200
run: |
201201
sudo apt install python3-pip python-setuptools
202-
sudo pip install ninja_syntax$(jq -r '.pip.ninja_syntax' common.json)
203-
sudo pip install lazy-object-proxy$(jq -r '.pip["lazy-object-proxy"]' common.json)
204-
sudo pip install pylint$(jq -r '.pip.pylint' common.json)
202+
sudo pip install $(jq -r '[.pip | to_entries[] | join("")] | join(" ")' common.json)
205203
- name: Install additional pip packages
206204
if: ${{ matrix.env.PIP_PACKAGES != '' }}
207205
run: ${MX_PYTHON} -m pip install ${{ matrix.env.PIP_PACKAGES }}

.github/workflows/quarkus.yml

Lines changed: 17 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
#
2-
# Copyright (c) 2020, 2023, Oracle and/or its affiliates. All rights reserved.
2+
# Copyright (c) 2020, 2024, Oracle and/or its affiliates. All rights reserved.
33
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
44
#
55
# The Universal Permissive License (UPL), Version 1.0
@@ -76,18 +76,18 @@ jobs:
7676
matrix: ${{ steps.read.outputs.matrix }}
7777
steps:
7878
- name: Checkout oracle/graal
79-
uses: actions/checkout@v3
79+
uses: actions/checkout@v4
8080
with:
8181
fetch-depth: 1
8282
- name: Checkout graalvm/mx
83-
uses: actions/checkout@v3
83+
uses: actions/checkout@v4
8484
with:
8585
repository: graalvm/mx.git
8686
fetch-depth: 1
8787
ref: master
8888
path: ${{ env.MX_PATH }}
8989
- name: Set up Python
90-
uses: actions/setup-python@v4
90+
uses: actions/setup-python@v5
9191
with:
9292
python-version: '3.8'
9393
- name: Get latest Quarkus release
@@ -112,7 +112,7 @@ jobs:
112112
- name: Fetch LabsJDK
113113
run: |
114114
mkdir jdk-dl
115-
${MX_PATH}/mx --java-home= fetch-jdk --jdk-id labsjdk-ce-21 --to jdk-dl --alias ${LABSJDK_HOME}
115+
${MX_PATH}/mx --java-home= fetch-jdk --jdk-id labsjdk-ce-latest --to jdk-dl --alias ${LABSJDK_HOME}
116116
- name: Build graalvm native-image
117117
run: |
118118
export JAVA_HOME=${LABSJDK_HOME}
@@ -124,10 +124,15 @@ jobs:
124124
shell: bash
125125
run: tar -czvf graalvm.tgz -C $(dirname ${GRAALVM_HOME}) $(basename ${GRAALVM_HOME})
126126
- name: Persist GraalVM build
127-
uses: actions/upload-artifact@v1
127+
uses: actions/upload-artifact@v4
128128
with:
129129
name: graalvm
130130
path: graalvm.tgz
131+
# Use Java 17 to build Quarkus as that's the lowest supported JDK version currently
132+
- uses: actions/setup-java@v4
133+
with:
134+
distribution: 'oracle'
135+
java-version: '17'
131136
- name: Build Quarkus
132137
run: |
133138
cd ${QUARKUS_PATH}
@@ -142,7 +147,7 @@ jobs:
142147
shell: bash
143148
run: tar -czvf maven-repo.tgz -C ~ .m2/repository
144149
- name: Persist Maven Repo
145-
uses: actions/upload-artifact@v1
150+
uses: actions/upload-artifact@v4
146151
with:
147152
name: maven-repo
148153
path: maven-repo.tgz
@@ -160,7 +165,7 @@ jobs:
160165
steps:
161166
- name: Download GraalVM build
162167
if: startsWith(matrix.os-name, 'ubuntu')
163-
uses: actions/download-artifact@v1
168+
uses: actions/download-artifact@v4
164169
with:
165170
name: graalvm
166171
path: .
@@ -181,19 +186,18 @@ jobs:
181186
run: ${QUARKUS_PATH}/.github/ci-prerequisites.sh
182187
- name: Download Maven Repo
183188
if: startsWith(matrix.os-name, 'ubuntu')
184-
uses: actions/download-artifact@v1
189+
uses: actions/download-artifact@v4
185190
with:
186191
name: maven-repo
187192
path: .
188193
- name: Extract Maven Repo
189194
if: startsWith(matrix.os-name, 'ubuntu')
190195
shell: bash
191196
run: tar -xzf maven-repo.tgz -C ~
192-
- uses: graalvm/setup-graalvm@v1
197+
- uses: actions/setup-java@v4
193198
with:
194-
version: 'latest'
199+
distribution: 'oracle'
195200
java-version: '17'
196-
github-token: ${{ secrets.GITHUB_TOKEN }}
197201
- name: Build with Maven
198202
if: startsWith(matrix.os-name, 'ubuntu')
199203
env:
@@ -208,7 +212,7 @@ jobs:
208212
shell: bash
209213
run: find . -type d -name '*-reports' -o -wholename '*/build/reports/tests/functionalTest' | tar -czf test-reports.tgz -T -
210214
- name: Upload failure Archive (if maven failed)
211-
uses: actions/upload-artifact@v1
215+
uses: actions/upload-artifact@v4
212216
if: failure()
213217
with:
214218
name: test-reports-native-${{matrix.category}}

CONTRIBUTING.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,4 +3,5 @@ platform. There have been significant contributions from both industry
33
and academia so far and we thank you for considering to contribute your changes!
44

55
- Learn [how to become a GraalVM contributor](https://www.graalvm.org/community/contributors/).
6+
- Check individual README.md and CONTRIBUTING.md files in the subprojects to learn how to build and import them into your IDE (for example, [the compiler README.md](compiler/README.md))
67
- Subscribe and post to [[email protected]](https://oss.oracle.com/mailman/listinfo/graalvm-dev) for questions related to working with the sources or extending the GraalVM ecosystem by creating new languages, tools, or embeddings.

ci-branch-config.jsonnet

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
11
{
22
"galahad.*": {
33
"config_file": "galahad.jsonnet",
4-
"overlay_file": null
4+
"overlay_file": "galahad-graal.jsonnet",
55
},
66
"release/galahad/.*": {
77
"config_file": "galahad.jsonnet",
8-
"overlay_file": null
8+
"overlay_file": "galahad-graal.jsonnet",
99
},
1010
"cpu/galahad/.*": {
1111
"config_file": "galahad.jsonnet",
12-
"overlay_file": null
12+
"overlay_file": "galahad-graal.jsonnet",
1313
},
1414
}

ci.jsonnet

Lines changed: 14 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -40,29 +40,26 @@ local visualizer = import 'visualizer/ci/ci.jsonnet';
4040

4141
local verify_ci = (import 'ci/ci_common/ci-check.libsonnet').verify_ci;
4242

43-
# JDK latest only works on MacOS Ventura (GR-49652)
44-
local exclude_latest_darwin_amd64(builds) = [b for b in builds if !(import 'ci/ci_common/common-utils.libsonnet').contains(b.name, "labsjdk-latest-darwin-amd64")];
45-
4643
{
4744
# Ensure that non-hidden entries in ci/common.jsonnet and ci/ci_common/common.jsonnet can be resolved.
4845
assert std.length(std.toString(import 'ci/ci_common/common.jsonnet')) > 0,
4946
ci_resources:: (import 'ci/ci_common/ci-resources.libsonnet'),
5047
overlay: graal_common.ci.overlay,
5148
specVersion: "3",
52-
builds: exclude_latest_darwin_amd64([common.add_excludes_guard(b) for b in (
53-
compiler.builds +
54-
wasm.builds +
55-
espresso.builds +
56-
regex.builds +
57-
sdk.builds +
58-
substratevm.builds +
59-
sulong.builds +
60-
tools.builds +
61-
truffle.builds +
62-
javadoc.builds +
63-
vm.builds +
64-
visualizer.builds
65-
)]),
49+
builds: [common.add_excludes_guard(b) for b in (
50+
common.with_components(compiler.builds, ["compiler"]) +
51+
common.with_components(wasm.builds, ["wasm"]) +
52+
common.with_components(espresso.builds, ["espresso"]) +
53+
common.with_components(regex.builds, ["regex"]) +
54+
common.with_components(sdk.builds, ["sdk"]) +
55+
common.with_components(substratevm.builds, ["svm"]) +
56+
common.with_components(sulong.builds, ["sulong"]) +
57+
common.with_components(tools.builds, ["tools"]) +
58+
common.with_components(truffle.builds, ["truffle"]) +
59+
common.with_components(javadoc.builds, ["javadoc"]) +
60+
common.with_components(vm.builds, ["vm"]) +
61+
common.with_components(visualizer.builds, ["visualizer"])
62+
)],
6663
assert verify_ci(self.builds),
6764
// verify that the run-spec demo works
6865
assert (import "ci/ci_common/run-spec-demo.jsonnet").check(),

ci/ci_common/common.jsonnet

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,16 @@ common + common.frequencies + {
4747
} else {}
4848
),
4949

50+
# Add the specified components to the field `components`.
51+
with_components(builds, components)::
52+
[
53+
if std.objectHas(build, "components") then
54+
build + { "components" : std.setUnion(components, build.components) }
55+
else
56+
build + { "components" : components }
57+
for build in builds
58+
],
59+
5060
// Heap settings
5161
// *************
5262
local small_heap = "1G",

ci/ci_common/galahad-common.libsonnet

Lines changed: 16 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,18 @@ local galahad_jdk = common_json.jdks["galahad-jdk"];
55
local utils = import "common-utils.libsonnet";
66
{
77
local GALAHAD_PROPERTY = "_galahad_include",
8+
local arrContains(arr, needle) =
9+
std.find(needle, arr) != []
10+
,
811
# Return true if this is a gate job.
912
local is_gate(b) =
1013
std.find("gate", b.targets) != []
1114
,
15+
local gate_or_postmerge_targets = ["gate", "post-merge", "deploy"],
16+
# Return true if this is a gate or post-merge/deployment job.
17+
local is_gate_or_postmerge(b) =
18+
std.setInter(gate_or_postmerge_targets, b.targets) != []
19+
,
1220
local finalize(b) = std.parseJson(std.manifestJson(b)),
1321
# Converts a gate job into an ondemand job.
1422
local convert_gate_to_ondemand(jsonnetBuildObject) =
@@ -28,10 +36,13 @@ local utils = import "common-utils.libsonnet";
2836
else
2937
{}
3038
;
31-
assert is_gate(b) : "Not a gate job: " + b.name;
39+
assert is_gate_or_postmerge(b) : "Not a gate or postmerge job: " + b.name;
3240
b + {
33-
name: std.strReplace(b.name, "gate", "ondemand"),
34-
targets: [if t == "gate" then "ondemand" else t for t in b.targets],
41+
name: "non-galahad-" + b.name,
42+
# replace gate or postmerge targets with ondemand
43+
targets: std.set(std.setDiff(b.targets, gate_or_postmerge_targets) + ["ondemand"]),
44+
# remove runAfter
45+
runAfter: [],
3546
}
3647
,
3748
# Replaces labsjdk-ce-latest and labsjdk-ee-latest with galahad-jdk
@@ -51,7 +62,7 @@ local utils = import "common-utils.libsonnet";
5162
# This is preferred over removing irrelevant jobs because it does not introduce problems
5263
# with respect to dependent jobs (artifacts).
5364
local transform_galahad_job(b) =
54-
if !is_gate(b) then
65+
if !is_gate_or_postmerge(b) then
5566
b
5667
else
5768
local include = std.foldr(function(x, y) x && y, utils.std_get(b, GALAHAD_PROPERTY, [false]), true);
@@ -63,7 +74,7 @@ local utils = import "common-utils.libsonnet";
6374
,
6475
# Verify that a job really makes sense for galahad
6576
local verify_galahad_job(b) =
66-
if !is_gate(b) then
77+
if !is_gate_or_postmerge(b) then
6778
# we only care about gate jobs
6879
b
6980
else
@@ -87,11 +98,6 @@ local utils = import "common-utils.libsonnet";
8798

8899
####### Public API
89100

90-
# Return true if this is a gate job.
91-
is_gate(b):: is_gate(b),
92-
# Converts a gate job into an ondemand job.
93-
convert_gate_to_ondemand(b):: convert_gate_to_ondemand(b),
94-
95101
# Include a jobs in the galahad gate
96102
include:: {
97103
# There seems to be a problem with sjsonnet when merging boolean fields.

ci/common.jsonnet

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -116,6 +116,8 @@ local common_json = import "../common.json";
116116
"linux-jdk19": { packages+: { "devkit:gcc11.2.0-OL6.4+1": "==0" }},
117117
"linux-jdk20": { packages+: { "devkit:gcc11.2.0-OL6.4+1": "==0" }},
118118
"linux-jdk21": { packages+: { "devkit:gcc11.2.0-OL6.4+1": "==0" }},
119+
"linux-jdk-latest": { packages+: { "devkit:gcc11.2.0-OL6.4+1": "==0" }},
120+
"linux-jdkLatest": self["linux-jdk-latest"],
119121
},
120122

121123
# Dependencies
@@ -229,6 +231,9 @@ local common_json = import "../common.json";
229231
},
230232

231233
svm:: {
234+
packages+: {
235+
cmake: "==3.22.2",
236+
},
232237
environment+: {
233238
DEFAULT_VM: "server",
234239
LANG: "en_US.UTF-8",
@@ -341,7 +346,8 @@ local common_json = import "../common.json";
341346
},
342347

343348
local linux = { os:: "linux", capabilities+: [self.os] },
344-
local darwin = { os:: "darwin", capabilities+: [self.os] },
349+
# Run darwin jobs on Big Sur or later by excluding all older versions
350+
local darwin = { os:: "darwin", capabilities+: [self.os, "!darwin_sierra", "!darwin_mojave", "!darwin_catalina"] },
345351
local windows = { os:: "windows", capabilities+: [self.os] },
346352

347353
local amd64 = { arch:: "amd64", capabilities+: [self.arch] },

common.json

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,11 @@
44
"Jsonnet files should not include this file directly but use ci/common.jsonnet instead."
55
],
66

7-
"mx_version": "7.4.1",
7+
"mx_version": "7.7.3",
88

99
"COMMENT.jdks": "When adding or removing JDKs keep in sync with JDKs in ci/common.jsonnet",
1010
"jdks": {
11-
"galahad-jdk": {"name": "jpg-jdk", "version": "22", "build_id": "jdk-22+25", "platformspecific": true, "extrabundles": ["static-libs"]},
11+
"galahad-jdk": {"name": "jpg-jdk", "version": "23", "build_id": "jdk-23+4", "platformspecific": true, "extrabundles": ["static-libs"]},
1212

1313
"oraclejdk11": {"name": "jpg-jdk", "version": "11.0.11", "build_id": "9", "release": true, "platformspecific": true, "extrabundles": ["static-libs"] },
1414

@@ -37,20 +37,20 @@
3737
"labsjdk-ee-20-llvm": {"name": "labsjdk", "version": "ee-20.0.2+2-jvmci-23.1-b02-sulong", "platformspecific": true },
3838

3939
"oraclejdk21": {"name": "jpg-jdk", "version": "21", "build_id": "33", "release": true, "platformspecific": true, "extrabundles": ["static-libs"]},
40-
"labsjdk-ce-21": {"name": "labsjdk", "version": "ce-21.0.1+12-jvmci-23.1-b22", "platformspecific": true },
41-
"labsjdk-ce-21Debug": {"name": "labsjdk", "version": "ce-21.0.1+12-jvmci-23.1-b22-debug", "platformspecific": true },
42-
"labsjdk-ce-21-llvm": {"name": "labsjdk", "version": "ce-21.0.1+12-jvmci-23.1-b22-sulong", "platformspecific": true },
43-
"labsjdk-ee-21": {"name": "labsjdk", "version": "ee-21.0.1+11-jvmci-23.1-b22", "platformspecific": true },
44-
"labsjdk-ee-21Debug": {"name": "labsjdk", "version": "ee-21.0.1+11-jvmci-23.1-b22-debug", "platformspecific": true },
45-
"labsjdk-ee-21-llvm": {"name": "labsjdk", "version": "ee-21.0.1+11-jvmci-23.1-b22-sulong", "platformspecific": true },
40+
"labsjdk-ce-21": {"name": "labsjdk", "version": "ce-21.0.1+12-jvmci-23.1-b26", "platformspecific": true },
41+
"labsjdk-ce-21Debug": {"name": "labsjdk", "version": "ce-21.0.1+12-jvmci-23.1-b26-debug", "platformspecific": true },
42+
"labsjdk-ce-21-llvm": {"name": "labsjdk", "version": "ce-21.0.1+12-jvmci-23.1-b26-sulong", "platformspecific": true },
43+
"labsjdk-ee-21": {"name": "labsjdk", "version": "ee-21.0.1+11-jvmci-23.1-b26", "platformspecific": true },
44+
"labsjdk-ee-21Debug": {"name": "labsjdk", "version": "ee-21.0.1+11-jvmci-23.1-b26-debug", "platformspecific": true },
45+
"labsjdk-ee-21-llvm": {"name": "labsjdk", "version": "ee-21.0.1+11-jvmci-23.1-b26-sulong", "platformspecific": true },
4646

47-
"oraclejdk-latest": {"name": "jpg-jdk", "version": "22", "build_id": "25", "release": true, "platformspecific": true, "extrabundles": ["static-libs"]},
48-
"labsjdk-ce-latest": {"name": "labsjdk", "version": "ce-22+25-jvmci-b01", "platformspecific": true },
49-
"labsjdk-ce-latestDebug": {"name": "labsjdk", "version": "ce-22+25-jvmci-b01-debug", "platformspecific": true },
50-
"labsjdk-ce-latest-llvm": {"name": "labsjdk", "version": "ce-22+25-jvmci-b01-sulong", "platformspecific": true },
51-
"labsjdk-ee-latest": {"name": "labsjdk", "version": "ee-22+25-jvmci-b01", "platformspecific": true },
52-
"labsjdk-ee-latestDebug": {"name": "labsjdk", "version": "ee-22+25-jvmci-b01-debug", "platformspecific": true },
53-
"labsjdk-ee-latest-llvm": {"name": "labsjdk", "version": "ee-22+25-jvmci-b01-sulong", "platformspecific": true }
47+
"oraclejdk-latest": {"name": "jpg-jdk", "version": "23", "build_id": "7", "release": true, "platformspecific": true, "extrabundles": ["static-libs"]},
48+
"labsjdk-ce-latest": {"name": "labsjdk", "version": "ce-23+7-jvmci-b01", "platformspecific": true },
49+
"labsjdk-ce-latestDebug": {"name": "labsjdk", "version": "ce-23+7-jvmci-b01-debug", "platformspecific": true },
50+
"labsjdk-ce-latest-llvm": {"name": "labsjdk", "version": "ce-23+7-jvmci-b01-sulong", "platformspecific": true },
51+
"labsjdk-ee-latest": {"name": "labsjdk", "version": "ee-23+7-jvmci-b01", "platformspecific": true },
52+
"labsjdk-ee-latestDebug": {"name": "labsjdk", "version": "ee-23+7-jvmci-b01-debug", "platformspecific": true },
53+
"labsjdk-ee-latest-llvm": {"name": "labsjdk", "version": "ee-23+7-jvmci-b01-sulong", "platformspecific": true }
5454
},
5555

5656
"eclipse": {

0 commit comments

Comments
 (0)