# Kickoff

The **Kickoff** step serves as an overview for code and branch-related details, as well as pilot and planning information that may be helpful as your release process is getting started.&#x20;

![](/files/EEWUmyseqYUZ4Ajd36Pe)

Two key actions contribute to the Kickoff step in Runway:&#x20;

* Release branch is created or code is promoted (static branch teams)
* Version is bumped&#x20;

Once a release is kicked off, Runway will:&#x20;

* Assign a release pilot based on the app's [pilot rotation](/using-runway/app-settings/release-pilot-rotation.md) (if set)
* Treat the release as kicked off until it has either been marked as [skipped](#skip-release), or successfully released. Once released, Runway will automatically mark the release as completed.&#x20;

## Actions from 'Edit release' button

### Edit release

Modify basic parameters about your release here:

* **Release version** (required) - Enter the planned version number of your next release. Runway will determine whether it's a major, minor, or point release based on [semantic versioning rules](https://semver.org/).
* **Release pilot** - Choose a specific team member to act as release pilot for this release. If no selection is made, Runway will automatically assign a release pilot from a rotation of team members who are [eligible to be release pilots](/using-runway/organization-settings/team.md#groups) for this app.
* **Target kickoff date** - Specify a target date for when you plan to kick off this release.
  * For release branch teams, Runway considers a release kicked off when a release branch is detected or [created by Runway](/automations/types-of-automations.md#release-cycle).
  * For static branch teams, Runway considers a release kicked off when code is detected past the last release tag, or when [Runway promotes code](/automations/types-of-automations.md#release-cycle) from your development branch to your release branch.
* **Target submit date** - Specify a target date for when you plan to submit this release to the app store for review.
* **Target release date** - Specify a target date for when you plan to release this app update to end users.

### Complete release

This action will mark the release as completed in Runway.

* The release will be moved to the 'Completed' section of releases
* The next up release will then become the active release.

{% hint style="success" %}
This can be used in cases where there was no automated feedback that the release completed naturally (*e.g.* complete status from app stores, or a completed CI workflow run for OTA apps).
{% endhint %}

### Skip release

This action will mark the release as skipped.

* The release will be moved to the 'Completed' section of releases
* The next up release will then become the active release.
* When choosing to skip a release, Runway presents the following options:&#x20;
  * **Roll forward metadata changes from this release:** This will ensure that any metadata changes ("What's new" text, etc.) made to this release are applied to the next active release.
  * **Pull active app submission:** This will ensure that the subsequent release is not blocked from submission due to this skipped release. This option will only be present if Runway detects that this release is currently in a submitted state in an app store.  &#x20;

{% hint style="info" %}
Typically, the 'Skip' option is used when a release hasn't actually been published to the app store or otherwise has not been pushed live to users, but the team wants to mantain a record that it existed.
{% endhint %}

{% hint style="warning" %}
If Runway's [Tag releases at the end of the release cycle](/automations/types-of-automations.md#tag-releases-at-the-end-of-the-release-cycle) automation is enabled, it will not run for skipped releases.&#x20;
{% endhint %}

### Delete release

This action will remove the record of this release from Runway's list of planned app versions.

## Release information

### Feature affiliations

Here, you'll see a list of labels / fix versions used in your [project management tool](/integrations/project-management.md) that are associated with ticketed work for this particular release. Runway uses feature affiliations to [track work items](/using-runway/release-steps/feature-readiness.md#items-of-work) that are intended to go out with the release but might not be in the actual code yet (and, optionally, can [add missing labels / fix versions](/automations/types-of-automations.md#add-missing-labels-or-fix-versions-to-tickets) to tickets that have associated code that is already part of the intended release).

{% hint style="info" %}
You can set up or manage feature affiliations from the [Integrations settings](/using-runway/app-settings/integrations-settings.md#feature-affiliations) page.
{% endhint %}

### Release branch

Shows the status of the branch that your release will be built from.

* **Release branching teams** - Runway checks for a matching release branch for this specific version.
  * If the release branch was created by Runway (via [automation](/automations/types-of-automations.md#kick-off-release-on-target-date) or using the **Create branch** button at the bottom of the Kickoff step), you'll see a link to the associated PR here.
    * If Runway's attempt to create the release branch was unsuccessful, you'll be asked to resolve here by clicking through to the associated PR.
* **Static branching teams** - Runway monitors the branch you release from to detect new commits past your last release tag.
  * If code promotion was performed by Runway (via [automation](/automations/types-of-automations.md#kick-off-release-on-target-date) or using the **Promote code** button at the bottom of the Kickoff step), you'll see a link to the associated PR here.
    * If Runway's attempt to promote code was unsuccessful, you'll be asked to resolve here by clicking through to the associated PR.

{% hint style="warning" %}
You can change the details of your branch setup from the [Integrations settings](/using-runway/app-settings/integrations-settings.md#release-branch) page. Runway may not be able to accurately determine the status of your release if this information is incorrect.
{% endhint %}

### Version in code

Runway detects where your version may be determined in your code, and shows you the status of the associated code on your working branches as well as the branch you'll release from.

* Runway can bump the version in code on your behalf by using the [**Bump version**](/using-runway/release-steps/kickoff.md#bump-version) button at the bottom of the Kickoff step. Once the version bump is performed, you'll see a link to the associated PR here.
  * If Runway's attempt to bump your version in code was unsuccessful, you'll be asked to resolve here by clicking through to the associated PR.

### Previous release tag

The name of the tag for the previous release and a link to the code diff in your version control system (e.g. GitHub).

### Release pilot

The name of the associated pilot for this release. This can be changed by editing [release settings](/using-runway/release-steps/kickoff.md#edit-release-settings).

### Release description

You can enter notes here about anything your team needs to keep track of for this version release.

For example, you might call out in the release description that a major feature is being modified and needs extra attention from the team during the release process.

These notes are internal to Runway and not visible to app store users.

* Markdown is accepted.
* This content can be customized using [Patterned tokens](/getting-started/pattern-strings-tokens.md)

## **Kickoff actions**

You can use the buttons at the bottom of the Kickoff step to perform key actions during your release kickoff.

### Bump version

Runway detects where the app version is referenced in your code and bumps it to match the version number of the current planned release.

* Once the version bump is performed, you'll see a link to the associated PR shown along with [version in code information](/using-runway/release-steps/kickoff.md#version-in-code) on the Kickoff step.
  * If Runway's attempt to bump your version in code was unsuccessful, you'll be asked to resolve here by clicking through to the associated PR.

### Create branch

(Release branch teams) Runway will create a release branch for this version.

* Once the release branch is created, you'll see a link to the associated PR shown along with [release branch information](/using-runway/release-steps/kickoff.md#release-branch) on the Kickoff step.
  * If Runway's attempt to create the release branch was unsuccessful, you'll be asked to resolve here by clicking through to the associated PR.

### Promote code

(Static branch teams) Runway will promote code from your working branch to your main branch.

* Once code promotion has been performed, you'll see a link to the associated PR shown along with [release branch information](/using-runway/release-steps/kickoff.md#release-branch) on the Kickoff step.
  * If Runway's attempt to promote code was unsuccessful, you'll be asked to resolve here by clicking through to the associated PR.

## Kickoff automations

You can configure the following Kickoff automations by visiting the **Automations** tab on this step:

* [Bump version number in code](/automations/types-of-automations.md#bump-version-number-in-code)
* [Kick off release on target date](/automations/types-of-automations.md#kick-off-release-on-target-date)
* [Create new App Store Connect versions when the release is ready to be prepared](/automations/types-of-automations.md#create-new-app-store-connect-or-play-console-versions-when-the-release-is-ready-to-be-prepared)
* [Prepare next version in Runway when current release is kicked off](/automations/types-of-automations.md#prepare-next-version-in-runway-when-current-release-is-kicked-off)
* [Merge pull requests opened by Runway](/automations/types-of-automations.md#merge-pull-requests-opened-by-runway)
* [Trigger workflow after release kickoff](/automations/types-of-automations.md#trigger-workflow-after-release-kickoff)
* [Create release-specific Slack or Microsoft Teams channel(s)](/automations/types-of-automations.md#create-release-specific-channel-s)
* [Create regression test runs](/automations/types-of-automations.md#create-regression-test-runs)

  <br>

{% hint style="warning" %}
Editing automation settings from an individual release will apply those changes to all of your upcoming releases for that app.
{% endhint %}

## Kickoff checklist

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

Checklist items 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).

{% content-ref url="/pages/-Mjj12OTH2s5C-sghI3t" %}
[Checklists](/using-runway/checklists.md)
{% endcontent-ref %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.runway.team/using-runway/release-steps/kickoff.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
