Running tests on GitLab on arm64 Linux.#11364
Conversation
This comment has been minimized.
This comment has been minimized.
amarziali
left a comment
There was a problem hiding this comment.
Another approach can also be to just run the smoke tests only on arm64 that will be perhaps enough
| public class MsgPackWriterTest { | ||
| // Explicit escapes for non-ASCII chars to make test independent of container settings. | ||
| private static final String NON_ASCII_STRING = "foob\u00E1r_\u263a"; // foobár_☺ | ||
| private static final String NON_ASCII_STRING = "foobár_☺"; |
There was a problem hiding this comment.
why this has been changed?
There was a problem hiding this comment.
I restored it as it was in master, because it was wrong assumption that arm64 failed on non-ASCII source code, it was a missing package in base docker image that we are using on CI.
| * | ||
| * @return @{@code true} if architecture is arm64, {@code false} otherwise. | ||
| */ | ||
| public static boolean isArm64() { |
There was a problem hiding this comment.
this should stay inside architecture more than under operatingSystem
There was a problem hiding this comment.
Refactored.
|
|
||
| if (OperatingSystem.isLinux() && OperatingSystem.isArm64()) { | ||
| // Disable CDS to avoid SIGSEGVs on Linux arm64. | ||
| baseCommand.add(1, "-Xshare:off"); |
There was a problem hiding this comment.
Any reason we don't move this to command below, which is already mutable? AFAICT baseCommand doesn't escape anywhere else, it's just fed into command below.
That way the baseCommand doesn't need to be turned into an ArrayList
🟢 Java Benchmark SLOs — All performance SLOs passed
PR vs. master resultsStartup Time
Commit: Load and DaCapo benchmarks can be triggered manually in the GitLab pipeline. Results will appear in the Benchmarking Platform UI after completion. |
What Does This Do
Adds Linux ARM64 CI coverage for
It introduces shared host-platform detection and applies ARM64-specific JVM workarounds such as disabling CDS and allowing ByteBuddy self-attach.
It also updates or skips tests that depend on unavailable ARM64 images/native binaries, including MS SQL Server, WebSphere, old Netty epoll, protobuf 3.0, Restlet parallel requests, and selected crash-tracking cases.
Motivation
Enable
dd-trace-javatest suites to run on Linux ARM64 runners and make platform-specific failures explicit.Additional Notes
ARM64 GitLab jobs are manual and allowed to fail for now. Will became part of MQ and/or master pipelines in follow up PRs.