ci-failure-explainer
v1.0.3
Published
A CLI tool that analyzes CI/CD build logs when a pipeline fails and automatically suggests solutions using the Gemini API. The output is concise, clean, and suitable for posting as a comment in a failed pull request.
Readme
ci-failure-explainer
A CLI tool that analyzes CI/CD build logs when a pipeline fails and automatically suggests solutions using the Gemini API. The output is concise, clean, and suitable for posting as a comment in a failed pull request.
Setup
npm install --save-dev ci-failure-explainerUsage in CI/CD
You can integrate this tool into any CI/CD workflow (GitHub Actions, GitLab CI, Jenkins, etc.).
Example with GitHub Actions
- name: Analyze CI/CD failure with Gemini
if: failure()
run: |
npx ci-failure-explainer --key ${{ secrets.GEMINI_API_KEY }} --log build.log --output result.txt
cat result.txt # (Optional) Print the result for debugging
# (Optional) Use result.txt to post a comment to the PR--key: Gemini API key (required, should be stored in CI/CD secrets)--log: Path to the build log file or the log content directly--output: (Optional) Output file to save the analysis result. If omitted, the result is printed to stdout.
Output
- Short summary of the root cause of the CI/CD failure (warnings are ignored, only errors are analyzed)
- Step-by-step suggestions to fix the main error
- Example code snippets (if relevant) to help resolve the issue
- Brief explanations for each suggestion or code snippet
- Output is clean and ready for use as a PR comment
Automated PR Comment Example
You can use the output file (result.txt) to automatically post a comment to a pull request using your CI/CD system or a bot.
Notes
- Make sure the build log is saved to a file (e.g.,
build.log) before running this tool. - The Gemini API key should be kept secure using your CI/CD system's secrets management.
- The tool is designed for easy integration and automation in any CI/CD pipeline.
Development
- Feel free to contribute or report issues in this repository.
