> For the complete documentation index, see [llms.txt](https://docs.runway.team/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.runway.team/using-runway/release-steps/ci.md).

# CI

The **CI** step can be connected to any CI workflow, whether it's to generate a build, run a script, or trigger any automated process in your CI system. If the CI step is connected to a CI workflow that generates a build, the step will communicate the status and history of builds, and will provide controls to automatically or manually specify which builds are selected for subsequent steps in the release process.

![](/files/m8zPUKZO2KYER59uBDIw)

### Active build

Starting with the CI step connected to your Release Candidate CI workflow, Runway will assist you in keeping track of your desired Release Candidate (RC) through the build process, regression and beta testing, upload and selection and submission to the app stores for review, and ultimately releasing the app update to the store. By default, Runway assumes that the latest build from your CI provider is your target RC, but provides the option to [manually select](/using-runway/release-steps/ci.md#history) a different build if necessary.

{% hint style="success" %}
Runway will automatically select your latest uploaded build in the app store if the [Select the latest build](/automations/types-of-automations.md#select-the-latest-build-in-app-store-connect-or-play-console) automation is enabled.
{% endhint %}

The **active build** module will display workflow status and information about your active build. This will be the latest build that Runway has detected from your Release Candidate CI workflow, unless an earlier build has been manually selected (or ‘frozen’) as the active build for the remainder of the release process.

Information available here includes: Build status, CI build number, timestamp of latest workflow status, commit info (branch / commit / message), and artifact download links [if present](/automations/types-of-automations.md#provide-build-artifact-downloads-and-notify-in-slack-when-available). If Runway was able to link the RC build to a matching upload in the app store, a corresponding app store build number will be shown as well.

With the [Auto-generate summary of diff in CI builds](/automations/types-of-automations.md#auto-generate-summary-of-diff-in-ci-builds) automation enabled, a **Diff Summary** module will appear above this step's artifacts, summarizing what changed between the active build and the previous successful build.

{% hint style="info" %}
Click the CI build number link to jump to your CI provider's workflow details view.
{% endhint %}

{% hint style="warning" %}
Runway isn’t always able to match a CI build to your selected build in the app store. This can occur if a build was manually uploaded to the app store, or if commit info is missing from your build in CI. Read more on build matching [here](https://docs.runway.team/using-runway/build-matching).
{% endhint %}

### History

At the bottom of the view, Runway shows a count and a list of all builds (including status and build information) detected from your RC workflow for this version.

#### Lock a build as the active RC

Release pilots, or other team members with sufficient privileges, can click the **Lock as active RC**  button to lock that build in as active for the remainder of the release process.

This will affect the target build that is the focus of the Regression testing step, as well as the build selected in the app stores in preparation for submission and release.

{% hint style="info" %}
If you have the ‘[Select the latest build](/automations/types-of-automations.md#select-the-latest-build-in-app-store-connect-or-play-console)’ automation enabled and you manually lock a particular RC build, Runway will suspend automatic selection of your latest uploaded build in the app store.
{% endhint %}

You can revert a manual selection by clicking the **Resume auto-selecting latest build** action above the history list.

### Override status and approve step&#x20;

For some teams, more complex CI workflows could fail but still produce a usable build artifact. In this scenario, you may want to override the status of the CI step and mark it as passed in order to proceed with the new build, and an action will appear at the bottom of the step that allows this. You can undo the override at any time, if needed.

<div align="left"><figure><img src="/files/nLmizGVEWFzY1z505sxt" alt="Override status and approve this step button" width="375"><figcaption><p>Override status and approve this step button</p></figcaption></figure></div>

### CI automations

* [Enable artifact downloads](/automations/types-of-automations.md#enable-artifact-downloads)
* [Upload build artifacts for distribution](/automations/types-of-automations.md#upload-build-artifacts-for-further-distribution)
* [Upload dSYMs to stability monitoring](/automations/types-of-automations.md#upload-dsyms-to-your-stability-monitoring-provider)
* [Auto-generate summary of diff in CI builds](/automations/types-of-automations.md#auto-generate-summary-of-diff-in-ci-builds)

### CI checklist

You can add **checklist items** to this step by visiting the **Checklist** tab.

[Checklist items](/using-runway/checklists.md) cover any unique parts of your team's release process and live across all your releases. Steps with checklist items won't be marked as complete (green) in Runway until all checklist items have been completed (in addition to the normal criteria that would mark a step as completed).
