Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
25 changes: 21 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -169,15 +169,27 @@ By default, the script clones the repository at the current commit for clean bui
# Force rebuild of base image only (useful after Alpine/Ubuntu updates)
./utils/run-containers-tests.sh --libc=musl --rebuild-base

# Preview all supported musl cells (sanitizer configs are skipped, matching CI policy)
./utils/run-containers-tests.sh --libc=musl --jdk=all --arch=all

# Run all supported musl cells without an interactive prompt
./utils/run-containers-tests.sh --libc=musl --jdk=all --arch=all --run

# Preview selected JDKs across every supported libc/architecture pair
./utils/run-containers-tests.sh --libc=all --jdk=8,17,21 --arch=all

# Run all OpenJ9 cells
./utils/run-containers-tests.sh --jdk=j9 --arch=all --run

# Show options
./utils/run-containers-tests.sh --help
```

Supported options:
- `--libc=glibc|musl` (default: glibc)
- `--jdk=8|11|17|21|25|8-j9|11-j9|17-j9|21-j9|17-graal|21-graal|25-graal` (default: 21)
- `--arch=x64|aarch64` (default: auto-detect)
- `--config=debug|release|asan|tsan` (default: debug)
- `--libc=glibc|musl|all[,..]` (default: glibc)
- `--jdk=8|11|17|21|25|8-j9|11-j9|17-j9|21-j9|17-graal|21-graal|25-graal|regular|j9|graal|all[,..]` (default: 21)
- `--arch=x64|aarch64|all[,..]` (default: auto-detect)
- `--config=debug|release|asan|tsan|all[,..]` (default: debug)
- `--container=podman|docker` (default: podman)
- `--tests="TestPattern"`
- `--gtest` (enable C++ gtests, disabled by default for faster runs)
Expand All @@ -186,6 +198,11 @@ Supported options:
- `--mount` (mount local repo instead of cloning - faster but may have stale artifacts)
- `--rebuild` (force rebuild of all container images)
- `--rebuild-base` (force rebuild of base image only)
- `--matrix` (preview a full test matrix; unset dimensions expand to `all`)
- `--run` (execute an inferred matrix without prompting)
- `--fail-fast` (stop matrix execution on first failure)

Single-value commands run one configuration immediately. When any dimension expands to multiple cells, the script prints a compact status table first; interactive terminals ask for confirmation, while non-interactive runs require `--run` to execute. Matrix execution prints the status table again after all cells finish and writes summaries to `build/reports/container-matrix/summary.md` and `build/reports/container-matrix/summary.json`.

## Unwinding Validation Tool

Expand Down
23 changes: 19 additions & 4 deletions utils/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -84,17 +84,21 @@ Runs tests in containers across various OS/libc/JDK combinations, mirroring the
**Usage:**
```bash
./utils/run-containers-tests.sh [options]
--libc=glibc|musl (default: glibc)
--jdk=8|11|17|21|25|8-j9|... (default: 21)
--arch=x64|aarch64 (default: auto-detect)
--config=debug|release|asan|tsan (default: debug)
--libc=glibc|musl|all[,..] (default: glibc)
--jdk=8|11|17|21|25|8-j9|...|regular|j9|graal|all[,..]
(default: 21)
--arch=x64|aarch64|all[,..] (default: auto-detect)
--config=debug|release|asan|tsan|all[,..] (default: debug)
--container=podman|docker (default: podman)
--tests="TestPattern" (optional)
--gtest (enable C++ gtests)
--gtest-task=Task (run one C++ gtest task)
--shell (drop to shell instead of running tests)
--mount (mount local repo instead of cloning)
--rebuild (force rebuild of container images)
--matrix (preview a full matrix)
--run (execute an inferred matrix without prompting)
--fail-fast (stop matrix execution on first failure)
```

Examples:
Expand All @@ -104,8 +108,19 @@ Examples:

# Use Docker instead of the default Podman runtime
./utils/run-containers-tests.sh --container=docker --libc=glibc --jdk=21

# Preview selected JDKs across every supported libc/architecture pair
./utils/run-containers-tests.sh --libc=all --jdk=8,17,21 --arch=all

# Run all supported musl cells without an interactive prompt
./utils/run-containers-tests.sh --libc=musl --jdk=all --arch=all --run

# Run all OpenJ9 cells
./utils/run-containers-tests.sh --jdk=j9 --arch=all --run
```

Single-value commands run one container test configuration immediately. When any dimension expands to multiple cells, the script prints a compact status table first; interactive terminals ask for confirmation, while non-interactive runs require `--run` to execute. Matrix execution prints the status table again after all cells finish and writes summaries to `build/reports/container-matrix/summary.md` and `build/reports/container-matrix/summary.json`.

### `patch-dd-java-agent.sh`

Patches a `dd-java-agent.jar` with a locally-built ddprof library for quick local testing without a full dd-trace-java rebuild.
Expand Down
Loading
Loading