Pre-Release Checklist
Step-by-step instructions for preparing a release or PR
Preparing New Code for a Release
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.
Prepare for a Release or Pull Request
Review any linter alerts in VS Code (under the PROBLEMS tab in the console)
See the Code Style Guide for information about linting and proper formatting
Review and update wiki documentation as needed
The Ghostwriter team should update the wiki immediately via a commit or edit in GitBook
External contributions should submit changes as a pull request to the documentation repository
Write or update unit tests for changes
Run all unit tests with Python Coverage:
docker-compose -f local.yml run django coverage run manage.py test
Review Coverage report for changes in "missing"
Run a report with "missing" displayed:
docker-compose -f local.yml run django coverage report -m
Look for code branches not covered by unit tests (e.g.,
except
blocks)
If Coverage reports testing gaps in new or changed code, return to step 3
Ready to Create a Release or Pull Request
Merge feature branches into a
dev
branchTest deployment of the new branch on a development server
Test new and changed features and anything potentially affected by the changes
Browse the user interface and interact with anything related to the changes
If the UI has changed, thoroughly test different scenarios and observe JavaScript behavior
If all is well, merge into
main
or create the pull request with an itemized CHANGELOGWait some time (usually ~25 minutes) and review the results of the GitHub Actions
If required Actions succeeded, the code may be merged and Ghostwriter team members will review the code prior to a release
Last updated