Skip to content

Commit 76b9156

Browse files
authored
Merge pull request #616 from jmtd/4151-jdk25-image-descriptors
[OPENJDK-4151, OPENJDK-4152, OPENJDK-4191] jdk25 image descriptors and Maven modules
2 parents c88f750 + b991eb4 commit 76b9156

File tree

8 files changed

+246
-8
lines changed

8 files changed

+246
-8
lines changed

modules/jdk/tests/features/openjdk.feature

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,18 @@ Feature: Miscellaneous OpenJDK-related unit tests
99
Then available container log should not contain java-1.8.0
1010
Then available container log should not contain java-11
1111
Then available container log should not contain java-17
12+
Then available container log should not contain java-25
13+
14+
@ubi10/openjdk-25
15+
@ubi10/openjdk-25-runtime
16+
Scenario: Check that only OpenJDK 25 is installed
17+
When container is started with args
18+
| arg | value |
19+
| command | rpm -qa |
20+
Then available container log should not contain java-1.8.0
21+
Then available container log should not contain java-11
22+
Then available container log should not contain java-17
23+
Then available container log should not contain java-21
1224

1325
@ubi10
1426
Scenario: Ensure JAVA_HOME is defined and contains Java
@@ -35,6 +47,18 @@ Feature: Miscellaneous OpenJDK-related unit tests
3547
Then available container log should not contain java-1.8.0
3648
Then available container log should not contain java-11
3749
Then available container log should not contain java-17
50+
Then available container log should not contain java-25
51+
52+
@ubi10/openjdk-25
53+
@ubi10/openjdk-25-runtime
54+
Scenario: Check that directories from other JDKs are not present (JDK25)
55+
When container is started with args
56+
| arg | value |
57+
| command | ls -1 /usr/lib/jvm |
58+
Then available container log should not contain java-1.8.0
59+
Then available container log should not contain java-11
60+
Then available container log should not contain java-17
61+
Then available container log should not contain java-21
3862

3963
@ubi10
4064
Scenario: Ensure LANG is defined and contains UTF-8

modules/maven/25/configure.sh

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
#!/bin/sh
2+
set -e
3+
4+
# This file is shipped by a Maven package and sets JAVA_HOME to
5+
# an OpenJDK-specific path. This causes problems for OpenJ9 containers
6+
# as the path is not correct for them. We don't need this in any of
7+
# the containers because we set JAVA_HOME in the container metadata.
8+
# Blank the file rather than removing it, to avoid a warning message
9+
# from /usr/bin/mvn.
10+
if [ -f /etc/java/maven.conf ]; then
11+
:> /etc/java/maven.conf
12+
fi

modules/maven/25/module.yaml

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
schema_version: 1
2+
name: jboss.container.maven
3+
version: '3.9.25'
4+
description: Provides Maven v3.9 capabilities to an image.
5+
6+
envs:
7+
- name: JBOSS_CONTAINER_MAVEN_39_MODULE
8+
value: /opt/jboss/container/maven/39/
9+
- name: MAVEN_VERSION
10+
value: '3.9'
11+
12+
modules:
13+
install:
14+
- name: jboss.container.maven.module
15+
16+
packages:
17+
install:
18+
- maven-openjdk25
19+
20+
execute:
21+
- script: configure.sh

modules/singleton-jdk/configure.sh

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -14,11 +14,3 @@ fi
1414
# Clean up any java-* packages that have been installed that do not match
1515
# our stated JAVA_VERSION-JAVA_VENDOR (e.g.: 11-openjdk; 1.8.0-openj9)
1616
rpm -e --nodeps $(rpm -qa java-* | grep -v "^java-${JAVA_VERSION}-${JAVA_VENDOR}")
17-
18-
# workaround for <https://issues.redhat.com/browse/RHEL-3437>
19-
# The alternative link groups touched here need to match up with those set in
20-
# modules/jdk/*/configure.sh
21-
_arch="$(uname -i)"
22-
for alt in java javac java_sdk_openjdk jre_openjdk; do
23-
alternatives --set "$alt" "java-${JAVA_VERSION}-${JAVA_VENDOR}.${_arch}"
24-
done
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
osbs:
2+
configuration:
3+
container:
4+
compose:
5+
pulp_repos: false
6+
packages:
7+
- java-25-openjdk-headless
8+
- maven-openjdk25
9+
signing_intent: unsigned
10+
repository:
11+
name: containers/openjdk
12+
branch: openjdk-25-runtime-ubi10
13+
14+
packages:
15+
manager: microdnf
16+
content_sets:
17+
x86_64:
18+
- rhel-10-for-x86_64-baseos-rpms
19+
- rhel-10-for-x86_64-appstream-rpms
20+
ppc64le:
21+
- rhel-10-for-ppc64le-baseos-rpms
22+
- rhel-10-for-ppc64le-appstream-rpms
23+
aarch64:
24+
- rhel-10-for-aarch64-baseos-rpms
25+
- rhel-10-for-aarch64-appstream-rpms
26+
s390x:
27+
- rhel-10-for-s390x-baseos-rpms
28+
- rhel-10-for-s390x-appstream-rpms

