Runway Documentation
  • About Runway
  • 🚀Getting started
    • Adding apps
    • Setting up your integrations
      • Branching strategies
      • Builds and branches
      • Pattern strings / tokens
    • Preparing your first release
    • Setting up your team
  • 🎛️Using Runway
    • Navigating Runway
    • Build Distro
      • Quickstart
      • Uploading builds for distribution
      • Build Distro buckets
      • Sharing builds
      • Installing builds
      • Signing and provisioning cheat sheet
    • App overview
    • Releases
      • Release overview
      • Feature flags
      • Kickoff
      • Feature readiness
      • Translations
      • Release candidate
      • Regression testing
      • Beta testing
      • Screenshots
      • Metadata
      • Approvals
      • App submission
      • App store review
      • Release
    • Workflows
    • Release schedule
    • Rollout
    • Hotfixes
    • Rollbacks
      • Creating rollbacks
    • Checklists
    • Build matching
    • App settings
      • General settings
      • Team settings
      • Release pilot rotation
      • Integrations settings
      • Profiles and devices
      • Signing keys
      • Health metrics settings
      • Automations settings
      • Notifications settings
      • Schedule settings
      • Beta testing settings
      • Metadata settings
      • Release defaults
      • Checklists settings
      • Custom strings settings
    • Organization overview
    • Organization settings
      • Team
      • SSO/SAML
    • User settings
    • Over-the-air (OTA) releases
  • ⚙️Integrations
    • Integrations overview
    • Version control
      • Azure Repos
      • Bitbucket
      • GitHub
      • GitLab
    • Project management
      • Asana
      • Azure Boards
      • GitHub Issues
      • Jira
      • Linear
      • Pivotal Tracker
      • Monday.com
      • Shortcut
    • CI/CD
      • App Center Build
      • Azure Pipelines
      • Bitbucket Pipelines
      • Bitrise
      • Buildkite
      • CircleCI
      • Codemagic
      • GitHub Actions
      • GitLab CI
      • Jenkins
      • TravisCI
      • Xcode Cloud
    • Regression testing
      • TestRail
      • Xray
    • Beta testing
      • Google Play testing tracks
      • TestFlight
      • App Center
      • Firebase App Distribution
    • App stores
      • App Store Connect
      • Google Play Console
      • Amazon Appstore
      • Huawei AppGallery
      • Samsung Galaxy Store
    • Notifications
      • Microsoft Teams
      • Slack
    • Stability monitoring
      • BugSnag
      • Datadog
      • Embrace
      • Firebase
      • New Relic
      • Sentry
      • Dynatrace
    • Observability & analytics
      • Amplitude
      • Datadog
      • Google Analytics
      • Mixpanel
      • New Relic
      • Android Vitals
      • Custom observability & analytics
    • Feature flagging
      • Optimizely
      • LaunchDarkly
    • Scheduling
      • Opsgenie
      • PagerDuty
    • Translations
      • Crowdin
      • Lokalise
    • Calendar
      • Google Calendar
      • Google Calendar (OAuth)
  • ⚡Automations
    • Automations overview
    • Types of automations
  • 🔔Notifications
    • Notifications overview
    • Types of notifications
  • 🪝Webhooks
    • Outgoing webhooks
  • 📡REST API
    • Overview
    • Reference Docs
    • Markdown Badge API
    • App configuration files
  • 🛠️Quickstart CI/CD
    • Quickstart CI/CD overview
    • Getting started
  • Support
    • Contact us
Powered by GitBook
On this page
  • Terminology
  • How it works
  • About rollback releases
  • Rollbacks and automations

Was this helpful?

  1. Using Runway

Rollbacks

PreviousHotfixesNextCreating rollbacks

Last updated 13 days ago

Was this helpful?

This feature is limited to certain plans. Please visit our to learn more.

Rollbacks in Runway are special releases that use the build from a previous stable release, and, through an automated re-signing process, re-submit it as a new release version to quickly roll back problematic releases if needed.

Terminology

  • Source version: the stable release version whose binary is reused for a rollback.

  • Target version: the release version being rolled back.

  • Rollback version: the release version of the rollback release.

How it works

