For the complete documentation index, see llms.txt. This page is also available as Markdown.

General settings

Manage your app's general settings

Version files

The file path(s) corresponding to your app's version files. Runway will bump the version in these files during manual or automated version bumps, and parses these files to determine your app's Version in code for the working branch and the release branch.

Version files are populated by default using platform-specific files where versions are commonly found, but you can always customize your app's version files to any files found in your repository.

The default file types that Runway will detect versions in are as follows:

iOS:

  • .pbxproj

  • .xcconfig

  • .plist

  • .json

  • .yaml

Android:

  • .gradle

  • .json

  • .yaml

React Native / OTA:

  • package.json

The table below describes the format (in regex) Runway is expecting to find the version in depending on the file type.

File type
Regular expression
Description
Example

.pbxproj

MARKETING_VERSION = (\d+\.\d+\.\d+)

Matches the string MARKETING_VERSION = (case sensitive) followed by one or more digits separated by a . character

MARKETING_VERSION = 12.2.2

.xcconfig

MARKETING_VERSION = (\d+\.\d+\.\d+)

Matches the string MARKETING_VERSION = (case sensitive) followed by one or more digits separated by a . character

MARKETING_VERSION = 12.2.2

.plist

CFBundleShortVersionString<\/key>\s*<string>(\d+\.\d+\.\d+)<\/string>

Matches the CFBundleShortVersionString</key> string (case sensitive) followed by zero or more white space characters (spaces, tabs, line breaks), followed by the <string> string, followed by one or more digits separated by a . character, followed by the </string> string

CFBundleShortVersionString</key><string>2.2.2</string>

.yaml

version:\s+?(\d+\.\d+\.\d+)

Matches the version: string, followed by one or more white space characters (spaces, tabs, line breaks), followed by one or more digits separated by a . character

version: 12.2.2

.gradle

versionName.*?(\d+\.\d+\.\d+)|versionString.*?(\d+\.\d+\.\d+)

Matches the versionName string, followed by zero or more of any character (except line breaks), followed by one or more digits separated by a . character OR the string versionString, followed by zero or more of any character (except line breaks), followed by one or more digits separated by a . character

versionName 12.2.2

.json

\"version\":\s+?\"(\d+\.\d+\.\d+)\"

Matches the "version": string (case sensitive), followed by one or more white space characters (spaces, tabs, line breaks), followed by the one or more digits separated by a . character wrapped in quotation marks

"version": "12.2.2"

Default (all other file types)

(\d+\.\d+\.\d+)

Matches one or more digits separated by a . character

12.2.2

Custom version patterns

If Runway's built-in patterns can't read the version in one of your files, you can set a custom pattern for that file. In Version files, click Edit and enter a regular expression in the file's Custom pattern field. The pattern must contain a capture group around the version, for example "version": "(\d+\.\d+\.\d+)".

Click Test next to a file to check its pattern against the file on your working branch. Runway reports the version it found and how many lines the pattern matched. Patterns that don't compile, or that have no capture group, are rejected when you save.

A custom pattern replaces the built-in pattern for that file only. Files without a custom pattern keep using the defaults above.

Localization directories

Specify the directory/paths that contain your app's localization files. Localization directories are relevant for teams using the Translations release step to track the status of their localizable strings.

Last updated

Was this helpful?