Skip to content

PRs & releasing

Ricardo Costa edited this page Feb 23, 2021 · 12 revisions

As mentioned in wiki/Navigating-this-codebase efforts have been made to ensure PR descriptions are detailed, with rationale and screenshots (where appropriate). This makes things much easier to understand when tracing back over the history of the code one might be working on.

So far we've not imposed a PR template but would be happy if a carefully considered one were introduced.

Releasing

The build-tc script at the root of manage-frontend after installing yarn and ensuring the correct version of node (nvm use) it mainly just wraps a number of yarn scripts (defined in app/package.json)...

  • yarn install
  • yarn test
  • yarn bundle
  • yarn riffraff

The TeamCity project is configured to run the above script and snyk monitor (for accurate results) image It's configured to build branches, PR preview builds (only if the PR author is in the Guardian org) and of course main once merged.

This makes it visible in RiffRaff with the name support:manage-frontend as per riff-raff.yaml. Scheduled Deployments (0 30 7 ? * TUE *) and Continuous Deployment (on main) are configured for manage-frontend. Since manage runs on EC2 instances (see wiki/AWS-infrastructure) the riff-raff.yaml defines a cloudformation deployment step followed by a autoscaling deployment... fairly standard.

PROD deployments are tracked with PROUT using the /_prout endpoint defined in app/server/routes/core.ts and configured via .prout.json.

Once out it's worth keeping an eye on both server-side Sentry and client-side Sentry (you can subscribe to the alerts in the Sentry UI), as well as in Google Analytics and CloudWatch Dashboard/Logs.

Clone this wiki locally