Note: https://dldc.lib.uchicago.edu/ redirects to index.html above. Edit the latter to effect changes in the former.
- Name your code branch to match the ticket.
- For example, an issue titled
Flux Capacitor Bug #180
would have a branch named180-Flux-Capacitor-Bug
.
- For example, an issue titled
- Create the pull request that corresponds with an issue.
- Do not add an approver yet, but add any project tags needed.
- If using command line: After making the branch you have to push it to origin before making the pull request.
- Work on the code ✨
Remember to do the following, if your changes call for it
- Make migrations:
./manage.py makemigrations
and./manage.py migrate
- Generate fixtures:
./manage.py dumpdata --natural-foreign --natural-primary --exclude wagtailcore.GroupCollectionPermission > base/fixtures/test.json
- Warning: Must be done from the Vagrant version of the site, should never be done from a site running a full production database dump
- Collect Static:
./manage.py collectstatic
- Compress:
./manage.py compress
- Push changes to your branch
- Creates pull request (if one hasn't been created already)
- Add note to pull request that it closes X issue. For example:
Closes #180
- Add a reviewer to the pull request
- This lets the team know we're dealing with merge-ready code.
- Reviewer will be alerted to the required task via email.
- Selects the "Approve" option from the pull request dialog and clicks "submit review"
- Adds the "ready to merge" tag to the pull request
Reviewer can add comments and requests changes before approving pull request
- Reviewer selects the "Request changes" option from the pull request dialog and clicks "submit review"
- Reviewer adds comments either by line comments in the code diffs or as a general comment on the pull request
- Developer makes changes and asks for re-review of code
- Reviewer goes over changes. If code is OK, follows steps in "No Changes Needed"
- Merges the code into master
- Tells the lead to push the code into production
- The lead could be the developer themself
- See Pushing to Production documentation