name: draft-release description: "Draft a new release of the project." targets: - "*"
First, let's work on the following steps.
- Confirm that you are currently on the main branch and pull the latest changes. If not on main branch, switch to main branch.
- 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, from $ARGUMENTS, get the new version without v prefix, and assign it to $new_version. For example, if $ARGUMENTS is "v1.0.0", the new version is "1.0.0".
If $ARGUMENTS is empty, determine the new version automatically by performing the release-dry-run skill.
Let's resume the release process.
- Run
git pull. - Run
git checkout -b release/v${new_version}. - Update
getVersion()function to return the ${new_version} insrc/cli/index.ts, and runpnpm cicheck. If the checks fail, fix the code until pass. Then, executegit add,git commitandgit push. - Update the version with
pnpm version ${new_version} --no-git-tag-version. - Since
package.jsonwill be modified, executegit commitandgit push. - As a precaution, verify that
getVersion()insrc/cli/index.tsis updated to the ${new_version}. - Run
gh pr createto the main branch. - Create a draft release using
gh release create v${new_version} --draft --title v${new_version} --notes-file ./tmp/release-notes/*.mdcommand on thegithub.com/dyoshikawa/rulesyncrepository. This creates a draft release so that the publish-assets workflow can upload assets later.