redhat/ubi10-openjdk-25.yaml

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
osbs:
2+
configuration:
3+
container:
4+
compose:
5+
pulp_repos: false
6+
packages:
7+
- java-25-openjdk
8+
- java-25-openjdk-devel
9+
- java-25-openjdk-headless
10+
signing_intent: unsigned
11+
repository:
12+
name: containers/openjdk
13+
branch: openjdk-25-ubi10
14+
15+
packages:
16+
manager: microdnf
17+
content_sets:
18+
x86_64:
19+
- rhel-10-for-x86_64-baseos-rpms
20+
- rhel-10-for-x86_64-appstream-rpms
21+
ppc64le:
22+
- rhel-10-for-ppc64le-baseos-rpms
23+
- rhel-10-for-ppc64le-appstream-rpms
24+
aarch64:
25+
- rhel-10-for-aarch64-baseos-rpms
26+
- rhel-10-for-aarch64-appstream-rpms
27+
s390x:
28+
- rhel-10-for-s390x-baseos-rpms
29+
- rhel-10-for-s390x-appstream-rpms

ubi10-openjdk-25-runtime.yaml

Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
# This is an Image descriptor for Cekit
2+
3+
schema_version: 1
4+
5+
from: "registry.access.redhat.com/ubi10/ubi-minimal"
6+
name: &name "ubi10/openjdk-25-runtime"
7+
version: &version "1.23"
8+
description: "Image for Red Hat OpenShift providing OpenJDK 25 runtime"
9+
10+
labels:
11+
- name: "io.k8s.description"
12+
value: "Platform for running plain Java applications (fat-jar and flat classpath)"
13+
- name: "io.k8s.display-name"
14+
value: "Java Applications"
15+
- name: "io.openshift.tags"
16+
value: "java"
17+
- name: "maintainer"
18+
value: "Red Hat OpenJDK <[email protected]>"
19+
- name: "com.redhat.component"
20+
value: "openjdk-25-runtime-ubi10-container"
21+
- name: "usage"
22+
value: &docs "https://rh-openjdk.github.io/redhat-openjdk-containers/"
23+
- name: "com.redhat.license_terms"
24+
value: "https://www.redhat.com/en/about/red-hat-end-user-license-agreements#UBI"
25+
- name: "org.opencontainers.image.documentation"
26+
value: *docs
27+
- name: "name"
28+
value: *name
29+
- name: "version"
30+
value: *version
31+
- name: "org.opencontainers.image.source"
32+
value: "https://github.com/rh-openjdk/redhat-openjdk-containers"
33+
- name: "org.opencontainers.image.revision"
34+
value: "ubi10"
35+
36+
envs:
37+
# XXX should this move to an s2i module?
38+
- name: PATH
39+
value: $PATH:"/usr/libexec/s2i"
40+
- name: "JBOSS_IMAGE_NAME"
41+
value: *name
42+
- name: "JBOSS_IMAGE_VERSION"
43+
value: *version
44+
- name: "LANG"
45+
value: "C.utf8"
46+
47+
ports:
48+
- value: 8080
49+
- value: 8443
50+
51+
modules:
52+
repositories:
53+
- path: modules
54+
install:
55+
- name: jboss.container.util.pkg-update
56+
- name: jboss.container.tar
57+
- name: jboss.container.openjdk.jre
58+
version: "25"
59+
- name: jboss.container.java.jre.run
60+
61+
help:
62+
add: true
63+
64+
packages:
65+
manager: microdnf

ubi10-openjdk-25.yaml

Lines changed: 67 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,67 @@
1+
# This is an Image descriptor for Cekit
2+
3+
schema_version: 1
4+
5+
from: "registry.access.redhat.com/ubi10/ubi-minimal"
6+
name: &name "ubi10/openjdk-25"
7+
version: &version "1.23"
8+
description: "Source To Image (S2I) image for Red Hat OpenShift providing OpenJDK 25"
9+
10+
labels:
11+
- name: "io.k8s.description"
12+
value: "Platform for building and running plain Java applications (fat-jar and flat classpath)"
13+
- name: "io.k8s.display-name"
14+
value: "Java Applications"
15+
- name: "io.openshift.tags"
16+
value: "builder,java"
17+
- name: "maintainer"
18+
value: "Red Hat OpenJDK <[email protected]>"
19+
- name: "com.redhat.component"
20+
value: "openjdk-25-ubi10-container"
21+
- name: "usage"
22+
value: &docs "https://rh-openjdk.github.io/redhat-openjdk-containers/"
23+
- name: "com.redhat.license_terms"
24+
value: "https://www.redhat.com/en/about/red-hat-end-user-license-agreements#UBI"
25+
- name: "org.opencontainers.image.documentation"
26+
value: *docs
27+
- name: "name"
28+
value: *name
29+
- name: "version"
30+
value: *version
31+
- name: "org.opencontainers.image.source"
32+
value: "https://github.com/rh-openjdk/redhat-openjdk-containers"
33+
- name: "org.opencontainers.image.revision"
34+
value: "ubi10"
35+
36+
envs:
37+
# XXX should this move to an s2i module?
38+
- name: PATH
39+
value: $PATH:"/usr/libexec/s2i"
40+
- name: "JBOSS_IMAGE_NAME"
41+
value: *name
42+
- name: "JBOSS_IMAGE_VERSION"
43+
value: *version
44+
- name: "LANG"
45+
value: "C.utf8"
46+
47+
ports:
48+
- value: 8080
49+
- value: 8443
50+
51+
modules:
52+
repositories:
53+
- path: modules
54+
install:
55+
- name: jboss.container.util.pkg-update
56+
- name: jboss.container.openjdk.jdk
57+
version: "25"
58+
- name: jboss.container.maven
59+
version: "3.9.21"
60+
- name: jboss.container.java.s2i.bash
61+
- name: jboss.container.java.singleton-jdk
62+
63+
help:
64+
add: true
65+
66+
packages:
67+
manager: microdnf

0 commit comments

Comments
 (0)