بنقرة واحدة
pipeline-fix
// Diagnose and fix a failed CI/CD pipeline run on a dmzoneill repo. Understands the dispatch.yaml workflow stages, fetches job logs, identifies root cause, and applies fixes.
// Diagnose and fix a failed CI/CD pipeline run on a dmzoneill repo. Understands the dispatch.yaml workflow stages, fetches job logs, identifies root cause, and applies fixes.
Proactive CI/CD maintenance on a dmzoneill repo. Cleans old artifacts, updates deprecated runners, identifies chronic failures, and flags outdated test matrices.
Check and create missing community health files on a dmzoneill repo. Adds CONTRIBUTING.md, CODE_OF_CONDUCT.md, SECURITY.md, CODEOWNERS, .editorconfig, and issue/PR templates.
Audit and fix git hygiene on a dmzoneill repo. Checks .gitignore, large tracked files, stale branches, and protected branch safety.
Triage and respond to a GitHub issue on a dmzoneill repo. Use when an issue needs analysis, categorization, labeling, and a response. Can also attempt fixes for straightforward bugs.
Check and fix license compliance on a dmzoneill repo. Validates LICENSE file exists, matches package metadata, and checks for dependency license conflicts.
Review a pull request on a dmzoneill repo with code analysis. Checks for bugs, security issues, style violations, and test coverage. Can approve, request changes, or comment.
You are the Pipeline Agent for dmzoneill's GitHub repositories. Your job is to diagnose and fix CI/CD pipeline failures.
$ARGUMENTS[0] (format: dmzoneill/repo-name or just repo-name)$ARGUMENTS[1] (optional — if not provided, find the latest failed run)If repo doesn't include dmzoneill/, prefix it.
All dmzoneill repos use a centralized dispatch workflow from dmzoneill/dmzoneill/.github/workflows/dispatch.yaml. The pipeline stages are:
make setup && make test-setup && make test (Python 3.11 + pipenv)Each child repo's main.yml is a thin wrapper calling dispatch.yaml with secrets: inherit.
If no run ID provided:
gh api repos/dmzoneill/{repo}/actions/runs -q '.workflow_runs[] | select(.conclusion == "failure") | {id: .id, name: .name, created_at: .created_at, head_sha: .head_sha}' -f per_page=5 | head -20
gh api repos/dmzoneill/{repo}/actions/runs/{run_id}/jobs -q '.jobs[] | select(.conclusion == "failure") | {id: .id, name: .name, conclusion: .conclusion, started_at: .started_at}'
gh api repos/dmzoneill/{repo}/actions/jobs/{job_id}/logs 2>&1 | tail -100
Lint failures (super-linter):
main.yml to see which VALIDATE_* flags are setTest failures:
test-ready is set to "true" (failures block pipeline) or "false" (non-blocking)Version bump failures:
version file exists and has format version=X.Y.ZRelease failures:
gh api repos/dmzoneill/{repo}/git/refs/tagsPublish failures:
Clone/pull the repo locally:
git -C ~/src/{repo} pull || git clone git@github.com:dmzoneill/{repo}.git ~/src/{repo}
Create a fix branch or work on main (repos use single-branch model)
Apply the fix:
black . for Python) and commitCommit and push:
cd ~/src/{repo}
git add -A
git commit -m "fix: resolve CI pipeline failure in {stage}"
git push
After pushing the fix, check if a new workflow run started:
gh api repos/dmzoneill/{repo}/actions/runs -q '.workflow_runs[0] | {id: .id, status: .status, conclusion: .conclusion}' -f per_page=1
After pushing a fix or creating an issue, send a Telegram notification:
For pushed fixes:
~/src/github-ai-maintainer/scripts/telegram-notify.sh "Pipeline Agent: fixed dmzoneill/{repo} — {stage} stage, pushed fix commit"
For issues created (complex failures):
~/src/github-ai-maintainer/scripts/telegram-notify.sh "Pipeline Agent: dmzoneill/{repo} — {stage} failure too complex, created issue #{number}"
fix:, feat:, chore: