Taming octocatalog-diff in CI: Exit Codes and Noise-Free Error Output

octocatalog-diff is a great tool for surfacing Puppet catalog changes in pull requests, but its default CI behaviour has two sharp edges: it exits with code 2 when diffs are found (which most CI systems treat as failure), and its stderr is full of Ruby thread noise and stack traces that obscure the actual compilation errors you care about. Here is how we fixed both. The Exit Code Problem octocatalog-diff uses three exit codes: ...

March 6, 2026 · 2 min · Ashish Jaiswal