diff --git a/DEVELOPMENT.md b/DEVELOPMENT.md index 2cee609a..dbcb1b92 100644 --- a/DEVELOPMENT.md +++ b/DEVELOPMENT.md @@ -36,3 +36,29 @@ to the platform object. If CI fails only for containers using older versions of glibc or musl, you may need to add the tool name to one of the `*_incompat` arrays in `tools/ci/tool-list.sh`. + +## Release new version + +Releases are performed by running the [release workflow](https://github.com/taiki-e/install-action/actions/workflows/release.yml) via workflow dispatch. The owner and collaborators can start the release workflow, but the owner’s [approval](https://docs.github.com/en/actions/reference/workflows-and-actions/deployments-and-environments#required-reviewers) is required before the actual release. + +### Minor version vs patch version + +Increase the patch version if only the following changes are included. + +- Update the `@latest` version of the tool. + + Rationale: Normally, tool versions are controlled by the `@` syntax, which is explicitly separated from the versioning of the install-action itself. + + Exception: If the major or minor version of the `cargo-binstall` is updated, the minor version may be increased because the behavior of the fallback may change slightly. + +- Fix regressions or minor bugs. + + Rationale: Semantic Versioning. + +- Improve documentation or diagnostics. + + Rationale: Semantic Versioning. + +Usually increase the minor version otherwise. + +Adding support for a new tool may conflict with existing fallbacks, so it is necessary to increase the minor version.