TT-17874: timeout docker-compose log collection in reporting action - #150
TT-17874: timeout docker-compose log collection in reporting action#150konrad-sol wants to merge 1 commit into
Conversation
The "Docker logs for all components" step in the reporting action runs `docker compose ... logs`, which can hang if a container is unresponsive and otherwise burns the whole test job's timeout. Wrap it in `timeout 300` (composite action steps can't take timeout-minutes), emit a warning on miss, and keep it best-effort so a slow log dump never fails the job. Shared by API and UI tests. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
This PR introduces a timeout to the log collection step in a shared GitHub Action to prevent CI jobs from hanging. Files Changed AnalysisThe single modified file is Architecture & Impact AssessmentAccomplishment: This PR prevents a potential CI pipeline failure where an unresponsive container could cause the Key Technical Changes:
Affected System Components:
graph TD
subgraph "CI Workflow (API/UI Tests)"
A[Test Job] --> B["uses: ./.github/actions/tests/reporting"];
end
subgraph "reporting action"
B --> C["Step: 'Docker logs for all components'"];
end
subgraph "PR Change"
C -- wraps command with --> D["timeout 300"];
end
style D fill:#c9f,stroke:#333,stroke-width:2px
Scope Discovery & Context ExpansionThe change is localized to a single composite action, but its impact is broader due to the action's reusable nature. According to the PR description, this action is a shared dependency for both API and UI test reporting. While a search within this repository did not reveal the specific workflows that consume this action, the context provided by the author implies it is a foundational component for test diagnostics across multiple test suites, potentially in other repositories or dynamically triggered workflows. The change improves the reliability of any pipeline that relies on this reporting action. Metadata
Powered by Visor from Probelabs Last updated: 2026-08-05T14:46:42.777Z | Triggered by: pr_opened | Commit: 912ee06 💡 TIP: You can chat with Visor using |
Security Issues (1)
✅ Architecture Check PassedNo architecture issues found – changes LGTM. ✅ Performance Check PassedNo performance issues found – changes LGTM. Powered by Visor from Probelabs Last updated: 2026-08-05T14:46:15.594Z | Triggered by: pr_opened | Commit: 912ee06 💡 TIP: You can chat with Visor using |
|
Superseded — moved the log-collection timeout to the workflow level in the gromit template (TykTechnologies/gromit#521): the "Generate test reports and collect logs" step now has |
What
Bounds the log-collection step in the shared
tests/reportingaction with atimeout.The "Docker logs for all components" step runs
docker compose … logs, which can hang if a container is unresponsive — running the calling test job to its full timeout (e.g. 45 min) just to collect diagnostics. This wraps it intimeout 300so it's capped at 5 min, emits a::warning::on miss, and stays best-effort (a slow/failed log dump never fails the job).timeout-minutesisn't supported on composite-action steps, so the command itself is bounded. The action is shared, so this covers both API and UI test reporting.Part of TT-17874 (release-pipeline speed-up). Companion PRs: gromit templates (TykTechnologies/gromit#521), tyk-analytics test fixes (TykTechnologies/tyk-analytics#6047).
TT-17874
🤖 Generated with Claude Code