How FlyCI Wingman Works
Summary
FlyCI Wingman assists developers in resolving their failing CI builds by leveraging a well-trained and optimized language model (LLM). It analyzes code failures and provides code suggestions to fix the issues.
Currently, FlyCI Wingman uses an optimized LLM for code analysis. In the future, we plan to support additional language models of your choice.
Note
FlyCI Wingman is currently in Beta. If you do not get FlyCI Wingman report or any code suggestions in your pull request, please check the FlyCI Wingman logs and report the issue to our team in Discord↗ or via email at support@flyci.net.
Details
Using FlyCI Wingman as a separate action gives the freedom to use it with almost any GitHub runner, including the self-hosted ones. You need to make sure that the FlyCI Wingman step is added as the last step to your job and is triggered on failure. See usage for more information.
Here is how FlyCI Wingman GitHub Action works:
- Considering you've used
if: failure()
condition (see usage), FlyCI Wingman GitHub Action step is triggered when any of the previous steps in the job fails. - FlyCI Wingman agent reads and analyzes the error log of the failing step.
- The analysis is conducted through a third-party AI service that analyzes the error log. During this process, your code and data remain on the chosen runner.
- When the fix is ready, FlyCI Wingman applies it locally on the runner and verifies the build succeeds.
- FlyCI Wingman prepares a report along with a patch containing the suggested changes.
- Suggestions directly related to the pull request changes are also added as pull request code suggestions, making it easy for developers to apply them in the pull request using a single click. Other improvements and fixes are added to the FlyCI Wingman Report.
By understanding this process, you can effectively use FlyCI Wingman to improve your CI workflow and resolve build issues swiftly.