Skip to content

Conversation

jmtd
Copy link
Member

@jmtd jmtd commented Jul 23, 2025

https://issues.redhat.com/browse/OPENJDK-4002

This is a merge-down of the jlink-dev branch to ubi9. Rationale: to remove the need to continually sync the jlink-dev branch with ubi9 and ease rebuilding the TP image at the same time as the rest of them.

The jlink-dev branch modifies some core modules and the JDK21 image descriptor.

For this PR instead we create a new image descriptor. All the jlink changes to the regular modules are reverted and isolated to the jlink module and new TP image descriptor.

The exceptions are

  • introduction and use of "pathfinder" module. This abstracts the jar-finding logic out of modules/run/artifacts/run-java.sh so it can be re-used elsewhere.
  • the jlink code is invoked by additions to modules/s2i/bash/artifacts/local/assemble. These are entirely logic-gated by if [ "$S2I_ENABLE_JLINK" = "true" ], so none of it will be executed by the normal images.
  • modules/s2i/core/artifacts/s2i-core adds an export of S2I_ENABLE_JLINK (defaulting to false) which should be benign

jmtd and others added 30 commits September 11, 2023 09:08
For push actions only (e.g., post-PR merge), after successfully
completing the behave-test step, Log into GitHub container registry
(ghcr.io) and push the image.

Add the necessary permissions to write to the GHCR repository.

Adjust the build and test steps to use a predictable,
version-independent image name ("localimage") which we can reference
in the new steps.

Signed-off-by: Jonathan Dowland <[email protected]>
This allows GitHub to provide links back from the Container Images
to the source repository that built them.
See <https://github.com/opencontainers/image-spec/blob/main/annotations.md#pre-defined-annotation-keys>

Signed-off-by: Jonathan Dowland <[email protected]>
[OPENJDK-2063] Add dockerfile to do a multi-stage build for jlink JRE light weight container application
…nto run-java.sh

- This tweak is to avoid defining JBOSS_CONTAINER_UTIL_LOGGING_MODULE as ENV in templates/jlink/Dokcerfile
- Deleted run-env.sh and folded its content to run-java.sh as its not doing anything much other than setting value of JAVA_APP_DIR

Signed-off-by: Jayashree Huttanagoudar <[email protected]>
Signed-off-by: Jayashree Huttanagoudar <[email protected]>
…GING_MODULE and JBOSS_CONTAINER_JAVA_RUN_MODULE

Signed-off-by: Jayashree Huttanagoudar <[email protected]>
This is a hail-mary change: we are experiencing problems with GHA
runs timing out (behave tests taking up to five hours to run). We
were running on a not-current GHA runner version, and I think the
old runners get fewer resources than the newer ones.

Signed-off-by: Jonathan Dowland <[email protected]>
[OPENJDK-2063] Tweak run scripts to support docker multistage build for jlinked JRE container application
…nd also remove ENV setting as they are taken care in run-java.sh

Signed-off-by: Jayashree Huttanagoudar <[email protected]>
[OPENJDK-2063] Modify Dockerfile to consolidate destination path for image scripts
Signed-off-by: Jayashree Huttanagoudar <[email protected]>
…urce_uri

[OPENJDK-2199] Update tests to refer new application source repository
Changes were made to run-java.sh in one branch of a merge that needed
to be promoted up to the new pathfinder mdouel from the other branch
of a merge.

Signed-off-by: Jonathan Dowland <[email protected]>
Signed-off-by: Jonathan Dowland <[email protected]>
README for jlink template directory
Add JDK21 jmods RPM to builder image
For clarity.

Signed-off-by: Jonathan Dowland <[email protected]>
jmtd and others added 26 commits March 5, 2025 11:54
[OPENJDK-3683] revert change to GHA image name
[OPENJDK-3646] clean up jdeps *.txt files unless S2I_DELETE_SOURCE is set
This reverts commit 4967f2c.

Should address OPENJDK-3680.
[OPENJDK-3681] get rid of measure.sh
[OPENJDK-3682] Correct org.opencontainers.image.source
Update the example APP_URI and CONTEXT_DIR
[OPENJDK-3686] update jlink README with RHEC link, customer focus
Signed-off-by: Jonathan Dowland <[email protected]>
the s2i and jdk modules are used by the non-jlink images; remove
the changes to those made in the jlink-dev work. Move those
changes to the jlink module.

Note: prior commit added an explicit dependency on the jlink
module to the jlink-dev image descriptor.

Signed-off-by: Jonathan Dowland <[email protected]>
@jmtd jmtd added the ubi9 RHEL UBI 9 label Jul 23, 2025
@jmtd
Copy link
Member Author

jmtd commented Jul 23, 2025

I appreciate 190 commits (so far) is a lot. I am keen to preserve the authorship of the jlink stuff for Josh and Jaya. Some useful comparison commands I used in preparing:

git diff --stat ubi9 HEAD (as well as inspecting the full diff)

git config diff.colormoved plain -- helps see chunks of code that are moved between files (for pathfinder in particular)

@jmtd
Copy link
Member Author

jmtd commented Aug 5, 2025

closed in favour of #596

@jmtd jmtd closed this Aug 5, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
ubi9 RHEL UBI 9
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants