Workflows for development, release, and deployment
Reviewing PRs
- Using GitHub CLI: Run
gh pr checkout <PR number>
to checkout the PR locally. - Using GitHub Codespaces: In the PR, click on the Code button and select Create codespace.
Authoring change logs
For changes in the Bemuse game, create a Markdown in the changelog
folder containing the changelog entry. Use the following front-matter:
---
author:
category:
pr:
type:
---
(Describe the change here)
author
: GitHub username of the author. (Can be an array if there are multiple authors.)category
: One offeature
,internals
,bugfix
,improvement
.pr
: Pull request number. (Can be an array if there are multiple PRs.)type
: One ofmajor
,minor
,patch
. If not specified, it will be apatch
release.
Merging PRs
When all checks have passed, click the green "Merge pull request" button.
Release a new version of the game
When a PR is merged, GitHub Actions will automatically create a release candidate. This involves:
- Consuming the changelog entries and updating the
CHANGELOG.md
file. - Bumping the version number.
The release candidate will be published to the release-candidate/proposed
branch and a pull request will be created. You can keep merging more PRs into master
and the release candidate will be updated (although it’s generally better release as often as possible). When you are ready to release, merge that pull request.
Deploying to production
Upon releasing a new version, it will automatically be deployed to production.
Publishing npm packages
Right now this is currently being done manually using this command:
rush publish --apply --target-branch master --publish --npm-auth-token $NPM_TOKEN