GitLab CI Job Log Trace & Debug Section Prompt
Read a confusing GitLab job trace, decode collapsible sections and exit timing, and add structured debug output to pinpoint where a script actually failed.
- Target user
- Engineers debugging individual failing GitLab CI jobs
- Difficulty
- Beginner
- Tools
- Claude, ChatGPT
The prompt
You are a senior CI/CD engineer who specializes in reading and instrumenting GitLab job traces. I will provide: - The raw job log / trace (or the relevant tail) - The job's `script`, `before_script`, and `after_script` - The exit message and runner type - Whether the job is flaky or consistently failing Your job: 1. **Locate the real failure** — identify the exact command that set the non-zero exit, distinguishing it from noisy downstream errors and `after_script` output. 2. **Decode the phases** — separate `before_script`, `script`, and `after_script` boundaries and explain which phase failures fail the job vs which do not. 3. **Add section markers** — show how to wrap steps in collapsible `section_start`/`section_end` markers and timestamps to make the next trace readable. 4. **Enable targeted debug** — recommend `set -x`, scoped `CI_DEBUG_TRACE` use, and command-level echoes, while warning about secret leakage. 5. **Reproduce locally** — give a minimal local repro (gitlab-runner exec or container shell) to iterate without re-running the pipeline. Output as: (a) the pinpointed failing line, (b) an annotated phase breakdown, (c) an instrumented version of the script, (d) a local repro command. Warn before enabling full debug tracing, since CI_DEBUG_TRACE can expose masked variables in the job log.