Skip to content

Commit 51201ad

Browse files
Merge with master.
2 parents d8a5916 + 61fa801 commit 51201ad

File tree

1,227 files changed

+33293
-18583
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,227 files changed

+33293
-18583
lines changed

.github/workflows/cdt-inspect.yml

Lines changed: 93 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,93 @@
1+
#
2+
# Copyright (c) 2023, 2023, Oracle and/or its affiliates. All rights reserved.
3+
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4+
#
5+
# The Universal Permissive License (UPL), Version 1.0
6+
#
7+
# Subject to the condition set forth below, permission is hereby granted to any
8+
# person obtaining a copy of this software, associated documentation and/or
9+
# data (collectively the "Software"), free of charge and under any and all
10+
# copyright rights in the Software, and any and all patent rights owned or
11+
# freely licensable by each licensor hereunder covering either (i) the
12+
# unmodified Software as contributed to or provided by such licensor, or (ii)
13+
# the Larger Works (as defined below), to deal in both
14+
#
15+
# (a) the Software, and
16+
#
17+
# (b) any piece of software and/or hardware listed in the lrgrwrks.txt file if
18+
# one is included with the Software each a "Larger Work" to which the Software
19+
# is contributed by such licensors),
20+
#
21+
# without restriction, including without limitation the rights to copy, create
22+
# derivative works of, display, perform, and distribute the Software and make,
23+
# use, sell, offer for sale, import, export, have made, and have sold the
24+
# Software and the Larger Work(s), and to sublicense the foregoing rights on
25+
# either these or other terms.
26+
#
27+
# This license is subject to the following condition:
28+
#
29+
# The above copyright notice and either this complete permission notice or at a
30+
# minimum a reference to the UPL must be included in all copies or substantial
31+
# portions of the Software.
32+
#
33+
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
34+
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
35+
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
36+
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
37+
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
38+
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
39+
# SOFTWARE.
40+
41+
# Intergation test of CDT with Inspector backend.
42+
name: Weekly CDT Inspector
43+
44+
on:
45+
schedule:
46+
- cron: "30 2 * * 2,5" # Tuesday and Friday at 2:30
47+
48+
env:
49+
JAVA_HOME: ${{ github.workspace }}/jdk
50+
JDK_VERSION: "latest"
51+
MX_PATH: ${{ github.workspace }}/mx
52+
SE_SKIP_DRIVER_IN_PATH: "true"
53+
54+
jobs:
55+
build:
56+
57+
runs-on: ubuntu-latest
58+
59+
steps:
60+
- name: Checkout oracle/graal
61+
uses: actions/checkout@v4
62+
with:
63+
fetch-depth: 1
64+
path: ${{ github.workspace }}/graal
65+
- name: Checkout oracle/graaljs
66+
uses: actions/checkout@v4
67+
with:
68+
repository: oracle/graaljs
69+
fetch-depth: 1
70+
sparse-checkout: |
71+
graal-js
72+
path: ${{ github.workspace }}/js
73+
- name: Checkout graalvm/mx
74+
uses: actions/checkout@v4
75+
with:
76+
repository: graalvm/mx.git
77+
fetch-depth: 1
78+
ref: master
79+
path: ${{ env.MX_PATH }}
80+
- name: Set up Python
81+
uses: actions/setup-python@v4
82+
with:
83+
python-version: '3.8'
84+
- name: Fetch LabsJDK
85+
run: |
86+
mkdir jdk-dl
87+
${MX_PATH}/mx --java-home= fetch-jdk --jdk-id labsjdk-ce-${JDK_VERSION} --to jdk-dl --alias ${JAVA_HOME}
88+
- run: |
89+
cd ${{ github.workspace }}/graal/vm
90+
${MX_PATH}/mx --dy /tools,graal-js build
91+
cd tests/gh_workflows/CDTInspectorTest
92+
mvn -q compile
93+
mvn -q exec:exec -Dtestargs="${{ github.workspace }}/graal/sdk/latest_graalvm_home/bin/js scripts/StepTest.js"

.github/workflows/main.yml

