Skip to content

Commit

Permalink
Merge pull request #532 from vieiro/feature/jdk-11-els-rhel9-2025-01-cpu
Browse files Browse the repository at this point in the history
[OPENJDK-3587] Rebase ELS container images (RHEL9)
  • Loading branch information
jmtd authored Jan 22, 2025
2 parents d68a3af + 53748e2 commit 26c87f3
Show file tree
Hide file tree
Showing 23 changed files with 81 additions and 42 deletions.
4 changes: 2 additions & 2 deletions .github/workflows/image-workflow-template.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ jobs:
run: docker pull registry.access.redhat.com/ubi9/ubi-minimal:latest

- name: Install CEKit
uses: cekit/[email protected].5
uses: cekit/[email protected].7

- name: Build
run: |
Expand All @@ -42,4 +42,4 @@ jobs:
- name: Behave Tests
run: |
echo /home/runner/work/_temp/openshift-bin >> $GITHUB_PATH
cekit -v --descriptor ${{ inputs.image }}.yaml test behave --steps-url https://github.com/jmtd/behave-test-steps
cekit -v --descriptor ${{ inputs.image }}.yaml test behave
2 changes: 1 addition & 1 deletion modules/jvm/tests/features/memory.feature
Original file line number Diff line number Diff line change
Expand Up @@ -37,5 +37,5 @@ Feature: OPENJDK-559 JVM Memory tests
@ubi9/openjdk-17
@ubi9/openjdk-21
Scenario: Ensure Maven doesn't use MaxRAMPercentage=80
Given s2i build https://github.com/jboss-container-images/openjdk-test-applications from spring-boot-sample-simple
Given s2i build https://github.com/rh-openjdk/openjdk-container-test-applications.git from spring-boot-sample-simple
Then s2i build log should match regex INFO Using MAVEN_OPTS.*-XX:MaxRAMPercentage=25.0$
6 changes: 4 additions & 2 deletions modules/jvm/tests/features/runtime.feature
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,9 @@ Feature: Openshift OpenJDK Runtime tests
| JAVA_APP_DIR | . |
Then available container log should contain INFO running in /home/default

@openjdk-els
# @openjdk-els
# temporarily disabled, see https://issues.redhat.com/browse/OPENJDK-3536
@ignore
Scenario: Check non-existent path JAVA_APP_DIR (OPENJDK-2034)
Given container is started with env
| variable | value |
Expand All @@ -61,7 +63,7 @@ Feature: Openshift OpenJDK Runtime tests

# Builder images only
Scenario: Ensure JAVA_APP_DIR and S2I work together (OPENJDK-2034)
Given s2i build https://github.com/jboss-container-images/openjdk-test-applications from undertow-servlet
Given s2i build https://github.com/rh-openjdk/openjdk-container-test-applications.git from undertow-servlet
| variable | value |
| JAVA_APP_DIR | /home/default |
| S2I_TARGET_DEPLOYMENTS_DIR | /home/default |
Expand Down
36 changes: 18 additions & 18 deletions modules/maven/s2i/tests/features/java_s2i.feature
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ Feature: Openshift OpenJDK S2I tests

# handles mirror/repository configuration; proxy configuration
Scenario: run the s2i and check the maven mirror and proxy have been initialised in the default settings.xml, uses http_proxy
Given s2i build https://github.com/jboss-container-images/openjdk-test-applications from spring-boot-sample-simple
Given s2i build https://github.com/rh-openjdk/openjdk-container-test-applications.git from spring-boot-sample-simple
| variable | value |
| MAVEN_ARGS | -v |
| MAVEN_MIRROR_URL | http://127.0.0.1:8080/repository/internal/ |
Expand All @@ -23,7 +23,7 @@ Feature: Openshift OpenJDK S2I tests

