arkinsta.yaml
An arkinsta.yaml in a repo’s root defines actions that show up on the workspace’s Actions page like any other, versioned with your code. Edit them in the file; Relay reads it again when it changes.
Example
Section titled “Example”actions: ship-testflight: name: Ship to TestFlight ask_first: true schedule: weekdays 18:00 options: FLAVOR: [dev, production] RELEASE_NOTES: text steps: - run: flutter build ipa --release --flavor $FLAVOR -t $FLUTTER_TARGET --build-number $BUILD_NUMBER timeout: 45 - app_store: build/ios/ipa/*.ipa credentials: Acme
test: name: Run tests steps: - npm testAction fields
Section titled “Action fields”Each key under actions is the action’s id.
| Field | Type | |
|---|---|---|
name |
string | Shown in the app and matched against requests. Defaults to the key. |
ask_first |
boolean | Always wait for approval before running. Default false. |
schedule |
string | When to run on its own. See Schedules. |
options |
map | Values chosen at run time. See below. |
steps |
list | Required. At least one step. |
Options
Section titled “Options”Option names must be CAPITALS_AND_UNDERSCORES. Each reaches commands as an environment variable.
options: FLAVOR: [dev, production] # choices; the first is the default RELEASE_NOTES: text # free text TRACK: # full form label: Play track choices: [internal, beta] default: internalA step is one of run, app_store or play_store. A plain string is shorthand for run.
Every step accepts dir: a folder relative to the repo root to run in. It must stay inside the repo.
- run: npm run build dir: apps/web timeout: 10 # minutes; default 30app_store
Section titled “app_store”- app_store: build/ios/ipa/*.ipa # newest matching file credentials: Acme # a name from Settings → Credentials; the default if left outplay_store
Section titled “play_store”- play_store: build/app/outputs/bundle/${FLAVOR}Release/*.aab package: com.acme.app # optional; read from the Gradle file if left out track: internal # internal | alpha | beta | production release: draft # draft | completed rollout: 20 # percent, for a completed release; default 100 credentials: Acme PlayPatterns can use option variables, like ${FLAVOR}.
Errors
Section titled “Errors”Problems in the file are listed on the Actions page with the action and step they’re in, for example actions.test step 2: use run:, app_store: or play_store:. Actions with errors are left out; the rest still load.
Exporting an action
Section titled “Exporting an action”Any action made in the app can be copied as YAML from its menu, ready to paste into arkinsta.yaml. Credential ids are written as names, so the file is safe to share.