spekulatius/painfreereleases

Helps you to maintain a CHANGELOG absolute painfree.

0.1.5 2020-03-23 20:42 UTC

This package is auto-updated.

Last update: 2024-03-20 00:48:02 UTC


README

Build Status Latest Stable Version Latest Unstable Version Scrutinizer Code Quality Total Downloads License

PainfreeReleases makes maintaining a CHANGELOG absolute painfree.

🚧 This package is still in development. Please be careful and patient, if you decide to use it.

Features: What does it actually do?

The basic idea here is pretty simple: Instead of running

git tag 1.2.3

you run

painfreereleases 1.2.3

to generate a new release in the CHANGELOG.md-file. In detail it does the following steps for you:

  • Generates you a CHANGELOG.md-file out of your git tags and commits.
  • commits it,
  • and tags your release.

Requirements: What do you need?

Any regular developer machine using Linux should work. Maybe Mac OS. Windows? No idea.

The only direct requirement is PHP:

  • PHP 5.4.0

Note: During the installation of PainfreeReleases Composer will be installed/updated and used to manage the dependencies.

Installation: How do I get this?

Each user (usually developer) needs to run the following command to install and configure the package for each project:

  1. change into your project folder and

  2. adjust and run the following commands to install and set up painfreereleases for your project/machine:

    # install or update composer - we need this to manage the dependencies
    curl -sS https://getcomposer.org/installer | sudo php -- --install-dir=/usr/local/bin --filename=composer;
    
    # install the package as a global dependency and symlink it.
    composer global require spekulatius/painfreereleases;
    sudo chmod +x ~/.composer/spekulatius/painfreereleases/painfreereleases;
    sudo ln -s ~/.composer/spekulatius/painfreereleases/painfreereleases /usr/local/bin/painfreereleases;
    
    # run the initial steps
    painfreereleases init;
    
    # commit the change
    git add composer.json composer.lock CHANGELOG.md;
    git commit -m 'DOC: Adding PainfreeReleases :sunny:'

Roadmap: See where PainfreeReleases goes

Please see the issues for planned enhancements and the roadmap.

  • Adding tests :/
  • "Ignore tags" option with regex match. e.g. "^archive" to not process any tags matching this.
  • Making grouping based on keywords config manageable
  • Groups should have a priority for order in the output
  • Custom log message decorators to allow styling of the output e.g. with links to the issue tracker.
  • Different output formats, also allowing to push to gitlab, github or bitbucket.

License 😌

For information regarding the license see license.md.