GitHub Actions Troubleshooting Skill
Use the gh CLI and Git to diagnose and fix GitHub Actions workflow failures, particularly for Go projects. This skill helps identify whether failures are due to code issues or environment/configuration problems.
Workflow Analysis
Check the status of recent workflow runs:
gh run list --repo owner/repo --limit 10
View details of a specific failing workflow:
gh run view <run-id> --repo owner/repo
Get logs for failed jobs only:
gh run view <run-id> --repo owner/repo --log-failed
Distinguishing Issue Types
Code Issues: Failures in compilation, tests, or linting that occur consistently across environments
Environment Issues: Problems with dependency resolution, tool installation, or type-checking in CI that work locally
Common Go CI Fixes
Linter Configuration Issues
Look for "undefined" reference errors that indicate import resolution problems
Try minimal linter configs that disable type-checking linters
Use
golangci-lint run --disable-all --enable=gofmtfor basic syntax checking
Dependency Resolution
Verify go.mod and go.sum are consistent
Run
go mod tidyto resolve dependency conflictsCheck that required dependencies are properly declared
Diagnostic Commands
Check specific workflow job logs:
gh run view --job <job-id> --repo owner/repo
Download workflow artifacts for inspection:
gh run download <run-id> --repo owner/repo
Troubleshooting Workflow
Identify which jobs are failing and which are passing
Examine error messages for clues about the nature of the issue
Determine if the issue is reproducible locally
Apply targeted fixes based on issue type
Monitor subsequent workflow runs to verify resolution