Open luhenry opened 6 months ago
the main limiting factor to get to GA is the limited access to RISC-V boards
Hmmm just to give my view on this I would actually somewhat dispute that assertion as it's written - we do have over a dozen boards of various types in the CI and while they may not be highly performant they are generally capable of producing useful test output so I don't think that's directly blocking progress - but a few other things likely are: To my mind the real limiting factors which I've seen while working on this are:
Noting that on the first point, TRSS can help with the test analysis, although that has a prereq on the builds being scheduled regularly via the jobs such as https://ci.adoptium.net/job/build-scripts/job/evaluation-openjdk21-pipeline/ (Should be fixed as per the PR in the second bullet - note that's not currently publicly visible but we should fix that) but if it's useful we could potentially also have a tab on the ci.adoptium.net page for RISC-V which showed just the build and test jobs for that platform to make it easy to find the important ones to look at.
Obviously, proving it can pass in an RVV1.0 environment is highly desirable too (and a reasonable goal which could be solved with static docker containers or the dynamic ones from the second last bullet point) but if it doesn't fully pass anywhere we've got a bigger problem to solve :slightly_smiling_face:
AIs from offline discussion:
Notes:
Provide bootjdk for jdk21u from TBD to docker image
For this, the best one to use is the one described in https://fosstodon.org/@sxa/111449356957539294 which was built in a way that will run in a container (still needs --security-opt secocomp=unconfined
and on Ubuntu 20.04: https://api.adoptium.net/v3/binary/version/jdk-21.0.1+12.1-ea-beta/linux/riscv64/jdk/hotspot/normal/adoptium - that should be good as a bootstrap for JDK22 as well (The first build of that should happen on the next new tag in there, which is likely to be later today.
The other thing, which we didn't explicitly talk about, was that we'll need https://github.com/adoptium/temurin-build/issues/3378 fixed to be able to build the main jdk (jdk23 now) repository unless we also put a JDK22 into the image.
I've created a RISC-V view at https://ci.adoptium.net/view/RISC-V/ as a convenient way of viewing the jobs we're interested in for the purposes of this so we can see how many of them are having problems
Verified that 22 and 23 are now being triggered along with the other platforms but 23 is failing (as expected) due to the dirmngr
error (third bullet point in the big list above)
New docker build image with the updated JDKs is being pushed as I write this :-)
I'm doing a full run on jdk21u at https://ci.adoptium.net/job/build-scripts/job/jobs/job/evaluation/job/jobs/job/jdk21u/job/jdk21u-evaluation-linux-riscv64-temurin/112/console and collecting the test failures into https://github.com/adoptium/aqa-tests/issues/4976.
I'll do a full run on jdk17u next and collect the test failures into https://github.com/adoptium/aqa-tests/issues/4976 as well.
tools/jpackage
issues - failures searching for X11 packages (and more?) - does it need a headless option like Alpine? Where is it set? Re-run on VF2 | plct-2 | plct-5 (Likely Ubuntu specific since I've seen similar on s390x - ldd
output from JDK .so
files can't be found by dpkg -S
because /lib
is linked to /usr/lib
where they really are).
In our current building and testing of Temurin on RISC-V, the main limiting factor to get to GA is the limited access to RISC-V boards. We are hoping to have access to more in the future, but even the ones we have access to today are slow or not available in enough quantity.
To alleviate the pressure on the pool of RISC-V boards we have, I am exploring building Temurin on QEMU on an aarch64/x86 host. The first succesfull run can be found at https://ci.adoptium.net/job/build-scripts/job/jobs/job/evaluation/job/jobs/job/jdk17u/job/jdk17u-evaluation-linux-riscv64-temurin/34/.
This work relies on the following PRs: