Skip to content

Commit fd54b64

Browse files
authored
Issue #760 - updatecli changes to enable JDK updates when new JDK versions are published (#761)
* Issue #760 - Change JDK configuration of updatecli to enable the automatic updates of JDK when new versions are published * Issue #760 - Update typo in the name of checkTemurinWIndowsCore2022DockerImage condition * Issue #760 - Update check-jdk.sh to support the new URL format for JDK 21 previews since JDK 21.0.3+2-ea-beta * Issue #760 - Updates to JDK updatecli yaml configs to support hot fixes * Issue #760 - Remove unnecessary sourceid on targets in jdk11.yaml config * - Remove support of "hotfix" versions - Put Temurin version pattern in a values file and reference from each jdk config file * Make `values.temurin.yaml` POSIX compliant
1 parent 727f1c8 commit fd54b64

File tree

6 files changed

+77
-73
lines changed

6 files changed

+77
-73
lines changed

.github/workflows/updatecli.yaml

+2-2
Original file line numberDiff line numberDiff line change
@@ -18,12 +18,12 @@ jobs:
1818
uses: updatecli/[email protected]
1919

2020
- name: Run Updatecli in Dry Run mode
21-
run: updatecli diff --config ./updatecli/updatecli.d --values ./updatecli/values.github-action.yaml
21+
run: updatecli diff --config ./updatecli/updatecli.d --values ./updatecli/values.github-action.yaml --values ./updatecli/values.temurin.yaml
2222
env:
2323
UPDATECLI_GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
2424

2525
- name: Run Updatecli in Apply mode
2626
if: github.ref == 'refs/heads/master'
27-
run: updatecli apply --config ./updatecli/updatecli.d --values ./updatecli/values.github-action.yaml
27+
run: updatecli apply --config ./updatecli/updatecli.d --values ./updatecli/values.github-action.yaml --values ./updatecli/values.temurin.yaml
2828
env:
2929
UPDATECLI_GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

updatecli/scripts/check-jdk.sh

+6-4
Original file line numberDiff line numberDiff line change
@@ -31,12 +31,14 @@ function get_jdk_download_url() {
3131
return 0;;
3232
21*-ea-beta)
3333
# JDK preview version (21+35-ea-beta, 21.0.1+12-ea-beta)
34-
jdk_version="${jdk_version//-ea-beta}"
34+
# This has been updated to support the new inferred URL pattern that started as of 21.0.3+2-ea-beta. It will not work for earlier preview versions.
35+
# One could update the cases to support all preview versions, if desired.
36+
jdk_version="${jdk_version//-beta}"
3537
## https://github.com/adoptium/temurin21-binaries/releases/download/jdk-21%2B35-ea-beta/OpenJDK21U-jdk_aarch64_linux_hotspot_ea_21-0-35.tar.gz
3638
## https://github.com/adoptium/temurin21-binaries/releases/download/jdk-21.0.1%2B12-ea-beta/OpenJDK21U-jdk_x64_linux_hotspot_ea_21-0-1-12.tar.gz
37-
dashJDKVersion="${jdk_version//+/-}"
38-
completeDashJDKVersion="${dashJDKVersion//./-}"
39-
echo "https://github.com/adoptium/temurin21-binaries/releases/download/jdk-${jdk_version//+/%2B}-ea-beta/OpenJDK21U-jdk_${platform}_hotspot_ea_${completeDashJDKVersion}"
39+
dashJDKVersion="${jdk_version//+/_}"
40+
jdk_version="${jdk_version//-ea}"
41+
echo "https://github.com/adoptium/temurin21-binaries/releases/download/jdk-${jdk_version//+/%2B}-ea-beta/OpenJDK21U-jdk_${platform}_hotspot_${dashJDKVersion}"
4042
return 0;;
4143
21*)
4244
## JDK21 URLs have an underscore ('_') instead of a plus ('+') in their archive names

updatecli/updatecli.d/jdk11.yaml

