Deployment

Docs on how we deploy code to staging and production

Github Actions

We use Github actions (configured in .github) as the CI service. On every merge to main it deploys to production. Every merge to develop deploys to staging. And every merge to a branch with an open PR runs linting and tests.

Bumping the github usage cap

If you get a warning about hitting the github actions cap, you can increase the monthly cap in the Github settings page for the Illustspace org. $20/month has so far been fine. If you can find a way to make the actions run faster, this cap can be decreased.

Env Vars

Environment variables are useful for configuring prod, staging, and local development differently. Environment variables are generally edited in @shared/env.*.json files, with the exception of some @contracts variables, which are passed in via the command line, and some @api variables, which are somewhat sensitive and are instead stored in .runtimeconfig.json. Environment variables are configured to cascade down from the production configuration, so you will want to make sure that you define a new variable you create in @shared/env.production.json first and then configure staging, development, and test env.json files to have reasonable values if they need something other than what is in the production file.

The environment variable is often something that has to be passed in in the CLI script invocation, and a given app will typically not work correctly unless this is passed.

Last updated