| 122 | |
| 123 | == Quality assurance == |
| 124 | |
| 125 | To assure that the contribution is in par with Django code quality standards, the actual development workflow should be similar to the following: |
| 126 | |
| 127 | === Contributor === |
| 128 | |
| 129 | 1. Implement tests for the features to be added |
| 130 | 1. Commit locally with a descriptive commit message |
| 131 | 1. Implement the features |
| 132 | 1. Commit locally |
| 133 | 1. Run the test suite iteratively, fixing whatever the tests indicate needs fixing |
| 134 | 1. Commit locally if something changed |
| 135 | 1. Push your changes to !GitHub |
| 136 | |
| 137 | === Lieutenant === |
| 138 | |
| 139 | 1. Review changes (knowing that the contributor has assured that tests pass) |
| 140 | 1. Pull changes from contributor's repo to your repo |
| 141 | 1. Run the test suite |
| 142 | 1. Push changes to the public code hosting service |