# proxy auth configuration (success case) + nonProxyHosts
Scenario: run the s2i and check the maven mirror, proxy (including username and password) and non proxy have been initialised in the default settings.xml, uses http_proxy
Given s2i build https://github.com/jboss-container-images/openjdk-test-applications from spring-boot-sample-simple
Given s2i build https://github.com/rh-openjdk/openjdk-container-test-applications.git from spring-boot-sample-simple
| variable | value |
| MAVEN_ARGS | -v |
| http_proxy | myuser:mypass@127.0.0.1:8080 |
Expand All @@ -35,7 +35,7 @@ Feature: Openshift OpenJDK S2I tests

# proxy auth configuration (fail case: no password supplied)
Scenario: run the s2i and check the maven mirror, proxy (including username) and non proxy have been initialised in the default settings.xml, uses http_proxy
Given s2i build https://github.com/jboss-container-images/openjdk-test-applications from spring-boot-sample-simple
Given s2i build https://github.com/rh-openjdk/openjdk-container-test-applications.git from spring-boot-sample-simple
| variable | value |
| MAVEN_ARGS | -v |
| http_proxy | myuser@127.0.0.1:8080 |
Expand All @@ -46,7 +46,7 @@ Feature: Openshift OpenJDK S2I tests

# handles mirror/repository configuration; proxy configuration
Scenario: run the s2i and check the maven mirror and proxy have been initialised in the default settings.xml, uses http_proxy
Given s2i build https://github.com/jboss-container-images/openjdk-test-applications from spring-boot-sample-simple
Given s2i build https://github.com/rh-openjdk/openjdk-container-test-applications.git from spring-boot-sample-simple
| variable | value |
| MAVEN_ARGS | -v |
| MAVEN_MIRROR_URL | http://127.0.0.1:8080/repository/internal/ |
Expand All @@ -59,7 +59,7 @@ Feature: Openshift OpenJDK S2I tests

# HTTP_PROXY (all caps) ignored
Scenario: run the s2i and check the maven mirror and proxy have been initialised in the default settings.xml, uses http_proxy and HTTP_PROXY
Given s2i build https://github.com/jboss-container-images/openjdk-test-applications from spring-boot-sample-simple
Given s2i build https://github.com/rh-openjdk/openjdk-container-test-applications.git from spring-boot-sample-simple
| variable | value |
| MAVEN_ARGS | -v |
| http_proxy | 127.0.0.2:9090 |
Expand All @@ -72,7 +72,7 @@ Feature: Openshift OpenJDK S2I tests

# handles mirror/repository configuration; https proxy configuration
Scenario: run the s2i and check the maven mirror and proxy have been initialised in the default settings.xml, uses https_proxy
Given s2i build https://github.com/jboss-container-images/openjdk-test-applications from spring-boot-sample-simple
Given s2i build https://github.com/rh-openjdk/openjdk-container-test-applications.git from spring-boot-sample-simple
| variable | value |
| MAVEN_ARGS | -v |
| MAVEN_MIRROR_URL | http://127.0.0.1:8080/repository/internal/ |
Expand All @@ -85,7 +85,7 @@ Feature: Openshift OpenJDK S2I tests

# https proxy auth configuration (success case) + nonProxyHosts
Scenario: run the s2i and check the maven mirror, proxy (including username and password) and non proxy have been initialised in the default settings.xml, uses https_proxy
Given s2i build https://github.com/jboss-container-images/openjdk-test-applications from spring-boot-sample-simple
Given s2i build https://github.com/rh-openjdk/openjdk-container-test-applications.git from spring-boot-sample-simple
| variable | value |
| MAVEN_ARGS | -v |
| https_proxy | myuser:mypass@127.0.0.1:8080 |
Expand All @@ -97,7 +97,7 @@ Feature: Openshift OpenJDK S2I tests

