Start working off the main
branch. git checkout -B my_branch
Migrate your dev and test databases to ensure your databases have the latest schema
[deno task db:local migrate latest](<https://virtualhospitalsafrica.notion.site/4d4c461bbc864500abe75b047bd6094b>)
Make changes locally. If working on the web app, you should be able to manually test everything locally before going to production. For the chatbot WhatsApp Cloud API makes POST requests to the production https://virtual-hospitals-africa.org/api/webhook with WhatsApp events, but the chatbot can be run locally
If you need to change the data model you may use Migrations to do so.
Test your changes manually, including any migrations, locally on a feature branch.
Add automated tests that ensure the feature works. deno task test
runs the test suite
Run deno fmt
and deno task check
Make a Pull Request into the main
branch for your changes.
Add a description in the PR of what and why the changes were made. Include a screenshot and/or videos of it working — showing how to go through a new workflow, for example.
Ensure that the build runs green
Ensure that your commits are ahead of the main branch (prefer rebase relative to pull/merge for this)
Message your teammates on Slack asking them to review the change.
Reviewers can review code asynchronously or folks can meet up over a Slack huddle.
Merge the changes to the main
branch with signoff from another teammate.
Run migrations if necessary
Run heroku logs --tail
to see if logs look normal during and after the deploy
If it broke, roll back and notify the team
If it passed, notify that the changes are live and working as expected
You just shipped! 🚢