On this page
Arcs
Every build Bifrost makes is cut on an Arc: the environment the build is for. There are two, Production and Staging.
Arcs are available on the Loki, Hela and Thor plans. On Apprentice, every build is a Production build.
What an Arc changes
APP_ENV
A build's Arc is written into your app's .env as APP_ENV, so a Staging build has APP_ENV=staging and a
Production build has APP_ENV=production. You can't override it from your environment variables. Any APP_ENV you
add there is removed when you save.
Where a build can go
Production builds can be released anywhere, just as builds could before Arcs.
Staging builds can never become a public release:
- iOS: Staging builds are uploaded to TestFlight for your internal testers. Bifrost never submits them for external testing or App Store review.
- Android: Staging builds tell Google Play that their largest audience is closed testing, so they can only go to the Internal testing or Closed testing (alpha) tracks. Open testing and production aren't offered, and a request for either is sent to internal testing instead.
Choosing an Arc
When you start a build from Ship It!, choose the Arc under the build type. New builds are Production builds unless you pick Staging.
You can also set an Arc on a workflow's Build step, on builds started from the API with buildData.arc, and with the
MCP trigger-build tool's arc option.
Environment variables per Arc
Under Build Configuration, environment variables have three tabs:
- Shared variables apply to every build.
- Staging variables apply to Staging builds only.
- Production variables apply to Production builds only.
A variable set on an Arc replaces the shared variable with the same name. For example, set API_URL under Shared
and set it again under Staging to point Staging builds at a staging server.
Finding your builds
Your app's builds list has a tab for each Arc, with Production on the left. When you start a build, the list opens the tab for that build's Arc.
If your plan changes
A Staging build is never turned into a Production build. If your team moves to Apprentice:
- Asking for a Staging build from the API or the MCP
trigger-buildtool returns an error. - A workflow's Staging build step fails, with the reason shown on the run, until you move the step to Production or upgrade.
- Your Staging environment variables are kept for when you upgrade again.