Storytelling Tool update process
This is the process that should be followed (along with satisfying the Laser Eye Checklist) when pushing updates to the Storytelling Tool. The purpose is to ensure minimal disruption to the version(s) in use by the general public or any particular groups. A similar process is laid out in the Contribution Guidelines of the repository, but this provides a bit more detail on some of the points.
Open an issue on the project's Jira list to summarize/capture the work about to be done
Make a fork of the repository
Make all code changes on that fork
Test the work on the developer's local machine and in as many different browsers as is practical
Run "npm test" from the command line and make sure both the Browser and Node tests are passing
Run a static HTTP server in order to run the manual tests (see Readme for up-to-date list)
Create database migration scripts, making sure to update the data version to match the new release
Set the version number in package.json as appropriate. It is recommended to follow the Semantic Versioning rules.
Open a Pull Request against the main branch of the upstream fork
Review the work and make updates as required (at least one other person must review)
Merge the Pull Request into the main branch of the upstream fork (the reviewer will usually do this)
Test the Staging site (https://staging-stories.floeproject.org) once it has finished rebuilding
check the GitHub Actions page to track build progress
Run through the Storytelling Tool Minimal Testing Grid
If any issues are encountered, document them as appropriate (new Jira, amend original Jira, etc.)
Back up the production site's database and uploaded files as necessary
Create a Pull Request or merge the main branch into the production branches (link below)
CI/CD should automatically run any data migration scripts
Test the production sites
Examine all the stories to make sure they continue to look correct
Create test stories on those sites where editing is enabled
Remove any test stories that were created in the step above
Note: there are different versions of the tool running from different deployment branches. For details on which branches are deployed to which URLs, please see the Branches Documentation.