+23-23
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ sources:
2626
kind: regex
2727
# jdk-11.0.12+7(https://github.com/adoptium/temurin11-binaries/releases/tag/jdk-11.0.12%2B7) is OK
2828
# jdk-11.0.16.1+1 (https://github.com/adoptium/temurin11-binaries/releases/tag/jdk-11.0.16.1%2B1) is OK
29-
pattern: "^jdk-11.(\\d*).(\\d*).(\\d*)(.(\\d*))+(\\d*)$"
29+
pattern: {{ .temurin.version_pattern }}
3030
transformers:
3131
- trimprefix: "jdk-"
3232
- replacer:
@@ -37,55 +37,55 @@ conditions:
3737
checkTemurinAlpineDockerImage:
3838
kind: dockerimage
3939
name: Check if the container image "eclipse-temurin:<lastVersion>-jdk-alpine" is available
40-
disablesourceinput: true
40+
transformers:
41+
- addsuffix: "-jdk-alpine"
4142
spec:
42-
architecture: amd64
43+
architecture: linux/amd64
4344
image: eclipse-temurin
44-
tag: '{{source "lastVersion" }}-jdk-alpine'
4545
checkTemurinDebianDockerImages:
4646
kind: dockerimage
4747
name: Check if the container image "eclipse-temurin:<lastVersion>-jdk-focal" is available
48-
disablesourceinput: true
48+
transformers:
49+
- addsuffix: "-jdk-focal"
4950
spec:
5051
architectures:
51-
- amd64
52-
- arm64
53-
- s390x
54-
- arm/v7
52+
- linux/amd64
53+
- linux/arm64
54+
- linux/s390x
55+
- linux/arm/v7
5556
image: eclipse-temurin
56-
tag: '{{source "lastVersion" }}-jdk-focal'
5757
checkTemurinNanoserver2019DockerImage:
5858
kind: dockerimage
5959
name: Check if the container image "eclipse-temurin:<lastVersion>-jdk-nanoserver-1809" is available
60-
disablesourceinput: true
60+
transformers:
61+
- addsuffix: "-jdk-nanoserver-1809"
6162
spec:
62-
architecture: amd64
63+
architecture: windows/amd64
6364
image: eclipse-temurin
64-
tag: '{{source "lastVersion" }}-jdk-nanoserver-1809'
6565
checkTemurinWindowsCore2019DockerImage:
6666
kind: dockerimage
6767
name: Check if the container image "eclipse-temurin:<lastVersion>-jdk-windowsservercore-1809" is available
68-
disablesourceinput: true
68+
transformers:
69+
- addsuffix: "-jdk-windowsservercore-1809"
6970
spec:
70-
architecture: amd64
71+
architecture: windows/amd64
7172
image: eclipse-temurin
72-
tag: '{{source "lastVersion" }}-jdk-windowsservercore-1809'
7373
checkTemurinNanoserver2022DockerImage:
7474
kind: dockerimage
7575
name: Check if the container image "eclipse-temurin:<lastVersion>-jdk-nanoserver-ltsc2022" is available
76-
disablesourceinput: true
76+
transformers:
77+
- addsuffix: "-jdk-nanoserver-ltsc2022"
7778
spec:
78-
architecture: amd64
79+
architecture: windows/amd64
7980
image: eclipse-temurin
80-
tag: '{{source "lastVersion" }}-jdk-nanoserver-ltsc2022'
8181
checkTemurinWindowsCore2022DockerImage:
8282
kind: dockerimage
83-
name: Check if the container image "eclipse-temurin:<lastVersion>-jdk-windowsservercore-18ltsc202209" is available
84-
disablesourceinput: true
83+
name: Check if the container image "eclipse-temurin:<lastVersion>-jdk-windowsservercore-ltsc2022" is available
84+
transformers:
85+
- addsuffix: "-jdk-windowsservercore-ltsc2022"
8586
spec:
86-
architecture: amd64
87+
architecture: windows/amd64
8788
image: eclipse-temurin
88-
tag: '{{source "lastVersion" }}-jdk-windowsservercore-ltsc2022'
8989

9090
targets:
9191
setJDK11VersionDockerBake:

updatecli/updatecli.d/jdk17.yaml

