This is a monorepo for the Isomer Next project.
This monorepo uses Turborepo. To get started, first install the turbo
command:
npm install turbo --global
There are a few steps to getting started:
-
First, ensure that you are added to the Okta SSO. This can be verified via going to the
all-might
repository located here a. ensure that the user has a/users/<name>.yml
file b. next, add the user to the relevant groups in/groups
c. lastly, add the user to the relevantapplications
-
Next, add the user to the AWS opengovsg org. This is done via configuration on the sso repo here a. follow the same process as above - add the users to
/config/users/<name>.yml
b. thereafter, add the user to either/config/groups/isomer-admins.yaml
if they require admin permissions (engineer) or to/config/groups/isomer-users.yaml
if they are not an engineer -
Thirdly, get the credentials for 1Password
-
Add the user to the
isomerpages
organisation by adding them to the file here -
Add the user to the relevant github teams here by asking the maintainer
We run releases via the publish
event. Hence, in order to cut a release, we have to go through the following steps:
- first, select the release commit
- generate a tag for the release commit from the previous tag as follows:
- if you're making a hotfix, add a 0.0.1 to the previous version
- if you're making a minor upgrade, add a 0.1 to the previous version.
- for all purposes, all our releases are minor upgrades so we will not be incrementing the major version number
- push the tag to the remote origin
- go to github and click on
Tags
- next, click on releases and draft a new release
- choose the tag you have previously created
- generate release notes (this can be done automatically via the button)
- publish the release
- first, add the relevant
.pem
file to theapps/studio/ssh
folder- this can be found by searching for
AWS Isomer Next <env> Bastion SSH Key
in your 1Password vault
- this can be found by searching for
- Next, duplicate the
.env.example
inapps/studio
to.ssh/.env.<env>
- Fill in the relevant information by searching for
Isomer Next <env> Database
inside 1password - Next, run
npm run jump:<env>
from within theapps/studio
folder - Next, run
npm run migrate:<env>
from within theapps/studio
folder - (Optional) If you need to run a seed, run
npm run db:seed
- Vercel
a. To get access to vercel, go to 1Password (1PW) and find the credentials for
isomeradmin
. Login via that Github account and you should have access - Database GUI
a. we have a tableplus subscription. Download the Tableplus software here and find the credentials in 1Password by searching for
Tableplus License
- For a stacked PR workflow, we also have access to Graphite. Click on this link to get access.