It uses different tools to create release notes:
and custom groovy script.
To install all you should (for Ubuntu 15.10):
Install git:
sudo apt-get install git
Intall groovy:
mkdir -p ~/dev/apps/
cd ~/dev/apps/
wget https://bintray.com/artifact/download/groovy/maven/apache-groovy-sdk-2.4.5.zip
unzip apache-groovy-sdk-2.4.5.zip
cd groovy-2.4.5/
echo 'export GROOVY_HOME="'$(pwd)'"' >> ~/.bashrc
echo 'export PATH="$GROOVY_HOME/bin:$PATH"' >> ~/.bashrc
Install Java:
mkdir -p ~/dev/apps/
cd ~/dev/apps/
wget --no-cookies --no-check-certificate --header "Cookie: gpw_e24=http%3A%2F%2Fwww.oracle.com%2F; oraclelicense=accept-securebackup-cookie" "http://download.oracle.com/otn-pub/java/jdk/8u72-b15/jdk-8u72-linux-x64.tar.gz"
tar xzf jdk-8u72-linux-x64.tar.gz
cd jdk1.8.0_72
echo 'export JAVA_HOME="'$(pwd)'"' >> ~/.bashrc
echo 'export PATH="$JAVA_HOME/bin:$PATH"' >> ~/.bashrc
Export your GitHub token:
echo 'export GITHUB_TOKEN=some_value' >> ~/.bashrc
Install nodeJs:
curl -sL https://deb.nodesource.com/setup_5.x | sudo -E bash -
sudo su
apt-get install -y nodejs
Install github-changes:
npm install -g github-changes
Install git-changelog:
cd ~/dev/apps/
wget https://repo1.maven.org/maven2/se/bjurr/gitchangelog/git-changelog-command-line/1.9/git-changelog-command-line-1.9.tar
tar -xvf git-changelog-command-line-1.9.tar
cd git-changelog-command-line-1.9/bin
echo 'export PATH="'$(pwd)':$PATH"' >> ~/.bashrc
Now you can generate tree different reports:
-
Based on pull requests
github-changes --owner serenity-bdd -r serenity-core -d pulls --token ${GITHUB_TOKEN} --file github-changes.md --title 'Serenity Core Changes Log' --no-merges --verbose
-
Based on Commits
github-changes --owner serenity-bdd -r serenity-core -d commits --token ${GITHUB_TOKEN} --file github-changes_commits.md --title 'Serenity Core Changes Log' --no-merges --verbose
-
Based on Commits extended
echo '
## Serenity BDD Release Notes
{{#tags}}
### {{name}}
**Commits with examples:**
{{#commits}}
{{#messageBody}}
* [commit:](https://github.com/serenity-bdd/serenity-core/commit/{{hash}}) {{messageTitle}}
{{#messageBodyItems}}
> {{.}}
{{/messageBodyItems}}
{{/messageBody}}
{{/commits}}
{{/tags}}' > multiline_commit_messages.mustache
git-changelog-command-line -of change_log_with_multiline_commits.md --template multiline_commit_messages.mustache
rm multiline_commit_messages.mustache
```
Based on Commits additional
echo '
## Serenity BDD Release Notes
{{#tags}}
### {{name}}
**Commits:**
{{#commits}}
{{^messageBody}}
* [commit:](https://github.com/serenity-bdd/serenity-core/commit/{{hash}}) {{messageTitle}}
{{/messageBody}}
{{/commits}}
{{/tags}}' > commits_styled.mustache
git-changelog-command-line -of change_log_with_commits.md --template commits_styled.mustache --ignore-pattern '^[^(feat)(fix)(docs)(style)(refactor)(perf)(test)(chore)]+.*'
rm commits_styled.mustache