A PHP tool for automating software release workflows with configurable versioning, prerequisites, and actions.
RMT (Release Management Tool) is a command-line utility that automates and standardizes the process of releasing new software versions. It provides a configurable workflow to handle version generation, persistence, and associated actions like changelog updates and VCS operations, helping teams maintain consistency and follow best practices during releases.
Development teams, particularly those using PHP and Composer, who need a structured, automated release process for their projects, including those managing multiple branches or requiring custom release steps.
Developers choose RMT for its high configurability via YAML, support for multiple versioning strategies and VCS systems, and extensibility through custom PHP scripts, allowing teams to tailor the release workflow to their specific needs without being locked into rigid conventions.
RMT is a handy tool to help releasing new version of your software
Supports semantic versioning and simple incrementing with configurable storage in VCS tags or changelog files, as shown in the configuration examples.
Allows overriding default settings per VCS branch, enabling different release strategies for main versus feature branches, detailed in the branch specific config section.
Includes built-in actions and the ability to add custom PHP scripts, making it adaptable to specific project needs, as mentioned in the 'Extend it' section.
Enforces conditions like test suite passes and Composer stability checks before releases, ensuring quality, with options detailed in the prerequisite actions list.
Some features like 'update-version-class' are marked as deprecated, indicating potential maintenance issues and the need for users to migrate to alternatives like 'files-update'.
Heavily reliant on PHP and Composer, which limits its applicability to non-PHP ecosystems and adds overhead for projects not already using these tools.
The YAML config file can become verbose and intricate, especially with nested actions and branch overrides, which might be overwhelming for teams with simpler needs.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.