PainfreeReleases
, (*1)
PainfreeReleases makes maintaining a CHANGELOG absolute painfree., (*2)
:construction: This package is still in development. Please be careful and patient, if you decide to use it., (*3)
Features: What does it actually do?
The basic idea here is pretty simple: Instead of running, (*4)
git tag 1.2.3
you run, (*5)
painfreereleases 1.2.3
to generate a new release in the CHANGELOG.md-file. In detail it does the following steps for you:, (*6)
- 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., (*7)
The only direct requirement is PHP:, (*8)
Note: During the installation of PainfreeReleases Composer will be installed/updated and used to manage the dependencies., (*9)
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:, (*10)
- change into your project folder and
-
adjust and run the following commands to install and set up painfreereleases for your project/machine:, (*11)
# 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:'
Please see the issues for planned enhancements and the roadmap., (*12)
- 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 :relieved:
For information regarding the license see license.md., (*13)