Engineer Proposes Reviewing GitLab CI Files as Job Graphs, Not Text Diffs
A software engineer argues that reviewing .gitlab-ci.yml changes as plain text diffs is risky because small edits can silently break pipeline behavior in ways that are not immediately obvious. The core issue is that the file functions as compiler input, where the meaningful unit is the effective job graph produced after all directives like rules, needs, and artifacts interact. To address this, the engineer built a local Python tool called ci_graph.py that expands includes, resolves inheritance, and outputs a structured JSON record for each job showing when it runs, what it depends on, and what it publishes. The tool deliberately emits 'unknown' for ambiguous cases rather than guessing, keeping the preview conservative and trustworthy. The goal is to make semantic changes visible to reviewers before a merge request is approved, reducing the chance of silent pipeline regressions reaching production.
This is an AI-generated summary. ShortSingh links to the original source for the complete article.
Discussion (0)
Log in to join the discussion and vote.
Log in