GitHub Actions
Overview
GitHub Actions is an automation tool that allows you to build, test, and deploy your code within GitHub. It enables you to create workflows that automate every step of your development process, enhancing software updates and code quality with integrated CI/CD features.
By connecting GitHub Actions with Shipfox, you can track the execution of your workflows, identify performance bottlenecks, troubleshoot operational issues, and optimize your deployment processes.
Setup
Install the GitHub App
- Go to the Shipfox GitHub App's page.
- Click on Install.
- Select the GitHub account or organization on which to install the App.
- Grant access to all repositories or select the ones that you want to connect with Shipfox (you can change this setting later).
- Click Install & Authorize.
Assign a Shipfox organization
- You should have been redirected to the Shipfox dashboard automatically. If this is not the case, connect to it.
- You will see all the GitHub App connections which have not been assigned to a Shipfox organization.
- Click Select organization, and choose the organization you want to assign the GitHub installation to.
- Once you have selected an organization for each installation, click Assign organizations.
🎉 Setup done, Shipfox will automatically start to ingest any new events
Backfill with historical data
It is possible to ingest historical data from GitHub actions, which allows you to get started straight away.
- On the Shipfox dashboard, go to your organization's GitHub settings.
- In the Import from GitHub section, click on Import GitHub data.
- Input the repository information and date from which you want to import data.
- Click Import.
You import job has now started, you will be able to track its status from this settings page.
Due to rate-limit constraints of the GitHub API, import jobs can take a lot of time. With a complex CI, importing multiple months of data can take more than a day. We can also import only 1 repository at a time per GitHub App installation, therefore if you launch multiple jobs in parallel, they will be ran sequentially.