GitHub integration which validates whether release notes are updated when production code is changed
Information for how to contribute to Chronicler can be found in the contribution guidelines
Chronicler is distributed under the Apache 2.0 License. The only requirement for use is inclusion of the following line within your NOTICES file:
StarChart-Labs Chronicler Web Application
Copyright 2017-2019 StarChart Labs Authors.
This product includes software developed at
StarChart Labs (http://www.starchartlabs.org/).
The requirement for a copy of the license being included in distributions is fulfilled by a copy of the LICENSE file being included in constructed JAR archives
If you discover a security vulnerability, contact the development team by e-mail at [email protected]
To use Chronicler, install it on one or more repositories. Pull requests made after installation will be analyzed for two conditions:
- Did production files get modified?
- Was a release notes file updated?
If production files were modified, and release notes were not, Chronicler will fail a status check on the pull request - otherwise, the pull request passes.
Chronicler allows customization of what are considered production files and what is recognized as a release notes file via a YAML file in /.starchart-labs/chronicler.yml
.
The default settings are:
- Everything in a
src
directory and NOT in atest
directory is a production file - Anything similar to
RELEASE_NOTES
orCHANGE_LOG
is considered a release note file
The configuration for the default settings would look like this:
productionFiles:
include:
- '**/src/**'
exclude:
- '**/test/**'
releaseNoteFiles:
include:
- '**/CHANGE*LOG*'
- '**/RELEASE*NOTES*'
Patterns use the Java PathMatcher glob syntax, which is similar to Ant directory patterns. All patterns are case-insensitive.