+22-22
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ sources:
2626
kind: regex
2727
# jdk-17.0.2+8(https://github.com/adoptium/temurin17-binaries/releases/tag/jdk-17.0.2%2B8) is OK
2828
# jdk-17.0.4.1+1(https://github.com/adoptium/temurin17-binaries/releases/tag/jdk-17.0.4.1%2B1) is OK
29-
pattern: "^jdk-17.(\\d*).(\\d*).(\\d*)(.(\\d*))+(\\d*)$"
29+
pattern: {{ .temurin.version_pattern }}
3030
transformers:
3131
- trimprefix: "jdk-"
3232
- replacer:
@@ -37,55 +37,55 @@ conditions:
3737
checkTemurinAlpineDockerImage:
3838
kind: dockerimage
3939
name: Check if the container image "eclipse-temurin:<lastVersion>-jdk-alpine" is available
40-
disablesourceinput: true
40+
transformers:
41+
- addsuffix: "-jdk-alpine"
4142
spec:
42-
architecture: amd64
43+
architecture: linux/amd64
4344
image: eclipse-temurin
44-
tag: '{{source "lastVersion" }}-jdk-alpine'
4545
checkTemurinDebianDockerImages:
4646
kind: dockerimage
4747
name: Check if the container image "eclipse-temurin:<lastVersion>-jdk-focal" is available
48-
disablesourceinput: true
48+
transformers:
49+
- addsuffix: "-jdk-focal"
4950
spec:
5051
architectures:
51-
- amd64
52-
- arm64
53-
- s390x
54-
- arm/v7
52+
- linux/amd64
53+
- linux/arm64
54+
- linux/s390x
55+
- linux/arm/v7
5556
image: eclipse-temurin
56-
tag: '{{source "lastVersion" }}-jdk-focal'
5757
checkTemurinNanoserver2019DockerImage:
5858
kind: dockerimage
5959
name: Check if the container image "eclipse-temurin:<lastVersion>-jdk-nanoserver-1809" is available
60-
disablesourceinput: true
60+
transformers:
61+
- addsuffix: "-jdk-nanoserver-1809"
6162
spec:
62-
architecture: amd64
63+
architecture: windows/amd64
6364
image: eclipse-temurin
64-
tag: '{{source "lastVersion" }}-jdk-nanoserver-1809'
6565
checkTemurinWindowsCore2019DockerImage:
6666
kind: dockerimage
6767
name: Check if the container image "eclipse-temurin:<lastVersion>-jdk-windowsservercore-1809" is available
68-
disablesourceinput: true
68+
transformers:
69+
- addsuffix: "-jdk-windowsservercore-1809"
6970
spec:
70-
architecture: amd64
71+
architecture: windows/amd64
7172
image: eclipse-temurin
72-
tag: '{{source "lastVersion" }}-jdk-windowsservercore-1809'
7373
checkTemurinNanoserver2022DockerImage:
7474
kind: dockerimage
7575
name: Check if the container image "eclipse-temurin:<lastVersion>-jdk-nanoserver-ltsc2022" is available
76-
disablesourceinput: true
76+
transformers:
77+
- addsuffix: "-jdk-nanoserver-ltsc2022"
7778
spec:
78-
architecture: amd64
79+
architecture: windows/amd64
7980
image: eclipse-temurin
80-
tag: '{{source "lastVersion" }}-jdk-nanoserver-ltsc2022'
8181
checkTemurinWindowsCore2022DockerImage:
8282
kind: dockerimage
8383
name: Check if the container image "eclipse-temurin:<lastVersion>-jdk-windowsservercore-ltsc2022" is available
84-
disablesourceinput: true
84+
transformers:
85+
- addsuffix: "-jdk-windowsservercore-ltsc2022"
8586
spec:
86-
architecture: amd64
87+
architecture: windows/amd64
8788
image: eclipse-temurin
88-
tag: '{{source "lastVersion" }}-jdk-windowsservercore-ltsc2022'
8989

9090
targets:
9191
setJDK17VersionDockerBake:

updatecli/updatecli.d/jdk21.yaml