Lines changed: 44 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,43 @@
1+
#
2+
# Copyright (c) 2020, 2023, Oracle and/or its affiliates. All rights reserved.
3+
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4+
#
5+
# The Universal Permissive License (UPL), Version 1.0
6+
#
7+
# Subject to the condition set forth below, permission is hereby granted to any
8+
# person obtaining a copy of this software, associated documentation and/or
9+
# data (collectively the "Software"), free of charge and under any and all
10+
# copyright rights in the Software, and any and all patent rights owned or
11+
# freely licensable by each licensor hereunder covering either (i) the
12+
# unmodified Software as contributed to or provided by such licensor, or (ii)
13+
# the Larger Works (as defined below), to deal in both
14+
#
15+
# (a) the Software, and
16+
#
17+
# (b) any piece of software and/or hardware listed in the lrgrwrks.txt file if
18+
# one is included with the Software each a "Larger Work" to which the Software
19+
# is contributed by such licensors),
20+
#
21+
# without restriction, including without limitation the rights to copy, create
22+
# derivative works of, display, perform, and distribute the Software and make,
23+
# use, sell, offer for sale, import, export, have made, and have sold the
24+
# Software and the Larger Work(s), and to sublicense the foregoing rights on
25+
# either these or other terms.
26+
#
27+
# This license is subject to the following condition:
28+
#
29+
# The above copyright notice and either this complete permission notice or at a
30+
# minimum a reference to the UPL must be included in all copies or substantial
31+
# portions of the Software.
32+
#
33+
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
34+
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
35+
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
36+
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
37+
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
38+
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
39+
# SOFTWARE.
40+
#
141
name: GraalVM Gate
242

343
on:
@@ -121,21 +161,21 @@ jobs:
121161
MX_RUNS_STYLE: ${{ contains(matrix.env.GATE_TAGS, 'style') || matrix.env.GATE_TAGS == '' }}
122162
steps:
123163
- name: Checkout oracle/graal
124-
uses: actions/checkout@v3
164+
uses: actions/checkout@v4
125165
with:
126166
ref: ${{ github.ref }} # Lock ref to current branch to avoid fetching others
127167
fetch-depth: "${{ env.MX_RUNS_STYLE && '0' || '1' }}" # The style gate needs the full commit history for checking copyright years
128168
- name: Determine mx version
129169
run: echo "MX_VERSION=$(jq -r '.mx_version' common.json)" >> ${GITHUB_ENV}
130170
- name: Checkout graalvm/mx
131-
uses: actions/checkout@v3
171+
uses: actions/checkout@v4
132172
with:
133173
repository: graalvm/mx.git
134174
ref: ${{ env.MX_VERSION }}
135175
fetch-depth: 1
136176
path: ${{ env.MX_PATH }}
137177
- name: Set up Python
138-
uses: actions/setup-python@v4
178+
uses: actions/setup-python@v5
139179
with:
140180
python-version: '3.8'
141181
- name: Update mx cache
@@ -159,9 +199,7 @@ jobs:
159199
if: ${{ env.MX_RUNS_STYLE == 'true' }}
160200
run: |
161201
sudo apt install python3-pip python-setuptools
162-
sudo pip install ninja_syntax$(jq -r '.pip.ninja_syntax' common.json)
163-
sudo pip install lazy-object-proxy$(jq -r '.pip["lazy-object-proxy"]' common.json)
164-
sudo pip install pylint$(jq -r '.pip.pylint' common.json)
202+
sudo pip install $(jq -r '[.pip | to_entries[] | join("")] | join(" ")' common.json)
165203
- name: Install additional pip packages
166204
if: ${{ matrix.env.PIP_PACKAGES != '' }}
167205
run: ${MX_PYTHON} -m pip install ${{ matrix.env.PIP_PACKAGES }}

.github/workflows/quarkus.yml

Lines changed: 56 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,43 @@
1+
#
2+
# Copyright (c) 2020, 2024, Oracle and/or its affiliates. All rights reserved.
3+
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4+
#
5+
# The Universal Permissive License (UPL), Version 1.0
6+
#
7+
# Subject to the condition set forth below, permission is hereby granted to any
8+
# person obtaining a copy of this software, associated documentation and/or
9+
# data (collectively the "Software"), free of charge and under any and all
10+
# copyright rights in the Software, and any and all patent rights owned or
11+
# freely licensable by each licensor hereunder covering either (i) the
12+
# unmodified Software as contributed to or provided by such licensor, or (ii)
13+
# the Larger Works (as defined below), to deal in both
14+
#
15+
# (a) the Software, and
16+
#
17+
# (b) any piece of software and/or hardware listed in the lrgrwrks.txt file if
18+
# one is included with the Software each a "Larger Work" to which the Software
19+
# is contributed by such licensors),
20+
#
21+
# without restriction, including without limitation the rights to copy, create
22+
# derivative works of, display, perform, and distribute the Software and make,
23+
# use, sell, offer for sale, import, export, have made, and have sold the
24+
# Software and the Larger Work(s), and to sublicense the foregoing rights on
25+
# either these or other terms.
26+
#
27+
# This license is subject to the following condition:
28+
#
29+
# The above copyright notice and either this complete permission notice or at a
30+
# minimum a reference to the UPL must be included in all copies or substantial
31+
# portions of the Software.
32+
#
33+
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
34+
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
35+
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
36+
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
37+
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
38+
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
39+
# SOFTWARE.
40+
#
141
name: Nightly Quarkus Tests
242

