felixdorn / release-that
Automated release system for PHP
Requires
- php: ^7.3
- cypresslab/gitelephant: ^4.0
- laravel-zero/framework: ^6.0
- nette/schema: ^1.0
- phlak/semver: ^3.0
- symfony/stopwatch: ^5.0
Requires (Dev)
- mockery/mockery: ^1.0
- phpstan/phpstan: ^0.12.11
- phpunit/phpunit: ^8.0
- squizlabs/php_codesniffer: ^3.5
README
Rt, short for release that, is a tool for quickly creating GitHub releases.
Installation
curl -L https://github.com/felixdorn/rt/releases/latest/download/rt -o rt chmod +x ./rt mv ./rt /usr/bin/rt
Once you have installed the binary, you'll need to login to GitHub.
rt --login
Your personal access token is stored in ~/.rtauth
with restricted permissions (0644).
Configuration
rt
can work without any configuration, however if you want to customize the release name, contents..., you can create
one with the following command:
rt --init
The default configuration can be found here, it looks like this:
{ "release_notes": { "title": "Release :version", "commit_format": "* :hash: :message" }, "before_release": [], "after_release": [], "assets": [], "tag_message": "Version :tag" }
before_release
and after_release
are an array of commands that will be executed before and after the release
process.
assets
is an array of files that will be uploaded along with the release.
You can use various placeholders in the following keys:
- tag_message:
:tag
/:version
- release_notes.title:
:tag
/:version
- release_notes.commit_format:
:hash
:longHash
:message
:author.name
:author.email
Usage
You can release a new version with the following command:
rt --patch rt --minor rt --major rt --custom 4.24.5-linux+stripped
The custom version must be a valid semver version.