README.md: - GitHub-friendly documentation - Installation instructions - Plugin overview with commands review plugin: - /review:security - Security-focused review - /review:pr - PR review - hooks.json - Post PR create suggestion - scripts/post-pr-create.sh verify plugin: - /verify:ready - Quick readiness check - /verify:tests - Test verification - hooks.json - Pre-push warning - scripts/pre-push-check.sh qa plugin: - /qa:check - Report only, no fixes - /qa:lint - Lint with fix option - hooks.json - QA output filtering ci plugin: - /ci:status - CI status display - /ci:run - Trigger workflows - /ci:fix - Analyse and fix failures - hooks.json - Post-push CI hint - scripts/post-push-ci.sh Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
1.6 KiB
1.6 KiB
| name | description |
|---|---|
| fix | Analyse and fix failing CI |
Fix CI
Analyse failing CI runs and suggest/apply fixes.
Process
-
Get failing run
gh run list --status failure --limit 1 gh run view <id> --log-failed -
Analyse failure
- Parse error messages
- Identify root cause
- Check if local issue or CI-specific
-
Suggest fix
- Code changes if needed
- CI config changes if needed
-
Apply fix (if approved)
Common CI Failures
Test Failures
Error: go test failed
--- FAIL: TestFoo
→ Fix the failing test locally, then push
Lint Failures
Error: golangci-lint failed
file.go:42: undefined: X
→ Fix lint issue locally
Build Failures
Error: go build failed
cannot find package
→ Run go mod tidy, check imports
Dependency Issues
Error: go mod download failed
→ Check go.mod, clear cache, retry
Timeout
Error: Job exceeded time limit
→ Optimise tests or increase timeout in workflow
Output
## CI Failure Analysis
**Run**: #12345
**Workflow**: Tests
**Failed at**: 2024-01-15 14:30
### Error
--- FAIL: TestCreateUser (0.02s) handler_test.go:45: expected 200, got 500
### Analysis
The test expects a 200 response but gets 500. This indicates the handler is returning an error.
### Root Cause
Looking at recent changes, `ErrNotFound` was removed but still referenced.
### Fix
Add the missing error definition:
```go
var ErrNotFound = errors.New("not found")
Commands
# Apply fix and push
git add . && git commit -m "fix: add missing ErrNotFound"
git push