Skip to content

Commit aa83e4e

Browse files
authored
Merge pull request #1923 from GoogleContainerTools/java_updater
Clean up update logic for java archives/debs
2 parents ee88fcc + 669d12b commit aa83e4e

File tree

9 files changed

+166
-145
lines changed

9 files changed

+166
-145
lines changed

.github/workflows/update-deb-package-non-snapshots.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ jobs:
5757
GH_TOKEN: ${{ secrets.ACTIONS_TOKEN }}
5858
run: |
5959
BODY_FILE=$(mktemp)
60-
printf "Bumping non-snapshot packages to latest stable version\n\`\`\`diff\n$DISTROLESS_DIFF\n\`\`\`\n" >> $BODY_FILE
60+
printf "Bumping non-snapshot packages to latest stable version\n" >> $BODY_FILE
6161
if ! OUTPUT=$(gh pr create -B main -H update-non-snapshots -t "Bumping packages to latest stable versions" --body-file "$BODY_FILE" 2>&1) ; then
6262
echo $OUTPUT
6363
if [[ "${OUTPUT}" =~ "already exists" ]]; then

MODULE.bazel.lock

Lines changed: 51 additions & 51 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

java/testdata/java21_debian12.yaml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,11 @@ commandTests:
33
- name: java
44
command: "/usr/lib/jvm/temurin21_jre_amd64/bin/java"
55
args: ["-version"]
6-
expectedError: ['openjdk version "21.0.8"']
6+
expectedError: ['openjdk version "21.0.9"']
77
- name: java-symlink
88
command: "/usr/bin/java"
99
args: ["-version"]
10-
expectedError: ['openjdk version "21.0.8"']
10+
expectedError: ['openjdk version "21.0.9"']
1111
fileExistenceTests:
1212
- name: certs
1313
path: "/etc/ssl/certs/java/cacerts"
@@ -36,4 +36,4 @@ fileExistenceTests:
3636
metadataTest:
3737
envVars:
3838
- key: 'JAVA_VERSION'
39-
value: '21.0.8'
39+
value: '21.0.9'

java/testdata/java21_debug_debian12.yaml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,15 +3,15 @@ commandTests:
33
- name: java
44
command: "/usr/lib/jvm/temurin21_jdk_amd64/bin/java"
55
args: ["-version"]
6-
expectedError: ['openjdk version "21.0.8"']
6+
expectedError: ['openjdk version "21.0.9"']
77
- name: java-symlink
88
command: "/usr/bin/java"
99
args: ["-version"]
10-
expectedError: ['openjdk version "21.0.8"']
10+
expectedError: ['openjdk version "21.0.9"']
1111
- name: javac
1212
command: "/usr/lib/jvm/temurin21_jdk_amd64/bin/javac"
1313
args: ["-version"]
14-
expectedOutput: ['javac 21.0.8']
14+
expectedOutput: ['javac 21.0.9']
1515
fileExistenceTests:
1616
- name: certs
1717
path: "/etc/ssl/certs/java/cacerts"
@@ -29,4 +29,4 @@ fileExistenceTests:
2929
metadataTest:
3030
envVars:
3131
- key: 'JAVA_VERSION'
32-
value: '21.0.8'
32+
value: '21.0.9'

knife

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,9 @@ set -o pipefail -o errexit -o nounset
1515
# See the License for the specific language governing permissions and
1616
# limitations under the License.
1717

18+
source knife.d/update_java_versions.sh
19+
source knife.d/update_java_archives.sh
20+
1821
if [ $(uname) == "Darwin" ]; then
1922
echo "WARNING: You are on a macos, you need to run 'brew install coreutils gnu-sed' to install required packages."
2023
echo ""
@@ -32,13 +35,15 @@ function cmd_lock_snapshots() {
3235
echo ""
3336
local repos=$(grep -l snapshot.debian.org ./private/repos/deb/*.yaml | xargs -L 1 basename | cut -d. -f 1)
3437
_cmd_lock "$repos"
38+
update_java_versions_debian12
3539
}
3640

3741
function cmd_lock_non_snapshots() {
3842
echo "🚧 Querying for non_snapshot repos"
3943
echo ""
4044
local repos=$(grep -lL snapshot.debian.org ./private/repos/deb/*.yaml | xargs -L 1 basename | cut -d. -f 1)
4145
_cmd_lock "$repos"
46+
update_java_versions_debian13
4247
}
4348

4449
function _cmd_lock() {
@@ -150,11 +155,8 @@ function cmd_lint () {
150155

151156
# deprecate with debian12
152157
function cmd_update_java_archives () {
153-
source knife.d/update_java_archives.sh
154-
old_version=$(get_java_version 21)
155158
generate_java_archives 21 > private/repos/java_temurin/java_21.MODULE.bazel
156-
new_version=$(get_java_version 21)
157-
update_test_versions_java21 $old_version $new_version
159+
update_test_versions_java21_debian12
158160
}
159161

160162
function cmd_update_node_archives () {
@@ -240,7 +242,7 @@ update-node-archives)
240242
cmd_update_node_archives
241243
;;
242244
~~nocmd) # no command provided
243-
echo "provide a command: lock, update-snapshots, github-update-snapshots, update-java-archives, test, deb-versions, update-node-archives"
245+
echo "provide a command: lock, update-snapshots, github-update-snapshots, update-non-snapshots, update-java-archives, test, deb-versions, update-node-archives"
244246
exit 1
245247
;;
246248
*) # unknown command

knife.d/update_java_archives.sh

Lines changed: 6 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -17,9 +17,7 @@ set -o pipefail -o errexit -o nounset
1717
# a collection of functions to use when updating java archives from the knife utility
1818

1919
function get_java_version() {
20-
: "${1:?Error: java major version required}"
21-
local major_version=$1
22-
grep "#VERSION " "./private/repos/java_temurin/java_${major_version}.MODULE.bazel" | cut -d" " -f2
20+
grep "#VERSION " "./private/repos/java_temurin/java_21.MODULE.bazel" | cut -d" " -f2
2321
}
2422

2523
function underscore_encode() {
@@ -37,8 +35,8 @@ function generate_java_archives() {
3735
release_name=$(echo "$latest_release" | jq -r '.name')
3836
version=${release_name#jdk-}
3937
plain_version=$([[ $version =~ ^[0-9]+\.[0-9]+\.[0-9]+ ]] && echo "${BASH_REMATCH[0]}")
40-
archs=("x64" "aarch64" "ppc64le")
41-
archs_deb=("amd64" "arm64" "ppc64le")
38+
archs=("x64" "aarch64" "s390x" "ppc64le")
39+
archs_deb=("amd64" "arm64" "s390x" "ppc64le")
4240
variants=("jre" "jdk")
4341

4442
cat << EOM
@@ -85,14 +83,7 @@ EOM
8583
done
8684
}
8785

88-
function update_test_versions_java21() {
89-
local old_version=${1?:"no old version set in param 1"}
90-
local new_version=${2?:"no new version set in param 2"}
91-
sed -i -e "s/$old_version/$new_version/g" java/testdata/java21_*
92-
}
93-
94-
function update_test_versions_java17() {
95-
local old_version=${1?:"no old version set in param 1"}
96-
local new_version=${2?:"no new version set in param 2"}
97-
sed -i -e "s/$old_version/$new_version/g" java/testdata/java17_debian13
86+
function update_test_versions_java21_debian12() {
87+
local new_version=$(get_java_version)
88+
sed -i -r -e "s/21\\.[0-9]+\\.[0-9]+/${new_version}/g" java/testdata/java21*debian12.yaml
9889
}

knife.d/update_java_versions.sh

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
set -o pipefail -o errexit -o nounset
2+
3+
# Copyright 2024 Google Inc. All rights reserved.
4+
5+
# Licensed under the Apache License, Version 2.0 (the "License");
6+
# you may not use this file except in compliance with the License.
7+
# You may obtain a copy of the License at
8+
9+
# http://www.apache.org/licenses/LICENSE-2.0
10+
11+
# Unless required by applicable law or agreed to in writing, software
12+
# distributed under the License is distributed on an "AS IS" BASIS,
13+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14+
# See the License for the specific language governing permissions and
15+
# limitations under the License.
16+
17+
# a collection of functions to use when updating java archives from the knife utility
18+
19+
20+
function update_java_versions_debian13() {
21+
local java_versions=("21" "25")
22+
23+
for java_version in "${java_versions[@]}"; do
24+
local version=$(jq -r --arg jv "temurin-${java_version}-jre" '.packages.[] | select((.arch=="amd64") and (.name==$jv)) | .version | split(".") | .[0:3] | join(".")' private/repos/deb/trixie_adoptium.lock.json)
25+
local major_version=$(echo "$version" | cut -d. -f 1)
26+
sed -i -r -e "s/${major_version}\\.[0-9]+\\.[0-9]+/${version}/g" java/testdata/java${major_version}*debian13.yaml
27+
done
28+
}
29+
30+
# deprecatd with debian12
31+
function update_java_versions_debian12() {
32+
# java17 only
33+
local version=$(jq -r '.packages.[] | select((.arch=="amd64") and (.name=="openjdk-17-jre-headless")) | .version | split("+")[0]' private/repos/deb/bookworm_java.lock.json)
34+
local major_version=$(echo "$version" | cut -d. -f 1)
35+
sed -i -r -e "s/${major_version}\\.[0-9]+\\.[0-9]+/${version}/g" java/testdata/java17*debian12.yaml
36+
}

private/repos/deb/trixie_adoptium.lock.json

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -135,46 +135,46 @@
135135
{
136136
"arch": "ppc64el",
137137
"dependencies": [],
138-
"key": "temurin-21-jre_21.0.8.0.0-p-9-0_ppc64el",
138+
"key": "temurin-21-jre_21.0.9.0.0-p-10-0_ppc64el",
139139
"name": "temurin-21-jre",
140-
"sha256": "fb83cb94deca76fdb3ceaaa57bdfa756d66d8f7ec97da1901fd22eb65f170973",
140+
"sha256": "f40ad7eb1378e66a065756bbcf35ad2ec9e151051c142ba201ab85541300894c",
141141
"urls": [
142-
"https://packages.adoptium.net/artifactory/deb/pool/main/t/temurin-21/temurin-21-jre_21.0.8.0.0+9-0_ppc64el.deb"
142+
"https://packages.adoptium.net/artifactory/deb/pool/main/t/temurin-21/temurin-21-jre_21.0.9.0.0+10-0_ppc64el.deb"
143143
],
144-
"version": "21.0.8.0.0+9-0"
144+
"version": "21.0.9.0.0+10-0"
145145
},
146146
{
147147
"arch": "ppc64el",
148148
"dependencies": [],
149-
"key": "temurin-21-jdk_21.0.8.0.0-p-9-0_ppc64el",
149+
"key": "temurin-21-jdk_21.0.9.0.0-p-10-0_ppc64el",
150150
"name": "temurin-21-jdk",
151-
"sha256": "01966a8b86a7973fe12c1578e22e09ccee679e415e987dccc870d25d8480cb7b",
151+
"sha256": "41f019c0a41d0dde233776cb14c93343022685f4c038283a4523a278f2d4e652",
152152
"urls": [
153-
"https://packages.adoptium.net/artifactory/deb/pool/main/t/temurin-21/temurin-21-jdk_21.0.8.0.0+9-0_ppc64el.deb"
153+
"https://packages.adoptium.net/artifactory/deb/pool/main/t/temurin-21/temurin-21-jdk_21.0.9.0.0+10-0_ppc64el.deb"
154154
],
155-
"version": "21.0.8.0.0+9-0"
155+
"version": "21.0.9.0.0+10-0"
156156
},
157157
{
158158
"arch": "ppc64el",
159159
"dependencies": [],
160-
"key": "temurin-25-jre_25.0.0.0.0-p-36-0_ppc64el",
160+
"key": "temurin-25-jre_25.0.1.0.0-p-8-0_ppc64el",
161161
"name": "temurin-25-jre",
162-
"sha256": "193f646166bb7dd5dc15b9ebe2f18bfa7b8d2fc2baee72245bbd5dc09b06e235",
162+
"sha256": "44989715a380bc9ede0a8221f5d5b3052243bef48e8c1733ea150bc44d399880",
163163
"urls": [
164-
"https://packages.adoptium.net/artifactory/deb/pool/main/t/temurin-25/temurin-25-jre_25.0.0.0.0+36-0_ppc64el.deb"
164+
"https://packages.adoptium.net/artifactory/deb/pool/main/t/temurin-25/temurin-25-jre_25.0.1.0.0+8-0_ppc64el.deb"
165165
],
166-
"version": "25.0.0.0.0+36-0"
166+
"version": "25.0.1.0.0+8-0"
167167
},
168168
{
169169
"arch": "ppc64el",
170170
"dependencies": [],
171-
"key": "temurin-25-jdk_25.0.0.0.0-p-36-0_ppc64el",
171+
"key": "temurin-25-jdk_25.0.1.0.0-p-8-0_ppc64el",
172172
"name": "temurin-25-jdk",
173-
"sha256": "9cfc8b38378c89ccc97a50f6156eacc1a0ed5e523fe54c375bc1d0d1fdbbbeb0",
173+
"sha256": "8d2f1f8b0c3fb77564f1192777def40644962d6f1963caf50b7eea34d2102f55",
174174
"urls": [
175-
"https://packages.adoptium.net/artifactory/deb/pool/main/t/temurin-25/temurin-25-jdk_25.0.0.0.0+36-0_ppc64el.deb"
175+
"https://packages.adoptium.net/artifactory/deb/pool/main/t/temurin-25/temurin-25-jdk_25.0.1.0.0+8-0_ppc64el.deb"
176176
],
177-
"version": "25.0.0.0.0+36-0"
177+
"version": "25.0.1.0.0+8-0"
178178
}
179179
],
180180
"version": 1
Lines changed: 42 additions & 50 deletions
Original file line numberDiff line numberDiff line change
@@ -1,85 +1,77 @@
11
"repositories for java 21"
22

3-
#VERSION 21.0.8
3+
#VERSION 21.0.9
44

55
java = use_extension("//private/extensions:java.bzl", "java")
6-
7-
# amd64 JRE and JDK
86
java.archive(
97
name = "temurin21_jre_amd64",
108
architecture = "amd64",
11-
plain_version = "21.0.8",
12-
sha256 = "968c283e104059dae86ea1d670672a80170f27a39529d815843ec9c1f0fa2a03",
13-
strip_prefix = "jdk-21.0.8+9-jre",
14-
urls = ["https://github.com/adoptium/temurin21-binaries/releases/download/jdk-21.0.8%2B9/OpenJDK21U-jre_x64_linux_hotspot_21.0.8_9.tar.gz"],
15-
version = "21.0.8+9",
9+
plain_version = "21.0.9",
10+
sha256 = "aeab55d064a1a27a3744b0880b9b414077b4ed2b1790817eea3df60aec946431",
11+
strip_prefix = "jdk-21.0.9+10-jre",
12+
urls = ["https://github.com/adoptium/temurin21-binaries/releases/download/jdk-21.0.9%2B10/OpenJDK21U-jre_x64_linux_hotspot_21.0.9_10.tar.gz"],
13+
version = "21.0.9+10",
1614
)
1715
java.archive(
1816
name = "temurin21_jdk_amd64",
1917
architecture = "amd64",
20-
plain_version = "21.0.8",
21-
sha256 = "f2dc5418092c43003db8f9005c4a286e1c0104fea96ccdd49e8ebd037cac9219",
22-
strip_prefix = "jdk-21.0.8+9",
23-
urls = ["https://github.com/adoptium/temurin21-binaries/releases/download/jdk-21.0.8%2B9/OpenJDK21U-jdk_x64_linux_hotspot_21.0.8_9.tar.gz"],
24-
version = "21.0.8+9",
18+
plain_version = "21.0.9",
19+
sha256 = "810d3773df7e0d6c4394e4e244b264c8b30e0b05a0acf542d065fd78a6b65c2f",
20+
strip_prefix = "jdk-21.0.9+10",
21+
urls = ["https://github.com/adoptium/temurin21-binaries/releases/download/jdk-21.0.9%2B10/OpenJDK21U-jdk_x64_linux_hotspot_21.0.9_10.tar.gz"],
22+
version = "21.0.9+10",
2523
)
26-
27-
# arm64 JRE and JDK
2824
java.archive(
2925
name = "temurin21_jre_arm64",
3026
architecture = "arm64",
31-
plain_version = "21.0.8",
32-
sha256 = "f54f6e2a907c4aef95ce6d7388474c6d5d87ae87899dd309561672bcfda9121e",
33-
strip_prefix = "jdk-21.0.8+9-jre",
34-
urls = ["https://github.com/adoptium/temurin21-binaries/releases/download/jdk-21.0.8%2B9/OpenJDK21U-jre_aarch64_linux_hotspot_21.0.8_9.tar.gz"],
35-
version = "21.0.8+9",
27+
plain_version = "21.0.9",
28+
sha256 = "1d041073c65e834bdb4da732485a54ff829859dcd1549e7992f15bd73341be29",
29+
strip_prefix = "jdk-21.0.9+10-jre",
30+
urls = ["https://github.com/adoptium/temurin21-binaries/releases/download/jdk-21.0.9%2B10/OpenJDK21U-jre_aarch64_linux_hotspot_21.0.9_10.tar.gz"],
31+
version = "21.0.9+10",
3632
)
3733
java.archive(
3834
name = "temurin21_jdk_arm64",
3935
architecture = "arm64",
40-
plain_version = "21.0.8",
41-
sha256 = "e5c41a1ab0865ea5de9b4529bf8526005f1d4593090845387d14fe450ce39c33",
42-
strip_prefix = "jdk-21.0.8+9",
43-
urls = ["https://github.com/adoptium/temurin21-binaries/releases/download/jdk-21.0.8%2B9/OpenJDK21U-jdk_aarch64_linux_hotspot_21.0.8_9.tar.gz"],
44-
version = "21.0.8+9",
36+
plain_version = "21.0.9",
37+
sha256 = "edf0da4debe7cf475dbe320d174d6eed81479eb363f41e38a2efb740428c603a",
38+
strip_prefix = "jdk-21.0.9+10",
39+
urls = ["https://github.com/adoptium/temurin21-binaries/releases/download/jdk-21.0.9%2B10/OpenJDK21U-jdk_aarch64_linux_hotspot_21.0.9_10.tar.gz"],
40+
version = "21.0.9+10",
4541
)
46-
47-
# s390x JRE and JDK
4842
java.archive(
4943
name = "temurin21_jre_s390x",
5044
architecture = "s390x",
51-
plain_version = "21.0.8",
52-
sha256 = "7f2f9e48cc0e970b671b4ee8c69bf98002e27e4546e0c33071a2ecac38a8154c",
53-
strip_prefix = "jdk-21.0.8+9-jre",
54-
urls = ["https://github.com/adoptium/temurin21-binaries/releases/download/jdk-21.0.8%2B9/OpenJDK21U-jre_s390x_linux_hotspot_21.0.8_9.tar.gz"],
55-
version = "21.0.8+9",
45+
plain_version = "21.0.9",
46+
sha256 = "951eb9fd40e4478b0a7069b672bc0307f59045d756dd3ca6ed0b1ea12ab41ca2",
47+
strip_prefix = "jdk-21.0.9+10-jre",
48+
urls = ["https://github.com/adoptium/temurin21-binaries/releases/download/jdk-21.0.9%2B10/OpenJDK21U-jre_s390x_linux_hotspot_21.0.9_10.tar.gz"],
49+
version = "21.0.9+10",
5650
)
5751
java.archive(
5852
name = "temurin21_jdk_s390x",
5953
architecture = "s390x",
60-
plain_version = "21.0.8",
61-
sha256 = "a84e3cbf8bb5f8a313e06b790c7bc388687ba00262e981f5e33432ebd4d34356",
62-
strip_prefix = "jdk-21.0.8+9",
63-
urls = ["https://github.com/adoptium/temurin21-binaries/releases/download/jdk-21.0.8%2B9/OpenJDK21U-jdk_s390x_linux_hotspot_21.0.8_9.tar.gz"],
64-
version = "21.0.8+9",
54+
plain_version = "21.0.9",
55+
sha256 = "e8ede0fb48aaa3a0cc1ac7c8522f8ca7938bdbb8be0d603b61134de7f898aff4",
56+
strip_prefix = "jdk-21.0.9+10",
57+
urls = ["https://github.com/adoptium/temurin21-binaries/releases/download/jdk-21.0.9%2B10/OpenJDK21U-jdk_s390x_linux_hotspot_21.0.9_10.tar.gz"],
58+
version = "21.0.9+10",
6559
)
66-
67-
# ppc64le JRE and JDK
6860
java.archive(
6961
name = "temurin21_jre_ppc64le",
7062
architecture = "ppc64le",
71-
plain_version = "21.0.8",
72-
sha256 = "12c351c7a6906ca4ddd3f158cbd9ebf2733bab2dc432dc3f9d5685476b16b7bc",
73-
strip_prefix = "jdk-21.0.8+9-jre",
74-
urls = ["https://github.com/adoptium/temurin21-binaries/releases/download/jdk-21.0.8%2B9/OpenJDK21U-jre_ppc64le_linux_hotspot_21.0.8_9.tar.gz"],
75-
version = "21.0.8+9",
63+
plain_version = "21.0.9",
64+
sha256 = "4973d6a43393854ccabd32bf7a1306788831586166fc8f5fa34a9df428366014",
65+
strip_prefix = "jdk-21.0.9+10-jre",
66+
urls = ["https://github.com/adoptium/temurin21-binaries/releases/download/jdk-21.0.9%2B10/OpenJDK21U-jre_ppc64le_linux_hotspot_21.0.9_10.tar.gz"],
67+
version = "21.0.9+10",
7668
)
7769
java.archive(
7870
name = "temurin21_jdk_ppc64le",
7971
architecture = "ppc64le",
80-
plain_version = "21.0.8",
81-
sha256 = "a24e869b8e563fd7b9f7776f6686ca5d737c8d1c3c33c9b72836935709b44a34",
82-
strip_prefix = "jdk-21.0.8+9",
83-
urls = ["https://github.com/adoptium/temurin21-binaries/releases/download/jdk-21.0.8%2B9/OpenJDK21U-jdk_ppc64le_linux_hotspot_21.0.8_9.tar.gz"],
84-
version = "21.0.8+9",
85-
)
72+
plain_version = "21.0.9",
73+
sha256 = "ac5a0394a234269b4e20459649ac93cb702cde29b3e46a0bcf3aa53958f2d4a4",
74+
strip_prefix = "jdk-21.0.9+10",
75+
urls = ["https://github.com/adoptium/temurin21-binaries/releases/download/jdk-21.0.9%2B10/OpenJDK21U-jdk_ppc64le_linux_hotspot_21.0.9_10.tar.gz"],
76+
version = "21.0.9+10",
77+
)

0 commit comments

Comments
 (0)