# https proxy auth configuration (fail case: no password supplied)
Scenario: run the s2i and check the maven mirror, proxy (including username) and non proxy have been initialised in the default settings.xml, uses https_proxy
Given s2i build https://github.com/jboss-container-images/openjdk-test-applications from spring-boot-sample-simple
Given s2i build https://github.com/rh-openjdk/openjdk-container-test-applications.git from spring-boot-sample-simple
| variable | value |
| MAVEN_ARGS | -v |
| https_proxy | myuser@127.0.0.1:8080 |
Expand All @@ -107,7 +107,7 @@ Feature: Openshift OpenJDK S2I tests
Then XML file /tmp/artifacts/configuration/settings.xml should have 1 elements on XPath //ns:proxy[ns:id='genproxy'][ns:active='true'][ns:protocol='https'][ns:host='127.0.0.1'][ns:port='8080']

Scenario: run s2i assemble and check no_proxy is honoured with multiple entries
Given s2i build https://github.com/jboss-container-images/openjdk-test-applications from spring-boot-sample-simple
Given s2i build https://github.com/rh-openjdk/openjdk-container-test-applications.git from spring-boot-sample-simple
| variable | value |
| MAVEN_ARGS | -v |
| MAVEN_MIRROR_URL | http://127.0.0.1:8080/repository/internal/ |
Expand All @@ -120,30 +120,30 @@ Feature: Openshift OpenJDK S2I tests

# deprecated?
Scenario: run an S2I build that depends on com.redhat.xpaas.repo.redhatga being defined
Given s2i build https://github.com/jboss-container-images/openjdk-test-applications from spring-boot-sample-simple
Given s2i build https://github.com/rh-openjdk/openjdk-container-test-applications.git from spring-boot-sample-simple

# deprecated?
Scenario: run an S2I that should fail as MAVEN_ARGS does not define com.redhat.xpaas.repo.redhatga
Given failing s2i build https://github.com/jboss-container-images/openjdk-test-applications from spring-boot-sample-simple using openjdk-enforce-profile
Given failing s2i build https://github.com/rh-openjdk/openjdk-container-test-applications.git from spring-boot-sample-simple using openjdk-enforce-profile
| variable | value |
| MAVEN_ARGS | -e package |

# CLOUD-579
Scenario: Test that maven is executed in batch mode
Given s2i build https://github.com/jboss-container-images/openjdk-test-applications from spring-boot-sample-simple
Given s2i build https://github.com/rh-openjdk/openjdk-container-test-applications.git from spring-boot-sample-simple
Then s2i build log should contain --batch-mode
And s2i build log should not contain \r

# CLOUD-3095 - context dir should be recursively copied into the image
# "/target" suffix is important here; it triggers a different code-path (no source build)
Scenario: Ensure binary-only mode copies binaries into the target image
Given s2i build https://github.com/jboss-container-images/openjdk-test-applications from spring-boot-sample-simple/target
Given s2i build https://github.com/rh-openjdk/openjdk-container-test-applications.git from spring-boot-sample-simple/target
Then s2i build log should not contain skipping directory .
And run find /deployments in container and check its output for spring-boot-sample-simple-1.5.0.BUILD-SNAPSHOT.jar

# OPENJDK-1954 - MAVEN_REPOS
Scenario: run the s2i and check the maven mirror and proxy have been initialised in the default settings.xml, uses http_proxy
Given s2i build https://github.com/jboss-container-images/openjdk-test-applications from spring-boot-sample-simple/target
Given s2i build https://github.com/rh-openjdk/openjdk-container-test-applications.git from spring-boot-sample-simple/target
| variable | value |
| MAVEN_REPOS | TESTREPO,ANOTHER |
| TESTREPO_MAVEN_REPO_URL | http://repo.example.com:8080/maven2/ |
Expand All @@ -160,7 +160,7 @@ Feature: Openshift OpenJDK S2I tests

