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
- Lighthouse PR: https://github.com/inclusive-design/wecount.inclusivedesign.ca/pull/293
- Merge latest main into dev, then push back up to remote dev
- 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
- Check what is in dev and not in main, and what is in main but not in dev