WeCount website release steps
This page lays out the steps to follow for each release of the WeCount website. These steps were originally from the 2.7.0 release during a WeCount Tech Check-in meeting on July 15th, 2021, and have been modified to suit releases more generally.
Pre-release testing
Merge latest main into dev, then push back up to remote dev
Commits made by actions-user are GHA, i.e. the branch config CI job, may cause merge conflicts
Get dev site
Test all UIO settings in multiple environments and combinations
Go through every page to make sure all of them are working
Run static pages through an HTML validator, usually W3C
Initiatives page (previously Views) is a dynamic page and is not expected to validate properly
News items link to external resources, so those links don’t need to be validated, but the News page itself does.
A11y validation
Lighthouse PR: https://github.com/inclusive-design/wecount.inclusivedesign.ca/pull/293
When the accessibility score is not 100%, go through the report and investigate the reported issues
To run this:
The PR contains a list of URLs to test, it will only run through those pages
There are two files with URL lists: lighthouse-desktop.yml and lighthouse-mobile.yml, both need to be updated
Changes from the content restructuring will have broken the old list, so that needs to be updated
Get the list of pages from Netlify CMS
The URLs are mostly the same, the only change this time is to remove the “Team” page since it was never migrated to Netlify CMS
Commits should be made to the “lighthouse-ci” branch
Issue 267 captures this PR, the branch is named after this
Merge in the latest dev branch before committing to lighthouse branch
After committing locally, push into jobara’s branch by running for example `git push jobara lighthouse-ci:issue-267`. All collaborators should have write access into that branch
The push will trigger CI tasks in the PR to run and will report the issues
The old URL list pointed to Views page 11, which doesn’t exist on the prod site (there used to be many more test articles before the Netlify CMS migration)
WAVE Evaluation Tool: make sure the things it reports are reasonable
Some a11y issues will be content issues rather than code issues
Release
Check what is in dev and not in main, and what is in main but not in dev
git log main ^dev, git log main ^dev
Push directly to main
git push upstream dev:main (pushes local dev into remote upstream main)
Wait until “update CMS branch configuration” action completes
Test the production site to make sure the changes are deployed
Tag the branch
Checkout local upstream main
Pull upstream main to get updates
.github/CONTRIBUTING.md has release script commands, one for each level of release (MAJOR, MINOR and PATCH)
npm run release:<LEVEL>
The “Pushing everything to remote” task could fail, that’s okay
Push upstream main
Note the commit hash for the version bump
Go to Releases, click “Draft a new release”, give it the new ver. number
Write release notes following Conventional Commits format
Publish
Email the WeCount list to notify them of the new release