mtk / releaser
Generate CHANGELOG.md file from developers changes
Installs: 5
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 0
Forks: 0
Open Issues: 0
pkg:composer/mtk/releaser
Requires
- php: >=7.4
- guzzlehttp/guzzle: ^7.0
- hassankhan/config: ^2.1
- mnapoli/silly-php-di: ^1.2
- mrrio/shellwrap: ^0.4.1
- munusphp/munus: ^0.2.2
- myclabs/php-enum: ^1.7
- phlak/semver: ^3.2
- symfony/filesystem: ^5.1
- symfony/yaml: ^5.2@dev
- webmozart/assert: ^1.9
Requires (Dev)
- friendsofphp/php-cs-fixer: ^2.16
- phpmd/phpmd: ^2.9
- phpstan/phpstan: ^0.12.42
- phpunit/phpunit: ^9.3
- symplify/easy-coding-standard: ^8.3
README
This tool will help releasing and CHANGELOG.md maintaining in git projects.
This CLI is in test phase!
Install
$ composer require mtk/releaser
Usage
Create new change:
$ vendor/bin/releaser new feature "Example change" "ID-543" "John Doe"
Available types:
- fix
- feature
- deprecation
- security
- performance
- other
Create new release:
$ vendor/bin/releaser release major
Available releases:
- major
- minor
- patch
Example usage scenario
Feature: Create new change by developer
Background: We have git repository on GitLab, and developer with his own branch
Given branch with uncommited changes
When developer make new change
Then new change file is created
Feature: Create new release
Background: We have git repository on GitLab, with merged developer's branches to master
Given master branch with unreleased changes
When maintainer release new version
Then changelog file is updated
And new git tag is created
And release is published
Configuration defaults
changesDirectory: .unreleased
changelogName: CHANGELOG.md
git:
enabled: true
push: true
commitMessage: Update changelog
publishers: {}
Configure GitLab publisher
publishers:
class: GitLabPublisherClient
projectId: 100
privateToken: DA32HJB2KLH321
gitlabUrl: https://gitlab.com
TODO
- Refactor functional test for DI container usage
- Fix git changes checking
- Add wizard to create change
- Write better docs
- Add more publishers, and test custom publisher
- Replace config library (actual cannot replace only a part of nested array defaults, like only single git parameter)