FlyCI Wingman Usage
FlyCI Wingman is designed to be user-friendly and can be integrated as a GitHub Action.
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.
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:
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 System | Architectures | Relevant GitHub-hosted runners |
---|---|---|
macOS | arm64 | macos-latest , macos-14 , macos-latest-xlarge , macos-14-xlarge , macos-13-xlarge |
ubuntu | x64 | ubuntu-latest , ubuntu-22.04 , ubuntu-20.04 |
windows | x64 | windows-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.
Note
While FlyCI Wingman should be compatible with any other Linux platform running on x64 architectures, we do not officially support them and do not guarantee that there won't be any side effects.
For any questions you might have, don't hesitate to contact our team in Discord↗ or via email at support@flyci.net.
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.
Note
Changes fixing the build, but not related to the code changes in the pull request, might be proposed in the FlyCI Wingman report. Make sure to review it too.
Supported languages and frameworks
FlyCI Wingman is language-agnostic. It effectively supports popular languages and frameworks like:
- JavaScript, TypeScript↗, Node.js↗, Ruby↗ and Ruby on Rails↗, React↗ for web development
- React Native↗, Swift↗ for mobile development
- Python↗ and Jupyter Notebooks↗ for data and machine learning
- Go↗ for system programming
- Terraform↗ for infrastructure as code
- ... and many more.
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.