-
Notifications
You must be signed in to change notification settings - Fork 5.8k
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
8349399: GHA: Add static-jdk build on linux-x64 #23471
Conversation
👋 Welcome back jiangli! A progress list of the required criteria for merging this PR into |
@jianglizhou This change now passes all automated pre-integration checks. ℹ️ This project also has non-automated pre-integration requirements. Please see the file CONTRIBUTING.md for details. After integration, the commit message for the final commit will be:
You can use pull request commands such as /summary, /contributor and /issue to adjust it as needed. At the time when this comment was updated there had been 1 new commit pushed to the
Please see this link for an up-to-date comparison between the source branch of this pull request and the ➡️ To integrate this PR with the above commit message to the |
@jianglizhou The following label will be automatically applied to this pull request:
When this pull request is ready to be reviewed, an "RFR" email will be sent to the corresponding mailing list. If you would like to change these labels, use the /label pull request command. |
Webrevs
|
What's the difference between |
@shipilev Thanks for looking into this.
Currently, the main difference is avoiding building
|
@shipilev Can you help review/approve the change, if no other questions? |
I brought up this PR during today's hermetic Java meeting. There was a question asked about the time used for the static build job. Here is a comparison between
|
Sorry for not looking at this sooner. It looks to me that you are trying to work-around a little mess introduced by |
Thank you, @shipilev! Fixing the build-linux first sounds good to me. I see you have PR already, thanks again! In fact, there is a similar build resource (disk space) issue for the static job as well. It requires some work in both the runtime and build system to address the underlying problem that causes excessive build resource consumption. I created https://bugs.openjdk.org/browse/JDK-8350450. @magicus has been looking into integrating (related runtime changes from hermetic-java-runtime branch) and fixing the issue in JDK mainline. |
Hey @jianglizhou, a quick question for you. There are two options for this PR:
|
#23715 should now be in. Now you can just add a clean separate job for this, like this one: jdk/.github/workflows/main.yml Lines 228 to 245 in bd112c4
And then you don't need a whole new script for static-jdk build. |
…ve build-linux-static.yml.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Cool, one nit:
.github/workflows/main.yml
Outdated
@@ -168,6 +168,19 @@ jobs: | |||
make-arguments: ${{ github.event.inputs.make-arguments }} | |||
if: needs.prepare.outputs.linux-x64 == 'true' | |||
|
|||
build-linux-x64-static-jdk: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Move this closer to build-linux-x64-static-libs
? These are somewhat related, at least in their need for debug-levels: release
. Probably copy a comment about debug-level there.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Also maybe just build-linux-x64-static
? -jdk
feels a bit redundant. I see you had it before, would you still prefer ...-static-jdk
?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for the quick look, @shipilev! Also, thanks for separating the static-libs-bundle with #23715. I haven't responded to your earlier comment as I wanted to wait for the GHA testing results.
I renamed to ...-static-jdk
to be more consistent with the new ...-static-libs
job. build-linux-x64-static
still sounds fine to me, I'll rename it back.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@shipilev Updated based on your suggestions.
…move close to build-linux-x64-static-libs, for addressing shipilev's suggestions.
.github/workflows/main.yml
Outdated
make-arguments: ${{ github.event.inputs.make-arguments }} | ||
if: needs.prepare.outputs.linux-x64 == 'true' |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ah, one more trouble: this job produces bundles. But that bundle name is just linux-x64
, which overrides the standard bundle. See how build-linux-x64-static-libs
overrides bundle-suffix:
, do the same here. E.g. bundle-suffix: "-static"
?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ah, one more trouble: this job produces bundles. But that bundle name is just
linux-x64
, which overrides the standard bundle. See howbuild-linux-x64-static-libs
overridesbundle-suffix:
, do the same here. E.g.bundle-suffix: "-static"
?
The current build-linux-x64-static
job doesn't produce any bundles.
I do agree with your point on overriding the bundle name, as we probably want to include bundle creation in the job at some later point. I actually ran into GHA failure initially when I used the build-linux.yml
for the job due to bundle name conflict before your #23715 change. Updating to include your suggestion for the bundle name...
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
OK, this looks fine. See if @magicus agrees as well.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yeah, looks good. Thanks @shipilev and @jianglizhou for getting this better solution than the initial proposal.
/integrate |
@jianglizhou Pushed as commit 78c18cf. 💡 You may see a message that your pull request was closed with unmerged commits. This can be safely ignored. |
Please review this change that adds a
linux-x86-static
job in GHA. The job builds thestatic-jdk-image
release binary on linux-x64. Please see https://mail.openjdk.org/pipermail/build-dev/2025-February/048830.html for some additional context.A
debug
build job (buildingstatic-jdk-image
fastdebug binary) is not included currently. There is a known issue that causes build failure due to resource problem, which causes thefastdebug
build fail in github workflow. Please see more related information in https://bugs.openjdk.org/browse/JDK-8349399?focusedId=14749789&page=com.atlassian.jira.plugin.system.issuetabpanels%3Acomment-tabpanel#comment-14749789.GHA: https://github.com/jianglizhou/jdk/actions/runs/13163673020
Progress
Issue
Reviewers
Reviewing
Using
git
Checkout this PR locally:
$ git fetch https://git.openjdk.org/jdk.git pull/23471/head:pull/23471
$ git checkout pull/23471
Update a local copy of the PR:
$ git checkout pull/23471
$ git pull https://git.openjdk.org/jdk.git pull/23471/head
Using Skara CLI tools
Checkout this PR locally:
$ git pr checkout 23471
View PR using the GUI difftool:
$ git pr show -t 23471
Using diff file
Download this PR as a diff file:
https://git.openjdk.org/jdk/pull/23471.diff
Using Webrev
Link to Webrev Comment