# OPENJDK-1961: MAVEN_REPO_URL and MAVEN_REPO_ID
Scenario: Check MAVEN_REPO_URL generates Maven settings and profile configuration
Given s2i build https://github.com/jboss-container-images/openjdk-test-applications from spring-boot-sample-simple/target
Given s2i build https://github.com/rh-openjdk/openjdk-container-test-applications.git from spring-boot-sample-simple/target
| variable | value |
| MAVEN_REPO_URL | http://repo.example.com:8080/maven2/ |
| MAVEN_REPO_ID | myrepo |
Expand All @@ -171,19 +171,19 @@ Feature: Openshift OpenJDK S2I tests
Then XML file /tmp/artifacts/configuration/settings.xml should have 1 elements on XPath //ns:profile[ns:id='myrepo-profile']/ns:repositories/ns:repository[ns:url='http://repo.example.com:8080/maven2/']

Scenario: Ensure the environment is cleaned when executing mvn (OPENJDK-1549)
Given s2i build https://github.com/jboss-container-images/openjdk-test-applications from OPENJDK-1549 with env
Given s2i build https://github.com/rh-openjdk/openjdk-container-test-applications.git from OPENJDK-1549 with env
| variable | value |
| MAVEN_ARGS | validate |

Scenario: Ensure that run-env.sh placed in the JAVA_APP_DIR is sourced in the run script before launching java
Given s2i build https://github.com/jboss-container-images/openjdk-test-applications from quarkus-quickstarts/getting-started-3.0.1.Final-nos2i
Given s2i build https://github.com/rh-openjdk/openjdk-container-test-applications.git from quarkus-quickstarts/getting-started-3.0.1.Final-nos2i
| variable | value |
| S2I_SOURCE_DATA_DIR | ./ |
| S2I_TARGET_DATA_DIR | /deployments |
Then container log should contain INFO exec -a "someUniqueString" java

Scenario: Ensure mtime is preserved for build artifacts (OPENJDK-2408)
Given s2i build https://github.com/jboss-container-images/openjdk-test-applications from OPENJDK-2408-bin-custom-s2i-assemble with env
Given s2i build https://github.com/rh-openjdk/openjdk-container-test-applications.git from OPENJDK-2408-bin-custom-s2i-assemble with env
| variable | value |
| S2I_DELETE_SOURCE | false |
Then run find /deployments/spring-boot-sample-simple-1.5.0.BUILD-SNAPSHOT.jar ! -newer /tmp/src/spring-boot-sample-simple-1.5.0.BUILD-SNAPSHOT.jar in container and check its output for spring-boot-sample-simple-1.5.0.BUILD-SNAPSHOT.jar
4 changes: 2 additions & 2 deletions modules/maven/s2i/tests/features/java_s2i_inc.feature
Original file line number Diff line number Diff line change
Expand Up @@ -5,12 +5,12 @@ Feature: Openshift OpenJDK S2I tests

# test incremental builds
Scenario: Check incremental builds cache .m2
Given s2i build https://github.com/jboss-container-images/openjdk-test-applications from undertow-servlet
Given s2i build https://github.com/rh-openjdk/openjdk-container-test-applications.git from undertow-servlet
| variable | value |
| JAVA_ARGS | Hello from CTF test |
Then container log should contain /deployments/undertow-servlet.jar Hello from CTF test
And s2i build log should contain Downloading from central:
Given s2i build https://github.com/jboss-container-images/openjdk-test-applications from undertow-servlet with env and incremental
Given s2i build https://github.com/rh-openjdk/openjdk-container-test-applications.git from undertow-servlet with env and incremental
| variable | value |
| JAVA_ARGS | Hello from CTF test |
Then container log should contain /deployments/undertow-servlet.jar Hello from CTF test
Expand Down
7 changes: 5 additions & 2 deletions modules/run/tests/features/java.runtime.feature
Original file line number Diff line number Diff line change
@@ -1,14 +1,17 @@
@openjdk-els/openjdk-11-rhel9
@ubi9/openjdk-17
@ubi9/openjdk-21
Feature: Openshift OpenJDK Runtime tests (OPENJDK-474)
Feature: Openshift OpenJDK Runtime tests (OPENJDK-474, OPENJDK-2805)

