Skip to content

[OPENJDK-4002] merge down the jlink-dev branch #594

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
wants to merge 190 commits into from

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