43
MSYS2_PATH_TYPE: minimal
49
runs-on: ${{ inputs.runs-on }}
63
- 'hs/tier1 compiler part 1'
64
- 'hs/tier1 compiler part 2'
65
- 'hs/tier1 compiler part 3'
66
- 'hs/tier1 compiler not-xcomp'
69
- 'hs/tier1 serviceability'
73
- test-name: 'jdk/tier1 part 1'
74
test-suite: 'test/jdk/:tier1_part1'
76
- test-name: 'jdk/tier1 part 2'
77
test-suite: 'test/jdk/:tier1_part2'
79
- test-name: 'jdk/tier1 part 3'
80
test-suite: 'test/jdk/:tier1_part3'
82
- test-name: 'langtools/tier1'
83
test-suite: 'test/langtools/:tier1'
85
- test-name: 'hs/tier1 common'
86
test-suite: 'test/hotspot/jtreg/:tier1_common'
89
- test-name: 'hs/tier1 compiler part 1'
90
test-suite: 'test/hotspot/jtreg/:tier1_compiler_1'
93
- test-name: 'hs/tier1 compiler part 2'
94
test-suite: 'test/hotspot/jtreg/:tier1_compiler_2'
97
- test-name: 'hs/tier1 compiler part 3'
98
test-suite: 'test/hotspot/jtreg/:tier1_compiler_3'
101
- test-name: 'hs/tier1 compiler not-xcomp'
102
test-suite: 'test/hotspot/jtreg/:tier1_compiler_not_xcomp'
105
- test-name: 'hs/tier1 gc'
106
test-suite: 'test/hotspot/jtreg/:tier1_gc'
109
- test-name: 'hs/tier1 runtime'
110
test-suite: 'test/hotspot/jtreg/:tier1_runtime'
113
- test-name: 'hs/tier1 serviceability'
114
test-suite: 'test/hotspot/jtreg/:tier1_serviceability'
117
- test-name: 'lib-test/tier1'
118
test-suite: 'test/lib-test/:tier1'
122
- name: 'Checkout the JDK source'
123
uses: actions/checkout@v4
126
uses: ./.github/actions/get-msys2
127
if: runner.os == 'Windows'
129
- name: 'Get the BootJDK'
131
uses: ./.github/actions/get-bootjdk
133
platform: ${{ inputs.bootjdk-platform }}
137
uses: ./.github/actions/get-jtreg
139
- name: 'Get bundles'
141
uses: ./.github/actions/get-bundles
143
platform: ${{ inputs.platform }}
144
debug-suffix: ${{ matrix.debug-suffix }}
146
- name: 'Install dependencies'
148
# On macOS we need to install some dependencies for testing
150
sudo xcode-select --switch /Applications/Xcode_14.3.1.app/Contents/Developer
151
# This will make GNU make available as 'make' and not only as 'gmake'
152
echo '/usr/local/opt/make/libexec/gnubin' >> $GITHUB_PATH
153
if: runner.os == 'macOS'
158
# We need a minimal PATH on Windows
159
# Set PATH to "", so just GITHUB_PATH is included
160
if [[ '${{ runner.os }}' == 'Windows' ]]; then
161
echo "value=" >> $GITHUB_OUTPUT
163
echo "value=$PATH" >> $GITHUB_OUTPUT
170
TEST='${{ matrix.test-suite }}'
171
BOOT_JDK=${{ steps.bootjdk.outputs.path }}
172
JT_HOME=${{ steps.jtreg.outputs.path }}
173
JDK_IMAGE_DIR=${{ steps.bundles.outputs.jdk-path }}
174
SYMBOLS_IMAGE_DIR=${{ steps.bundles.outputs.symbols-path }}
175
TEST_IMAGE_DIR=${{ steps.bundles.outputs.tests-path }}
176
JTREG='JAVA_OPTIONS=-XX:-CreateCoredumpOnCrash;VERBOSE=fail,error,time;KEYWORDS=!headful'
177
&& bash ./.github/scripts/gen-test-summary.sh "$GITHUB_STEP_SUMMARY" "$GITHUB_OUTPUT"
179
PATH: ${{ steps.path.outputs.value }}
183
- name: 'Generate test report'
184
run: bash ./.github/scripts/gen-test-results.sh "$GITHUB_STEP_SUMMARY"
187
- name: 'Package test results'
190
# Package test-results and relevant parts of test-support
193
if [[ -d build/run-test-prebuilt/test-results ]]; then
194
cd build/run-test-prebuilt/test-results/
195
zip -r -9 "$GITHUB_WORKSPACE/results/test-results.zip" .
198
echo '::warning ::Missing test-results directory'
201
if [[ -d build/run-test-prebuilt/test-support ]]; then
202
cd build/run-test-prebuilt/test-support/
203
zip -r -9 "$GITHUB_WORKSPACE/results/test-support.zip" . -i *.jtr -i */hs_err*.log -i */replay*.log
206
echo '::warning ::Missing test-support directory'
209
artifact_name="results-${{ inputs.platform }}-$(echo ${{ matrix.test-name }} | tr '/ ' '__')"
210
echo "artifact-name=$artifact_name" >> $GITHUB_OUTPUT
213
- name: 'Upload test results'
214
uses: actions/upload-artifact@v4
217
name: ${{ steps.package.outputs.artifact-name }}
221
- name: 'Notify about test failures'
222
uses: actions/github-script@v7
224
script: core.setFailed('${{ steps.run-tests.outputs.error-message }}')
225
if: steps.run-tests.outputs.failure == 'true'