+22-22
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ sources:
3030
spec:
3131
versionfilter:
3232
kind: regex
33-
pattern: "\\d$"
33+
pattern: {{ .temurin.version_pattern }}
3434
transformers:
3535
- trimprefix: "jdk-"
3636
- replacer:
@@ -42,55 +42,55 @@ conditions:
4242
checkTemurinAlpineDockerImage:
4343
kind: dockerimage
4444
name: Check if the container image "eclipse-temurin:<lastVersion>-jdk-alpine" is available
45-
disablesourceinput: true
45+
transformers:
46+
- addsuffix: "-jdk-alpine"
4647
spec:
4748
architectures:
48-
- amd64
49-
- arm64
49+
- linux/amd64
50+
- linux/arm64
5051
image: eclipse-temurin
51-
tag: '{{ source "getLatestJDK21Version" }}-jdk-alpine'
5252
checkTemurinDebianDockerImages:
5353
kind: dockerimage
54-
name: Check if the container image "eclipse-temurin:<lastVersion>-jdk-focal" is available
55-
disablesourceinput: true
54+
name: Check if the container image "eclipse-temurin:<lastVersion>-jdk-jammy" is available
55+
transformers:
56+
- addsuffix: "-jdk-jammy"
5657
spec:
5758
architectures:
58-
- amd64
59-
- arm64
59+
- linux/amd64
60+
- linux/arm64
6061
image: eclipse-temurin
61-
tag: '{{ source "getLatestJDK21Version" }}-jdk-focal'
6262
checkTemurinNanoserver2019DockerImage:
6363
kind: dockerimage
6464
name: Check if the container image "eclipse-temurin:<lastVersion>-jdk-nanoserver-1809" is available
65-
disablesourceinput: true
65+
transformers:
66+
- addsuffix: "-jdk-nanoserver-1809"
6667
spec:
67-
architecture: amd64
68+
architecture: windows/amd64
6869
image: eclipse-temurin
69-
tag: '{{ source "getLatestJDK21Version" }}-jdk-nanoserver-1809'
7070
checkTemurinWindowsCore2019DockerImage:
7171
kind: dockerimage
7272
name: Check if the container image "eclipse-temurin:<lastVersion>-jdk-windowsservercore-1809" is available
73-
disablesourceinput: true
73+
transformers:
74+
- addsuffix: "-jdk-windowsservercore-1809"
7475
spec:
75-
architecture: amd64
76+
architecture: windows/amd64
7677
image: eclipse-temurin
77-
tag: '{{ source "getLatestJDK21Version" }}-jdk-windowsservercore-1809'
7878
checkTemurinNanoserver2022DockerImage:
7979
kind: dockerimage
8080
name: Check if the container image "eclipse-temurin:<lastVersion>-jdk-nanoserver-ltsc2022" is available
81-
disablesourceinput: true
81+
transformers:
82+
- addsuffix: "-jdk-nanoserver-ltsc2022"
8283
spec:
83-
architecture: amd64
84+
architecture: windows/amd64
8485
image: eclipse-temurin
85-
tag: '{{ source "getLatestJDK21Version" }}-jdk-nanoserver-ltsc2022'
8686
checkTemurinWindowsCore2022DockerImage:
8787
kind: dockerimage
8888
name: Check if the container image "eclipse-temurin:<lastVersion>-jdk-windowsservercore-ltsc2022" is available
89-
disablesourceinput: true
89+
transformers:
90+
- addsuffix: "-jdk-windowsservercore-ltsc2022"
9091
spec:
91-
architecture: amd64
92+
architecture: windows/amd64
9293
image: eclipse-temurin
93-
tag: '{{ source "getLatestJDK21Version" }}-jdk-windowsservercore-ltsc2022'
9494

9595
targets:
9696
setJDK21Version:

updatecli/values.temurin.yaml

+2
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
temurin:
2+
version_pattern: "^jdk-[11|17|21].(\\d*).(\\d*).(\\d*)(.(\\d*))\\+(\\d*)?$"

0 commit comments

Comments
 (0)