First, let's work on the following steps.
- Confirm that you are currently on the
mainbranch and pull the latest changes. If not on themainbranch, switch to it. - Compare code changes between the previous version tag and the latest commit to prepare the release description.
- Write in English.
- Do not include confidential information.
- Sections
What's Changed,ContributorsandFull Changelogare needed. ./tmp/release-notes/*.mdwill be used as the release notes.
Then, get the requested new version from the user's request without the v prefix and assign it to $new_version. For example, if the request specifies "v1.0.0", the new version is "1.0.0".
If the user does not specify a version, determine it automatically by analyzing the diff and applying semantic-versioning rules: a breaking change bumps the major, a new feature bumps the minor, and a bug fix bumps the patch.
Let's resume the release process.
- Run
git pull. - Run
git checkout -b release/v${new_version}. - Bump the version in
package.jsonto${new_version}withpnpm version ${new_version} --no-git-tag-version(or edit theversionfield directly). The CLI reads its version frompackage.json, so no other file needs to change. - Run
pnpm run cicheck. If the checks fail, fix the code until they pass. - Execute
git add,git commitandgit push. - As a precaution, verify that
ghactivities --version(orpnpm dev --version) reports${new_version}. - Run
gh pr createtargeting themainbranch. - Create a draft release with
gh release create v${new_version} --draft --title v${new_version} --notes-file ./tmp/release-notes/*.mdon thegithub.com/dyoshikawa/ghactivitiesrepository. Creating a draft (instead of publishing) lets you review it before the release workflow publishes to npm.