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

Read more

Getting Started with FlyCI Wingman

FlyCI Wingman is an AI agent designed to help developers auto-fix their failing builds. Utilizing an optimized LLM, it analyzes your workflow failures and suggests code changes directly in your pull request.

You can integrate FlyCI Wingman to your workflow by using the corresponding GitHub Action. FlyCI Wingman GitHub Action allows running your workflow on various GitHub runners, including self-hosted ones. See more details about the supported runners.

Getting Started with FlyCI Wingman GitHub Action

Follow the steps below for a quick start with FlyCI Wingman GitHub Action

  • install the FlyCI app via GitHub.
  • grant the FlyCI app access to the repositories you plan to use the FlyCI Wingman action with.

Repository access can be further changed from your GitHub application settings.

Selecting repositories that FlyCI app will have access to
  • go to your workflow and add the FlyCI Wingman action as a last step to the jobs which you want to auto-fix in case of failure:
jobs:
  build:
    permissions:
      id-token: write
      contents: read
    runs-on: ubuntu-latest
    steps:
       ...
       - name: Fix my build
         uses: fly-ci/wingman-action@v1
         if: failure()

The requested permissions are required for the GitHub action to issue an authorization token which is then used to connect to the FlyCI Wingman API.

Make sure you add the if: failure() condition. It ensures Wingman FlyCI analyzes just failing builds.

  • once the build completes, review and merge the code changes suggested by FlyCI Wingman in your pull request.
  • review the FlyCI Wingman report which suggests improvements to the whole code base, not only to the changes included in the pull request

FlyCI Wingman verifies your build passes after the suggested code changes are applied.

Check the detailed step-by-step guide on integrating FlyCI Wingman to your workflows.

Explore how FlyCI Wingman works.