ワンクリックで
release-engineering
// Manage the full software release process, including version bumps, changelogs, Git tags, and GitHub releases.
// Manage the full software release process, including version bumps, changelogs, Git tags, and GitHub releases.
| name | release-engineering |
| description | Manage the full software release process, including version bumps, changelogs, Git tags, and GitHub releases. |
When performing release engineering, always follow these steps:
Determine the release type — review all unreleased commits since the last tag and classify the release as major, minor, or patch following Semantic Versioning. Present the recommendation to the user and confirm before proceeding.
Run the full test suite — run all tests with 4 partitions and seed 9527 and wait for all to pass before proceeding. Do not continue if any test fails.
for p in 1 2 3 4; do MIX_TEST_PARTITION=$p mix test --partitions 4 --seed 9527 & done; wait
Update the version — bump the version field in mix.exs to match the new release version.
Update CHANGELOG.md — add a new version entry at the top following the Keep a Changelog format. Group changes under Added, Changed, Fixed, Removed, or Security as appropriate. Include all notable changes since the previous release.
Commit the release — stage mix.exs and CHANGELOG.md together and commit with the message chore: release vX.Y.Z.
Tag the release — create an annotated Git tag (e.g., git tag -a v1.2.3 -m "v1.2.3") and push it to the remote (git push --tags).
Create a GitHub release — use gh release create vX.Y.Z with the corresponding CHANGELOG.md section as the release body.
Perform a project-wide full-scope code review covering correctness, security auditing, test coverage, locale sync, documentation quality, code smells, UI/UX accessibility, and project conventions, then report findings and fix critical issues.
Stage, commit, and push changes to the remote repository with a well-formed commit message.
Audit and update all project documentation to stay in sync with the current development status.