343
on:
@@ -36,18 +76,18 @@ jobs:
3676
matrix: ${{ steps.read.outputs.matrix }}
3777
steps:
3878
- name: Checkout oracle/graal
39-
uses: actions/checkout@v3
79+
uses: actions/checkout@v4
4080
with:
4181
fetch-depth: 1
4282
- name: Checkout graalvm/mx
43-
uses: actions/checkout@v3
83+
uses: actions/checkout@v4
4484
with:
4585
repository: graalvm/mx.git
4686
fetch-depth: 1
4787
ref: master
4888
path: ${{ env.MX_PATH }}
4989
- name: Set up Python
50-
uses: actions/setup-python@v4
90+
uses: actions/setup-python@v5
5191
with:
5292
python-version: '3.8'
5393
- name: Get latest Quarkus release
@@ -72,7 +112,7 @@ jobs:
72112
- name: Fetch LabsJDK
73113
run: |
74114
mkdir jdk-dl
75-
${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}
76116
- name: Build graalvm native-image
77117
run: |
78118
export JAVA_HOME=${LABSJDK_HOME}
@@ -84,10 +124,15 @@ jobs:
84124
shell: bash
85125
run: tar -czvf graalvm.tgz -C $(dirname ${GRAALVM_HOME}) $(basename ${GRAALVM_HOME})
86126
- name: Persist GraalVM build
87-
uses: actions/upload-artifact@v1
127+
uses: actions/upload-artifact@v4
88128
with:
89129
name: graalvm
90130
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'
91136
- name: Build Quarkus
92137
run: |
93138
cd ${QUARKUS_PATH}
@@ -102,7 +147,7 @@ jobs:
102147
shell: bash
103148
run: tar -czvf maven-repo.tgz -C ~ .m2/repository
104149
- name: Persist Maven Repo
105-
uses: actions/upload-artifact@v1
150+
uses: actions/upload-artifact@v4
106151
with:
107152
name: maven-repo
108153
path: maven-repo.tgz
@@ -120,7 +165,7 @@ jobs:
120165
steps:
121166
- name: Download GraalVM build
122167
if: startsWith(matrix.os-name, 'ubuntu')
123-
uses: actions/download-artifact@v1
168+
uses: actions/download-artifact@v4
124169
with:
125170
name: graalvm
126171
path: .
@@ -141,19 +186,18 @@ jobs:
141186
run: ${QUARKUS_PATH}/.github/ci-prerequisites.sh
142187
- name: Download Maven Repo
143188
if: startsWith(matrix.os-name, 'ubuntu')
144-
uses: actions/download-artifact@v1
189+
uses: actions/download-artifact@v4
145190
with:
146191
name: maven-repo
147192
path: .
148193
- name: Extract Maven Repo
149194
if: startsWith(matrix.os-name, 'ubuntu')
150195
shell: bash
151196
run: tar -xzf maven-repo.tgz -C ~
152-
- uses: graalvm/setup-graalvm@v1
197+
- uses: actions/setup-java@v4
153198
with:
154-
version: 'latest'
199+
distribution: 'oracle'
155200
java-version: '17'
156-
github-token: ${{ secrets.GITHUB_TOKEN }}
157201
- name: Build with Maven
158202
if: startsWith(matrix.os-name, 'ubuntu')
159203
env:
@@ -168,7 +212,7 @@ jobs:
168212
shell: bash
169213
run: find . -type d -name '*-reports' -o -wholename '*/build/reports/tests/functionalTest' | tar -czf test-reports.tgz -T -
170214
- name: Upload failure Archive (if maven failed)
171-
uses: actions/upload-artifact@v1
215+
uses: actions/upload-artifact@v4
172216
if: failure()
173217
with:
174218
name: test-reports-native-${{matrix.category}}

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,3 +61,4 @@ visualizer/IdealGraphVisualizer/nbplatform/
6161
/.src-rev
6262
*.interp
6363
*.tokens
64+
/vm/tests/gh_workflows/CDTInspectorTest/target/

ci-branch-config.jsonnet

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
{
2+
"galahad.*": {
3+
"config_file": "galahad.jsonnet",
4+
"overlay_file": "galahad-graal.jsonnet",
5+
},
6+
"release/galahad/.*": {
7+
"config_file": "galahad.jsonnet",
8+
"overlay_file": "galahad-graal.jsonnet",
9+
},
10+
"cpu/galahad/.*": {
11+
"config_file": "galahad.jsonnet",
12+
"overlay_file": "galahad-graal.jsonnet",
13+
},
14+
}

ci.jsonnet

Lines changed: 16 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -40,30 +40,29 @@ 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(),
66+
// ensure that the galahad CI configuration does not break
67+
assert std.type(std.manifestJson((import "galahad.jsonnet").builds)) == "string"
6968
}

0 commit comments

Comments
 (0)