cohenaj194 / GitFailGuard

Apache License 2.0
1 stars 2 forks source link

GitFailGuard

GitFailGuard is an advanced AI-powered tool designed to streamline your development workflow by automatically reviewing failed GitHub Actions and generating detailed GitHub Issues. This enables you to quickly identify and address problems, ensuring a more efficient development process.

Key Features:

With GitFailGuard, you can enhance your CI/CD pipeline, improve code review processes, and maintain high standards of code quality effortlessly.

Sequence-Diagram

Features

Example

Setup

Prerequisites

Environment Variables

Ensure you have the following environment variables set:

You can set these variables in your shell:

export GITHUB_TOKEN=your_github_token_here
export OPENAI_API_KEY=your_openai_api_key_here

# # only set if you want to enable coderabit PR comments to failure logs
# # do not set env var if you do not have coderabit enabled
# export ENABLE_CODERABBIT="true"

Local Testing

View our guide on how to test GitFailGuard locally for developers looking to contribute and fork this project.

Production Deployment

You can deploy a production app using docker-compose or kubernetes.

Then follow our guide on Connecting your github repos to GitFailGuard.

This application can be deployed using any platform that supports Docker containers, such as Digital Ocean, AWS, Azure, or Google Cloud. Ensure you set the environment variables in the deployment environment as described in the setup section.

Other Notes

Project Structure

GitFailGuard/
├── .github/
│   └── workflows/
│       └── deploy.yml
├── src/
│   ├── __init__.py
│   ├── main.py
│   ├── webhook_handler.py
│   ├── log_analyzer.py
│   ├── github_issue_creator.py
├── tests/
│   ├── __init__.py
│   ├── test_webhook_handler.py
│   ├── test_log_analyzer.py
│   ├── test_github_issue_creator.py
├── requirements.txt
├── README.md
├── .env.example
├── setup.py
├── Dockerfile
└── docker-compose.yml

Contributing

Contributions are welcome! Please open an issue or submit a pull request.

License

This project is licensed under the Apache License. See the LICENSE file for more details.

Acknowledgments


If you like what we do support us on Patreon!

Come join the Discord

Feel free to reach out if you have any questions or need further assistance.