gundars / releaser
Releaser is an automated semantic release version manager for CLI and PHP applications
Requires
- php: >=5.4
- composer/semver: ^1.4
README
.---. .----------- / \ __ / ------ / / \( )/ ----- '||'''|, '||` ////// ' \/ ` --- || || || //// / // : : --- ||...|' .|''|, || .|''|, '''|. ('''' .|''|, '||''| // / / /` '-- || \\ ||..|| || ||..|| .|''|| `'') ||..|| || // //..\\ .|| \\. `|... .||. `|... `|..||. `...' `|... .||. =============UU====UU==== '//||\\` ''``
Releaser is an automated semantic release version manager for PHP applications
It is intended to save time on individuals and companies - release all your repositories in a minute!
Provide Releaser with your repository name, and it will release it alongside all of its modified dependencies.
###Basic Releaser flow:
- gets data for main repo you want to release
- finds all of its dependencies
- finds all dependency dependencies until all accounted for
- figure out which repos changed since last release
- release all modified dependencies in logical order
- release main repo
###Installation
Add a dependency to your composer, execute
composer require gundars/releaser 0.*
###Releasing a repository via PHP
$releaser = new \Releaser\Releaser('$token', '$owner'); $releaser->release($repository, $whitelistDepCommonNames, $blacklistDepCommonNames $type, $sourceRef, $mode); #for example, this repo is released using: $releaser = new \Releaser\Releaser('55b48e382257a...', 'gundars'); $releaser->release('releaser', 'gundars', [], 'minor', 'dev-master', 'sandbox');
####Arguments:
###Releasing a repository via CLI or web
To run via bash, execute ./cli/run.sh
, define params there
To run via browser, execute php ./cli/release.php
using cli args or $_GET or $_POST parameters
###Currently known issues, unimplemented features, garbage
- option to force release on unchanged repos for stability
- option to release require-dev dependencies
- replace err and msg with proper 7 tier logger interface
- replace internal errors with exceptions
- finish grouping OOP for Gods sake
- DI needs fixing ASAP