Enjoy FlyCI Wingman FOR FREE!

Read more

FlyCI Wingman Usage

FlyCI Wingman is designed to be user-friendly and can be integrated as a GitHub Action.

FlyCI Wingman GitHub Action

With the FlyCI Wingman GitHub Action you are free to use almost any GitHub runner - Linux, Windows, macOS, or self-hosted in your workflows. It analyzes your failing builds and suggests fixes in the pull request.

Prerequisites

  • Install the FlyCI app via GitHub and allow usage in your repository.

  • Ensure your code changes are wrapped in as a pull request and a GitHub Actions workflow is triggered about it.

Usage

To allow FlyCI Wingman to auto-fix your failing workflow, add the FlyCI Wingman action as the last step in your workflow jobs:

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 FlyCI Wingman analyzes just failing builds.

Supported Runners

When FlyCI Wingman is used as a GitHub Action, your workflow can run on various GitHub runners. The table below describes the supported operating system and architecture combinations along with the relevant GitHub labels.

Operating SystemArchitecturesRelevant GitHub-hosted runners
macOSarm64macos-latest, macos-14, macos-latest-xlarge, macos-14-xlarge, macos-13-xlarge
ubuntux64ubuntu-latest, ubuntu-22.04, ubuntu-20.04
windowsx64windows-latest, windows-2022, windows-2019

FlyCI Wingman is also compatible with self-hosted runners, as far as they comply to the specifications (OS and architecture) in the above table.

FlyCI Wingman Analysis

When FlyCI Wingman is ready with the analysis of your build, you get both FlyCI Wingman report and code suggestions to your pull request.

FlyCI Wingman Report

This report is based on the analysis of the build errors. It includes suggestions to the whole code base and it's up to the developer to consider whether to apply them or not.

We recommend to take a closer look at FlyCI Wingman's report any time you add a new tool (i.e. a linter) to your code base. This is when the report might suggest code changes to files that you haven't explicitly changed in your current pull request but are worth implementing.

Code suggestions

Code suggestions are added to the changes in your pull request that cause the build failure. It's up to the developer to review and merge them.

Supported languages and frameworks

FlyCI Wingman is language-agnostic. It effectively supports popular languages and frameworks like:

Beyond these, FlyCI Wingman is designed to work seamlessly with virtually any language or platform.

Explore FlyCI Wingman logs

FlyCI Wingman is executed as a separate step in your workflow. To explore its logs, expand the corresponding step for review.