mtk/releaser

Generate CHANGELOG.md file from developers changes

0.1.4 2020-09-18 10:14 UTC

This package is auto-updated.

Last update: 2024-04-07 01:40:54 UTC


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)