RFR: 8337265: Test static-libs build in GitHub Actions
Doug Simon
dnsimon at openjdk.org
Mon Sep 2 14:46:18 UTC 2024
On Mon, 2 Sep 2024 11:01:00 GMT, Magnus Ihse Bursie <ihse at openjdk.org> wrote:
>> This PR modifies the GitHub Actions product build on Linux to include building of the static-libs bundle.
>> This is a minimal smoke test to ensure these builds don't break.
>
> Also, you might not be aware of this, but I am working on a redesign of how static libraries are built in the JDK. This has been long overdue but have been put into sharp contrast by the Hermetic Java project. The long-term plan is to compile the .o files only onces, and then link them twice, once for normal dynamic libs, and once for static libs. This will make building static libs essentially free, and when that happens, enabling them on GHA is a no-brainer.
>
> It have only been making slow progress towards that goal due to a number of factors, so I cannot promise that it will done by any specific date, but it is a high priority task for me.
>
> So you can either try to argue that this should be enabled already, even though it costs extra cycles, or you can wait until the static libs redesign is done, and it will be enabled for free.
Hi @magicus . Yes, I'm aware of your redesign of how static libraries are built in the JDK and am looking forward to it.
I looked at the GHA usage summary for a number of OpenJDK PRs and see that the average compute time usage for all tests is about 26 hours ([example](https://github.com/lepestock/jdk/actions/runs/10662774885/usage)). Adding 10 extra mins doesn't seem like too much extra cost. As you say, static libs GHA testing will probably soon be enabled by default based on your current work in this area and will only get cheaper.
Wrt to this PR, a secondary motivation is to allow for an external cron-like job to be able to automatically test OpenJDK PRs against libgraal (which needs the static libraries) without having to build the static-libs explicitly. Sure, it's a special case but is that so different from some of the existing jobs such as `linux-cross-compile / build (arm)` (~20 mins), `linux-x64-hs-zero / build (debug)` (~12 mins) and `linux-x64-hs-optimized / build (debug)` (~16 mins)?
-------------
PR Comment: https://git.openjdk.org/jdk/pull/20803#issuecomment-2324908752
More information about the build-dev
mailing list