wu-sheng opened a new pull request, #148: URL: https://github.com/apache/skywalking-infra-e2e/pull/148
### Fix `docker-compose: command not found` in the compose log collector on modern runners **Problem.** The compose collector locates containers for log collection by shelling out to `docker-compose -f … -p … ps -q …` (`internal/constant/compose.go` → `internal/components/collector/compose.go`). GitHub-hosted **`ubuntu-24.04`** runners no longer ship the standalone **`docker-compose` (v1)** binary, so on every failed e2e the collector dies with: ``` docker compose ps failed: … stderr: docker-compose: command not found ``` …meaning container logs are never gathered (which makes failures much harder to debug). Note **setup already uses Compose v2** (via `testcontainers-go/modules/compose`) — only the collector was still on v1. **Fix.** Switch `ComposeCommand` from `docker-compose` to `docker compose`. The command runs via `bash -ec`, so the two-word v2-plugin invocation works as-is, and v2 accepts the same `-f / -p / ps -q` flags. It's the only `docker-compose` reference in the codebase. ```diff - ComposeCommand = "docker-compose" + ComposeCommand = "docker compose" ``` **Validation (local).** A compose e2e (`nginx`) run with the built binary: - with the homebrew `docker-compose` v1 hidden, and - with a failing `docker-compose` **stub shadowing PATH** (errors if invoked), `e2e run` completes green — `setup → verify → collect → cleanup` — and the collector gathers `inspect.json` + a container file via `docker compose` v2, while the stub is **never invoked** (proving the collector no longer calls `docker-compose`). - [x] If this pull request closes/resolves/fixes an existing issue, replace the issue number. N/A -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
