Notice: FlyCI macOS runners will be discontinued effective September 30th, 2024.

Read more

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.

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:

  1. 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.
  2. FlyCI Wingman agent reads and analyzes the error log of the failing step.
    1. 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.
  3. When the fix is ready, FlyCI Wingman applies it locally on the runner and verifies the build succeeds.
  4. FlyCI Wingman prepares a report along with a patch containing the suggested changes.
  5. 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.

Previous
Usage