Rollback releases in Runway are prepared by taking a previously released stable build (the source version) and running it though Runway’s re-signing process. This process updates the version string and build number (version name and version code on Android), re-signs the build with your signing key, and uploads it to the relevant store for re-submission as a new release version.

About rollback releases

Rollback releases in Runway are a streamlined version of a typical Runway release – out of the box, they’re made up of only seven release steps:

  • Rollback build: details on the progress of the re-signing sequence and the source version upon which the rollback is based.

  • Screenshots & Metadata: a read-only view of the screenshots and metadata from the source version that will be used for the rollback.

  • Approvals: approval items that are relevant for rollbacks.

  • App store steps (submission, review, release)

About the re-signing sequence

The re-signing sequence is part of the Rollback build release step on rollbacks, and performs the following automations in this order:

  1. Updates the build number & version string (version code and version name on Android) on the source version binary.

  2. Once updated, re-signs the binary using your app's signing key.

  3. Uploads the re-signed rollback build to the Play Console or App Store Connect.

The re-signing sequence will increment the build number / version code of the re-signed build as follows:

  • iOS: the latest build for the rollback version will be fetch from App Store Connect and incremented by one

  • Android: the highest version code on the production track will be fetched from the Play Console and incremented by one

On Android, rollback builds that display version name and version code anywhere in the app's UI will display the version name and version code of the source version.

On Android, uploaded rollback builds are not placed on a testing track once uploaded. Rollback builds uploaded to App Store Connect are by default distributed to the App Store Connect Users testing group.

Rollback releases by default use the screenshots and metadata from the source version. On Android, screenshots will only be updated on your app listing after the rollback has been submitted for review.

Rollback releases do not automatically get cadence target dates applied. Runway will also override your default app store release settings – rollbacks will always start out with phased release disabled so they can be rolled out to everyone immediately. You can always change this setting on any given rollback release from Release settings > Edit release settings in the App Submission step prior to submission.

Rollbacks and automations

Many of the automations that Runway performs on during a normal release cycle aren’t relevant for rollback releases, or have special behavior that’s unique to rollbacks. The following automations will appear inactive for rollback releases:

Additionally, certain automations have special behavior for rollback releases. The following automations behave differently for rollback releases:

    • Android: the Submit app for review automation will appear inactive

[iOS only] If the Apply beta testing notes is enabled, Runway will apply a special set of rollback tester notes to the build in TestFlight.

[iOS only] If the Upload dSYMs to stability monitoring is enabled, Runway will upload the dSYMs generated during the re-signing process to your stability monitoring integration.

: Runway will automatically create an edit version (iOS) or track release (Android) immediately prior to rollback submission.

: Runway will select the latest successfully re-signed build in App Store Connect as part of the submission process.

: Runway will add the latest successfully re-signed build to the rollback production track release as part of the submission process.

: Runway will apply the source version's "What's new" or release notes to the rollback release as part of the submission process.

:

iOS: the Submit app for review automation will only be active if the Submit automatically when all release steps are ready option on the Prepare rollbacks automation is enabled. Rollbacks will be submitted for review if all previous steps are green as soon as the target release has gone live. See for more details.

🎛️
pricing page
Create release-specific channel(s)
Trigger workflow after release kickoff
Backmerge changes on release branches at the end of the release cycle
Delete version-specific release branches at the end of the release cycle
Cherry pick work from the working branch to the release branch
Customized iOS phased rollouts
Customized Android staged rollouts
Apply beta testing notes to new beta builds
Mark releases complete in project management tool
Add the latest available APK/AAB to the draft release on the Production track in the Play Console
Create and sync App Store Connect/Play Console versions as needed to match current Runway release
Select the latest build in App Store Connect
Add the latest available APK/AAB to the draft release on the Production track in the Play Console
Apply 'What's New' text or release notes to new releases in App Store Connect or Play Console
Submit app for review
Automatically prepare rollbacks for each release
automation
automation
Kick off release on target date
Release app on target date
Release stable phased releases to 100% of users
Halt unstable phased releases
Promote new builds to testing track (Android)
Assign beta testing builds to default testing groups (iOS)
Add missing labels or fix versions to tickets
Prepare next version in Runway when current release is kicked off