Skip to content

Commit df4c415

Browse files
committed
Merge tag 'jdk-17.0.15+5' into fips-17u-17.0.15+5-merge
Added tag jdk-17.0.15+5 for changeset 305512c Conflicts: .github/workflows/main.yml src/jdk.crypto.cryptoki/share/classes/sun/security/pkcs11/SunPKCS11.java
2 parents e893be0 + 305512c commit df4c415

File tree

3,406 files changed

+116811
-69522
lines changed

Some content is hidden

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

3,406 files changed

+116811
-69522
lines changed
Lines changed: 68 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,68 @@
1+
#
2+
# Copyright (c) 2023, 2024, Oracle and/or its affiliates. All rights reserved.
3+
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4+
#
5+
# This code is free software; you can redistribute it and/or modify it
6+
# under the terms of the GNU General Public License version 2 only, as
7+
# published by the Free Software Foundation. Oracle designates this
8+
# particular file as subject to the "Classpath" exception as provided
9+
# by Oracle in the LICENSE file that accompanied this code.
10+
#
11+
# This code is distributed in the hope that it will be useful, but WITHOUT
12+
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
13+
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
14+
# version 2 for more details (a copy is included in the LICENSE file that
15+
# accompanied this code).
16+
#
17+
# You should have received a copy of the GNU General Public License version
18+
# 2 along with this work; if not, write to the Free Software Foundation,
19+
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
20+
#
21+
# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
22+
# or visit www.oracle.com if you need additional information or have any
23+
# questions.
24+
#
25+
26+
name: 'Build JTReg'
27+
description: 'Build JTReg'
28+
29+
runs:
30+
using: composite
31+
steps:
32+
- name: 'Get JTReg version configuration'
33+
id: version
34+
uses: ./.github/actions/config
35+
with:
36+
var: JTREG_VERSION
37+
38+
- name: 'Check cache for already built JTReg'
39+
id: get-cached
40+
uses: actions/cache@v4
41+
with:
42+
path: jtreg/installed
43+
key: jtreg-${{ steps.version.outputs.value }}
44+
45+
- name: 'Checkout the JTReg source'
46+
uses: actions/checkout@v4
47+
with:
48+
repository: openjdk/jtreg
49+
ref: jtreg-${{ steps.version.outputs.value }}
50+
path: jtreg/src
51+
if: (steps.get-cached.outputs.cache-hit != 'true')
52+
53+
- name: 'Build JTReg'
54+
run: |
55+
# Build JTReg and move files to the proper locations
56+
bash make/build.sh --jdk "$JAVA_HOME_17_X64"
57+
mkdir ../installed
58+
mv build/images/jtreg/* ../installed
59+
working-directory: jtreg/src
60+
shell: bash
61+
if: (steps.get-cached.outputs.cache-hit != 'true')
62+
63+
- name: 'Upload JTReg artifact'
64+
uses: actions/upload-artifact@v4
65+
with:
66+
name: bundles-jtreg-${{ steps.version.outputs.value }}
67+
path: jtreg/installed
68+
retention-days: 1

.github/actions/get-gtest/action.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
#
2-
# Copyright (c) 2022, Oracle and/or its affiliates. All rights reserved.
2+
# Copyright (c) 2022, 2023, Oracle and/or its affiliates. All rights reserved.
33
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
44
#
55
# This code is free software; you can redistribute it and/or modify it
@@ -43,7 +43,7 @@ runs:
4343
uses: actions/checkout@v4
4444
with:
4545
repository: google/googletest
46-
ref: 'release-${{ steps.version.outputs.value }}'
46+
ref: 'v${{ steps.version.outputs.value }}'
4747
path: gtest
4848

4949
- name: 'Export path to where GTest is installed'

.github/actions/get-jtreg/action.yml

Lines changed: 6 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
#
2-
# Copyright (c) 2022, Oracle and/or its affiliates. All rights reserved.
2+
# Copyright (c) 2023, 2024, Oracle and/or its affiliates. All rights reserved.
33
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
44
#
55
# This code is free software; you can redistribute it and/or modify it
@@ -24,7 +24,7 @@
2424
#
2525

2626
name: 'Get JTReg'
27-
description: 'Download JTReg from cache or source location'
27+
description: 'Get JTReg'
2828
outputs:
2929
path:
3030
description: 'Path to the installed JTReg'
@@ -39,30 +39,12 @@ runs:
3939
with:
4040
var: JTREG_VERSION
4141

42-
- name: 'Check cache for JTReg'
43-
id: get-cached-jtreg
44-
uses: actions/cache@v4
42+
- name: 'Download JTReg artifact'
43+
id: download-jtreg
44+
uses: actions/download-artifact@v4
4545
with:
46+
name: bundles-jtreg-${{ steps.version.outputs.value }}
4647
path: jtreg/installed
47-
key: jtreg-${{ steps.version.outputs.value }}
48-
49-
- name: 'Checkout the JTReg source'
50-
uses: actions/checkout@v4
51-
with:
52-
repository: openjdk/jtreg
53-
ref: jtreg-${{ steps.version.outputs.value }}
54-
path: jtreg/src
55-
if: steps.get-cached-jtreg.outputs.cache-hit != 'true'
56-
57-
- name: 'Build JTReg'
58-
run: |
59-
# Build JTReg and move files to the proper locations
60-
bash make/build.sh --jdk "$JAVA_HOME_11_X64"
61-
mkdir ../installed
62-
mv build/images/jtreg/* ../installed
63-
working-directory: jtreg/src
64-
shell: bash
65-
if: steps.get-cached-jtreg.outputs.cache-hit != 'true'
6648

6749
- name: 'Export path to where JTReg is installed'
6850
id: path-name

.github/scripts/gen-build-failure-report.sh

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,12 +24,19 @@
2424
# questions.
2525
#
2626

27+
# Import common utils
28+
. .github/scripts/report-utils.sh
29+
2730
GITHUB_STEP_SUMMARY="$1"
2831
BUILD_DIR="$(ls -d build/*)"
2932

3033
# Send signal to the do-build action that we failed
3134
touch "$BUILD_DIR/build-failure"
3235

36+
# Collect hs_errs for build-time crashes, e.g. javac, jmod, jlink, CDS.
37+
# These usually land in make/
38+
hs_err_files=$(ls make/hs_err*.log 2> /dev/null || true)
39+
3340
(
3441
echo '### :boom: Build failure summary'
3542
echo ''
@@ -46,6 +53,20 @@ touch "$BUILD_DIR/build-failure"
4653
echo '</details>'
4754
echo ''
4855

56+
for hs_err in $hs_err_files; do
57+
echo "<details><summary><b>View HotSpot error log: "$hs_err"</b></summary>"
58+
echo ''
59+
echo '```'
60+
echo "$hs_err:"
61+
echo ''
62+
cat "$hs_err"
63+
echo '```'
64+
echo '</details>'
65+
echo ''
66+
done
67+
4968
echo ''
5069
echo ':arrow_right: To see the entire test log, click the job in the list to the left. To download logs, see the `failure-logs` [artifact above](#artifacts).'
5170
) >> $GITHUB_STEP_SUMMARY
71+
72+
truncate_summary

.github/scripts/gen-test-results.sh

Lines changed: 5 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,9 @@
2424
# questions.
2525
#
2626

27+
# Import common utils
28+
. .github/scripts/report-utils.sh
29+
2730
GITHUB_STEP_SUMMARY="$1"
2831

2932
test_suite_name=$(cat build/run-test-prebuilt/test-support/test-last-ids.txt)
@@ -89,18 +92,6 @@ for test in $failures $errors; do
8992
fi
9093
done >> $GITHUB_STEP_SUMMARY
9194

92-
# With many failures, the summary can easily exceed 1024 kB, the limit set by Github
93-
# Trim it down if so.
94-
summary_size=$(wc -c < $GITHUB_STEP_SUMMARY)
95-
if [[ $summary_size -gt 1000000 ]]; then
96-
# Trim to below 1024 kB, and cut off after the last detail group
97-
head -c 1000000 $GITHUB_STEP_SUMMARY | tac | sed -n -e '/<\/details>/,$ p' | tac > $GITHUB_STEP_SUMMARY.tmp
98-
mv $GITHUB_STEP_SUMMARY.tmp $GITHUB_STEP_SUMMARY
99-
(
100-
echo ''
101-
echo ':x: **WARNING: Summary is too large and has been truncated.**'
102-
echo ''
103-
) >> $GITHUB_STEP_SUMMARY
104-
fi
105-
10695
echo ':arrow_right: To see the entire test log, click the job in the list to the left.' >> $GITHUB_STEP_SUMMARY
96+
97+
truncate_summary

.github/scripts/report-utils.sh

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
#!/bin/bash
2+
#
3+
# Copyright (c) 2024, Oracle and/or its affiliates. All rights reserved.
4+
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
5+
#
6+
# This code is free software; you can redistribute it and/or modify it
7+
# under the terms of the GNU General Public License version 2 only, as
8+
# published by the Free Software Foundation. Oracle designates this
9+
# particular file as subject to the "Classpath" exception as provided
10+
# by Oracle in the LICENSE file that accompanied this code.
11+
#
12+
# This code is distributed in the hope that it will be useful, but WITHOUT
13+
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
14+
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
15+
# version 2 for more details (a copy is included in the LICENSE file that
16+
# accompanied this code).
17+
#
18+
# You should have received a copy of the GNU General Public License version
19+
# 2 along with this work; if not, write to the Free Software Foundation,
20+
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
21+
#
22+
# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
23+
# or visit www.oracle.com if you need additional information or have any
24+
# questions.
25+
#
26+
27+
function truncate_summary() {
28+
# With large hs_errs, the summary can easily exceed 1024 kB, the limit set by Github
29+
# Trim it down if so.
30+
summary_size=$(wc -c < $GITHUB_STEP_SUMMARY)
31+
if [[ $summary_size -gt 1000000 ]]; then
32+
# Trim to below 1024 kB, and cut off after the last detail group
33+
head -c 1000000 $GITHUB_STEP_SUMMARY | tac | sed -n -e '/<\/details>/,$ p' | tac > $GITHUB_STEP_SUMMARY.tmp
34+
mv $GITHUB_STEP_SUMMARY.tmp $GITHUB_STEP_SUMMARY
35+
(
36+
echo ''
37+
echo ':x: **WARNING: Summary is too large and has been truncated.**'
38+
echo ''
39+
) >> $GITHUB_STEP_SUMMARY
40+
fi
41+
}

.github/workflows/build-cross-compile.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -131,6 +131,7 @@ jobs:
131131
id: create-sysroot
132132
run: >
133133
sudo debootstrap
134+
--no-merged-usr
134135
--arch=${{ matrix.debian-arch }}
135136
--verbose
136137
--include=fakeroot,symlinks,build-essential,libx11-dev,libxext-dev,libxrender-dev,libxrandr-dev,libxtst-dev,libxt-dev,libcups2-dev,libfontconfig1-dev,libasound2-dev,libfreetype-dev,libpng-dev
@@ -151,6 +152,9 @@ jobs:
151152
rm -rf sysroot/usr/{sbin,bin,share}
152153
rm -rf sysroot/usr/lib/{apt,gcc,udev,systemd}
153154
rm -rf sysroot/usr/libexec/gcc
155+
# /{bin,sbin,lib}/ are not symbolic links to /usr/{bin,sbin,lib}/ when debootstrap with --no-merged-usr
156+
rm -rf sysroot/{sbin,bin}
157+
rm -rf sysroot/lib/{udev,systemd}
154158
if: steps.create-sysroot.outcome == 'success' && steps.get-cached-sysroot.outputs.cache-hit != 'true'
155159

156160
- name: 'Remove broken sysroot'

.github/workflows/build-macos.yml

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
#
2-
# Copyright (c) 2022, Oracle and/or its affiliates. All rights reserved.
2+
# Copyright (c) 2022, 2024, Oracle and/or its affiliates. All rights reserved.
33
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
44
#
55
# This code is free software; you can redistribute it and/or modify it
@@ -31,6 +31,9 @@ on:
3131
platform:
3232
required: true
3333
type: string
34+
runs-on:
35+
required: true
36+
type: string
3437
extra-conf-options:
3538
required: false
3639
type: string
@@ -55,7 +58,7 @@ on:
5558
jobs:
5659
build-macos:
5760
name: build
58-
runs-on: macos-11
61+
runs-on: ${{ inputs.runs-on }}
5962

6063
strategy:
6164
fail-fast: false
@@ -74,7 +77,7 @@ jobs:
7477
id: bootjdk
7578
uses: ./.github/actions/get-bootjdk
7679
with:
77-
platform: macos-x64
80+
platform: ${{ inputs.platform }}
7881

7982
- name: 'Get JTReg'
8083
id: jtreg
@@ -87,7 +90,7 @@ jobs:
8790
- name: 'Install toolchain and dependencies'
8891
run: |
8992
# Run Homebrew installation and xcode-select
90-
brew install make
93+
brew install autoconf make
9194
sudo xcode-select --switch /Applications/Xcode_${{ inputs.xcode-toolset-version }}.app/Contents/Developer
9295
# This will make GNU make available as 'make' and not only as 'gmake'
9396
echo '/usr/local/opt/make/libexec/gnubin' >> $GITHUB_PATH

0 commit comments

Comments
 (0)