From bad426c9d89557f4e12a5d5f0d140ae4aa49c07c Mon Sep 17 00:00:00 2001 From: Sebastian Sdorra Date: Tue, 2 Feb 2021 11:02:31 +0100 Subject: [PATCH] Implement new changelog process (#1517) Adopt the new changelog process, which should avoid CHANGELOG.md merge conflicts. This change integrates the new changelog gradle plugin to update the CHANGELOG.md during a release and updates the release documentation. --- build.gradle | 5 ++++ docs/en/release-process.md | 30 +++++++++++++++++---- gradle/changelog/new_changelog_process.yaml | 2 ++ 3 files changed, 32 insertions(+), 5 deletions(-) create mode 100644 gradle/changelog/new_changelog_process.yaml diff --git a/build.gradle b/build.gradle index a59d812c6f..97a16d52e5 100644 --- a/build.gradle +++ b/build.gradle @@ -26,6 +26,11 @@ plugins { id 'java-platform' id 'maven-publish' id "org.sonarqube" version "3.0" + id "org.scm-manager.changelog" version "0.1.4" +} + +changelog { + versionUrlPattern = "https://www.scm-manager.org/download/{0}" } subprojects { s -> diff --git a/docs/en/release-process.md b/docs/en/release-process.md index 09ca672c9d..cbb42508e6 100644 --- a/docs/en/release-process.md +++ b/docs/en/release-process.md @@ -19,18 +19,38 @@ Check whether there is an integration branch for the previous release or bugfixe git merge origin/support/ ``` -## Modify Changelog +## Update Changelog -Change "Unreleased" header in `CHANGELOG.md` to ` - ` +The changelog must be updated to reflect the changes for the new release. +All unreleased changes are stored in the `gradle/changelog` directory. +The changelog can be updated with the `updateChangelog` gradle task. + +```bash +./gradlew updateChangelog --release= +``` + +Now we should manually check if the changelog looks good. + +```bash +git diff CHANGELOG.md +``` + +If everything looks fine, we can remove the changelog directory. + +```bash +rm -rf gradle/changelog +``` ## Create release branch -`git checkout -b release/` +```bash +git checkout -b release/ +``` ## Commit version changes -``` -git add CHANGELOG.md +```bash +git add CHANGELOG.md gradle/changelog git commit -m "Adjust changelog for release " ``` diff --git a/gradle/changelog/new_changelog_process.yaml b/gradle/changelog/new_changelog_process.yaml new file mode 100644 index 0000000000..ca73b95968 --- /dev/null +++ b/gradle/changelog/new_changelog_process.yaml @@ -0,0 +1,2 @@ +- type: changed + description: Implement new changelog process ([#1517](https://github.com/scm-manager/scm-manager/issues/1517))