Comment on page
Pre-Release Checklist
Step-by-step instructions for preparing a release or PR
So, you want to release some code? The Ghostwriter release workflow is simple to follow. The developer of the new code must perform a few actions:
- Update or create unit tests that cover their changes to the codebase
- Update documentation (this wiki), as needed
- Write an itemized CHANGELOG of their changes
Everything else is handled automatically by the continuous integration pipeline.
The following sections walk you through what to do to prepare for a new release or a pull request.
- 1.Review any linter alerts in VS Code (under the PROBLEMS tab in the console)
- 1.
- 2.Review and update wiki documentation as needed
- 1.The Ghostwriter team should update the wiki immediately via a commit or edit in GitBook
- 2.
- 3.Write or update unit tests for changes
- 4.Run all unit tests with Python Coverage:
docker-compose -f local.yml run django coverage run manage.py test
- 5.Review Coverage report for changes in "missing"
- 1.Run a report with "missing" displayed:
docker-compose -f local.yml run django coverage report -m
- 2.Look for code branches not covered by unit tests (e.g.,
except
blocks)
- 6.If Coverage reports testing gaps in new or changed code, return to step 3
- 1.Merge feature branches into a
dev
branch - 2.Test deployment of the new branch on a development server
- 3.Test new and changed features and anything potentially affected by the changes
- 1.Browse the user interface and interact with anything related to the changes
- 2.If the UI has changed, thoroughly test different scenarios and observe JavaScript behavior
- 4.If all is well, merge into
main
or create the pull request with an itemized CHANGELOG - 5.Wait some time (usually ~25 minutes) and review the results of the GitHub Actions
- 6.If required Actions succeeded, the code may be merged and Ghostwriter team members will review the code prior to a release
- 7.If code is approved, the Ghostwriter team will update the Change Logs section, tag a release on GitHub, and link the new Change Logs page
Last modified 1yr ago