Skip to content

Deployment environments

Frederic Beaudoin edited this page Apr 5, 2024 · 24 revisions

Quantic

There are two GitHub deployment environments for Quantic: Quantic Staging and Quantic Production. Both environments are restricted to protected branches (i.e., master, prerelease/*, and release/*).

When deploying Quantic, we must authorize an org using the JWT flow which requires the following variables and secrets:

  • SFDX_AUTH_JWT_KEY_FILE (variable): The name of the private key file to pipe the SFDX_AUTH_JWT_KEY secret value into.
  • SFDX_AUTH_JWT_USERNAME (variable): The SFDX user name.
  • SFDX_AUTH_CLIENT_ID (secret): The SFDX JWT consumer key.
  • SFDX_AUTH_JWT_KEY (secret): The SFDX JWT private RSA key.

Those variables and secrets have identical names and values in both environments.

The only difference between the Quantic Staging and Production environments is that Production leverages custom deployment protection rules automate approval of the last steps of the deployment process.

Quantic end-to-end tests run in the global environment with a different set of consumer / private keys. However, the key file and user name are the same as in the Staging and Production environments. This implies that SFDX_AUTH_CLIENT_ID and SFDX_AUTH_JWT_KEY are also defined as repository secrets while SFDX_AUTH_JWT_KEY_FILE and SFDX_AUTH_JWT_USERNAME are not, since they are not sensitive values.

Staging

The create-quantic-package workflow uses this environment. This workflow is dispatched every day at 23:00 UTC.

Production

The quantic-prod job in the release workflow uses this environment. This workflow is dispatched every Wednesday at 13:00 UTC.

Clone this wiki locally