Scenario: Ensure JAVA_ARGS is passed through, diagnostic options work correctly, JVM_ARGS not present in run script, OPENJDK-474 JAVA_ARGS not repeated
Given s2i build https://github.com/jboss-container-images/openjdk-test-applications from undertow-servlet
Given s2i build https://github.com/rh-openjdk/openjdk-container-test-applications.git from undertow-servlet
| variable | value |
| JAVA_ARGS | unique |
| JAVA_DIAGNOSTICS | true |
Then container log should contain /deployments/undertow-servlet.jar unique
And container log should contain -XX:NativeMemoryTracking=summary
And file /usr/local/s2i/run should exist
And file /usr/local/s2i/run should not contain JVM_ARGS
And file /usr/libexec/s2i/run should exist
And file /usr/libexec/s2i/run should not contain JVM_ARGS
And container log should not contain unique unique
2 changes: 1 addition & 1 deletion modules/run/tests/features/java.security.feature
Original file line number Diff line number Diff line change
Expand Up @@ -3,5 +3,5 @@
@ubi9/openjdk-21
Feature: Openshift S2I tests
Scenario: Check networkaddress.cache.negative.ttl has been set correctly
Given s2i build https://github.com/jboss-container-images/openjdk-test-applications from binary-cli-security-property
Given s2i build https://github.com/rh-openjdk/openjdk-container-test-applications.git from binary-cli-security-property
Then s2i build log should contain networkaddress.cache.negative.ttl=0
3 changes: 3 additions & 0 deletions modules/s2i/core/configure.sh
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,9 @@ mkdir -p /usr/local/s2i \
&& chmod 775 /usr/local/s2i \
&& chown -R $USER:root /usr/local/s2i

# OPENJDK-2805
ln -s /usr/local/s2i /usr/libexec/s2i

mkdir -p /deployments \
&& chmod -R "ug+rwX" /deployments \
&& chown -R $USER:root /deployments
6 changes: 3 additions & 3 deletions modules/s2i/core/tests/features/java_s2i_quarkus.feature
Original file line number Diff line number Diff line change
Expand Up @@ -5,11 +5,11 @@
Feature: Openshift OpenJDK S2I tests (Quarkus-based)

Scenario: Ensure Quarkus CDS doesn't fail due to timestamp mismatch (OPENDJK-1673)
Given s2i build https://github.com/jboss-container-images/openjdk-test-applications from getting-started
Given s2i build https://github.com/rh-openjdk/openjdk-container-test-applications.git from getting-started
Then container log should not contain A jar file is not the one used while building the shared archive file

Scenario: quarkus fast-jar layout works out-of-the-box (OPENJDK-631)
Given s2i build https://github.com/jboss-container-images/openjdk-test-applications from quarkus-quickstarts/getting-started-3.0.1.Final-nos2i
Given s2i build https://github.com/rh-openjdk/openjdk-container-test-applications.git from quarkus-quickstarts/getting-started-3.0.1.Final-nos2i
Then container log should contain INFO quarkus fast-jar package type detected
And container log should contain -jar /deployments/quarkus-app/quarkus-run.jar
And container log should contain (main) getting-started 1.0.0-SNAPSHOT on JVM (powered by Quarkus
Expand All @@ -18,7 +18,7 @@ Feature: Openshift OpenJDK S2I tests (Quarkus-based)
And container log should not contain no main manifest attribute

Scenario: quarkus uber-jar layout works out-of-the-box (OPENJDK-631)
Given s2i build https://github.com/jboss-container-images/openjdk-test-applications from quarkus-quickstarts/getting-started-3.0.1.Final-nos2i with env
Given s2i build https://github.com/rh-openjdk/openjdk-container-test-applications.git from quarkus-quickstarts/getting-started-3.0.1.Final-nos2i with env
| variable | value |
| QUARKUS_PACKAGE_TYPE | uber-jar |
Then container log should not contain INFO quarkus fast-jar package type detected
Expand Down
Loading

0 comments on commit 26c87f3

Please sign in to comment.