feat: add matrix tests to containers#637
Conversation
CI Test ResultsRun: #28883933977 | Commit:
Status Overview
Legend: ✅ passed | ❌ failed | ⚪ skipped | 🚫 cancelled Failed Testsmusl-amd64/debug / 17-librcaJob: View logs No detailed failure information available. Check the job logs. Summary: Total: 32 | Passed: 31 | Failed: 1 Updated: 2026-07-07 17:15:59 UTC |
4fb3c21 to
d10ab7f
Compare
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 53fb055c24
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| elif [[ "$libc" == "musl" && ( "$config" == "asan" || "$config" == "tsan" ) ]]; then | ||
| echo "sanitizer configs are filtered out for musl in CI" |
There was a problem hiding this comment.
Skip GraalVM ASan cells in the matrix
When running a matrix that includes both GraalVM and asan (for example --jdk=graal --config=asan --run or --jdk=all --config=all), these cells are marked runnable because the only sanitizer skip here is for musl. I checked .github/workflows/test_workflow.yml lines 120-124 and 435-439, and CI exits early for GraalVM+ASan due incompatible ASan shadow ranges, so the local “CI matrix” will try known-incompatible cells and fail instead of skipping them.
Useful? React with 👍 / 👎.
| for jdk in "${MATRIX_JDKS[@]}"; do | ||
| for config in "${MATRIX_CONFIGS[@]}"; do | ||
| ((MATRIX_TOTAL += 1)) | ||
| reason=$(skip_reason "$libc" "$jdk" "$config") |
There was a problem hiding this comment.
Skip HotSpot 8/11 on glibc aarch64
When --arch=aarch64 --jdk=all is used, this call has no arch context and every regular JDK from expand_jdk_dimension is marked runnable, so 8 and 11 show as runnable for glibc/aarch64. I checked .github/workflows/test_workflow.yml lines 343-346, where CI excludes HotSpot 8/11 on aarch64 because they are crashy in ASGCT; the new local matrix therefore runs cells CI intentionally omits, making full-matrix runs fail or waste time on unsupported combinations.
Useful? React with 👍 / 👎.
|
Reliability & Chaos Results✅ All reliability & chaos checks passed Pipeline: https://gitlab.ddbuild.io/DataDog/java-profiler/-/pipelines/123333603 |
What does this PR do?:
This PR allows to run all the CI tests matrix locally in containers.
Motivation:
Run the full CI tests matrix locally. It comes out to be easier to run full testsuite with agents and is also useful in case of infrastructure flakiness.
Additional Notes:
How to test the change?:
For Datadog employees:
credentials of any kind, I've requested a security review (run the
dd:platform-security-reviewskill, or file a request via the PSEC review form).
bewairealso runs automatically on every PR.Unsure? Have a question? Request a review!