Path to Production
TODO:
Channels where we receive input
How we choose work to be done
UX design
UI design
Jira
Sprint planning
…and everything else leading up to…
Development
We follow the development process below to have:
Code changes that maintain the existing code’s design and style
Code changes that do not decrease test coverage or maintainability
Commit messages and Pull Requests that are in a consistent format
Pull Requests that are easy and fast to review to avoid review bottlenecks
After a developer is assigned a Jira task, they begin work.
Make sure that the Jira task has a clear description, and then move it to
IN PROGRESS
Unless you’re the person most familiar with the area of the codebase that you are changing, first discuss the changes with that person
If necessary, break the Jira task into smaller pieces of work
Using the
type
from Conventional Commits, decide what the primary type of work is, such asfeat
for a new feature
Ensure that the
main
branch in your cloned fork is up to date
With an example Jira task
FORMS-1234
that is a newfeat
, create a branch off yourmain
with a name likefeat/1234-new-map-component
Crank out some code and tests (or tests and code, for TDD bonus points) and whatever documentation that needs to be created or updated
Periodically commit your work with messages like:
feat: FORMS-1234 new map component for dropping a pin Added a new map component that allows the user to drop a "pin" on the map, and the location is saved as either Lat/Lon or UTM coordinates.
Run the unit tests using
Terminal
→Run Task...
→Unit Tests
and check the test coverage of your new code
Publish your branch to your fork, for example by using the “Publish” button in VS Code
Start to create a Pull Request for your branch, for example by using “New pull request” in the GitHub web site
Enter the “title” for your Pull Request in the format
feat: FORMS-1234 new map component for dropping a pin
Enter the GitHub “description” for your Pull Request using the template provided. The template contains comments to help make the process easier
Before clicking the create button, read through all the file diffs
Click the “Draft pull request” button to create the Pull Request
Wait for the automatically-run “Tests” GitHub Action to complete successfully
Using your Pull Request number, run the “PR Deploy” Action
Test your changes in the deployed Pull Request instance
Do a self-review of your Pull Request
Click the “Ready to review” button to take your Pull Request out of “draft”
If necessary, add reviewers
Tell your reviewers about the Pull Request
In Jira move the task to
PULL REQUEST (PR)
Keep your branch up to date with
main
and re-run the “PR Deploy” Action
Wait for approval (if needed) and merge your changes with the properly formatted commit message like:
feat: FORMS-1234 new map component for dropping a pin
Added a new map component that allows the user to drop a "pin" on the map,
and the location is saved as either Lat/Lon or UTM coordinates.
Monitor the
Push
Action
Run the
PR Undeploy
Action with your Pull Request number
Check Code Climate
Move Jira task to
DONE
Celebrate