Safely print system info and environment variables for debugging CI pipelines.
When CI fails, you often need visibility into the runtime environment like Node version, OS, and env vars, but dumping everything with printenv is risky because it can leak secrets into public logs. ci-debug solves this by printing a clean, readable system summary and listing environment variables while automatically redacting anything that looks sensitive, such as API keys, tokens, and passwords.
npm install ci-debugAdd this step to your GitHub Actions or CI pipeline when things go wrong:
- run: npx ci-debugOutput Example:
🔍 CI Debug Info v0.1.0
----------------------------------------
📦 System
OS: Linux 5.15.0-1048-azure (linux)
Arch: x64
Node: v20.9.0
CPUs: 2
Memory: 7000 MB Total
📂 Context
CWD: /home/runner/work/project/project
🔑 Environment Variables
CI: true
DATABASE_URL: ***** [REDACTED] *****
GITHUB_TOKEN: ***** [REDACTED] *****
NODE_ENV: production
npm_package_version: 1.0.0
----------------------------------------import { getDebugInfo } from 'ci-debug';
const info = getDebugInfo();
console.log(JSON.stringify(info, null, 2));This tool uses a regex heuristic to detect keys containing:
key, secret, token, password, auth, credential, private, cert, sig.
These values are replaced with [REDACTED].
MIT
{ github.com/mgks }