Workflow
We keep it simple, but ensure quality in everything we ship. All code is peer-reviewed and we automate the rest.
All code is versioned and shipped with git, stored at GitHub, following GitHub Flow. Product may provide a feature flag from Launch Darkly to control the release in production.
Web and APIs
- Anything in the
main
branch is deployable to production - To work on something new, create a descriptively named branch off of
main
(i.e. sign-in-with-apple
) - Commit to that branch locally and regularly push your work to the same named branch on GitHub
- When you need feedback or help, or you think the branch is ready for merging, open a pull-request; a preview environment will be created for product to review the changes
- After peer review, product approval, and automated quality checks have passed, you can merge it into
main
- Once merged, the code is automatically deployed to production; don't forget to create a Github Release containing the release notes and tag
main
with an updated semantic version (i.e. v3.0.1
)
Mobile
- Anything in the
main
branch is deployable to production - To work on something new, create a descriptively named branch off of
main
(i.e. sign-in-with-apple
) - Commit to that branch locally and regularly push your work to the same named branch on GitHub
- When you need feedback or help, or you think the branch is ready for merging, update the semantic version (i.e.
v3.0.1
) and open a pull-request; share a video demonstrating functionality on your team channel for product to review - After peer review, product approval, and automated quality checks have passed, you can merge it into
main
- Once merged, the code is automatically deployed to Test Flight for Apple or Beta Release for Google Play; don't forget to create a Github Release containing the release notes and tag
main
with the updated semantic version (i.e. v3.0.1
)