From 7e5b7c986901323b245360fc091dee5184323f71 Mon Sep 17 00:00:00 2001 From: Andreas Dangel Date: Thu, 30 Mar 2023 15:59:15 +0200 Subject: [PATCH 1/5] Allow snapshot dependencies in release candidate builds --- .ci/build.sh | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.ci/build.sh b/.ci/build.sh index 5f4d321698..0b503d4e18 100755 --- a/.ci/build.sh +++ b/.ci/build.sh @@ -55,6 +55,11 @@ function build() { # stop early for invalid maven version and branch/tag combination pmd_ci_maven_verify_version || exit 0 + # allow snapshot dependencies in release candidate builds: + if [[ "${PMD_CI_MAVEN_PROJECT_VERSION}" == *-rc* ]]; then + PMD_MAVEN_EXTRA_OPTS+=(-Denforcer.skip=true) + fi + if [ "$(pmd_ci_utils_get_os)" != "linux" ]; then pmd_ci_log_group_start "Build with mvnw" ./mvnw clean verify --show-version --errors --batch-mode --no-transfer-progress "${PMD_MAVEN_EXTRA_OPTS[@]}" From c9ef4531e97bdc780bb72800fcf14b850d265e99 Mon Sep 17 00:00:00 2001 From: Andreas Dangel Date: Thu, 30 Mar 2023 16:02:58 +0200 Subject: [PATCH 2/5] Skip tests when doing a release build --- .ci/build.sh | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.ci/build.sh b/.ci/build.sh index 0b503d4e18..4f8ba65901 100755 --- a/.ci/build.sh +++ b/.ci/build.sh @@ -60,6 +60,11 @@ function build() { PMD_MAVEN_EXTRA_OPTS+=(-Denforcer.skip=true) fi + # skip tests when doing a release build + if pmd_ci_maven_isReleaseBuild; then + PMD_MAVEN_EXTRA_OPTS+=(-DskipTests=true) + fi + if [ "$(pmd_ci_utils_get_os)" != "linux" ]; then pmd_ci_log_group_start "Build with mvnw" ./mvnw clean verify --show-version --errors --batch-mode --no-transfer-progress "${PMD_MAVEN_EXTRA_OPTS[@]}" From 56f4e738aa242ff79c89a518c65369238c3717e0 Mon Sep 17 00:00:00 2001 From: Andreas Dangel Date: Sat, 15 Apr 2023 16:05:40 +0200 Subject: [PATCH 3/5] Don't disable enforcer plugin --- .ci/build.sh | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/.ci/build.sh b/.ci/build.sh index 4f8ba65901..4ea6460990 100755 --- a/.ci/build.sh +++ b/.ci/build.sh @@ -55,12 +55,9 @@ function build() { # stop early for invalid maven version and branch/tag combination pmd_ci_maven_verify_version || exit 0 - # allow snapshot dependencies in release candidate builds: - if [[ "${PMD_CI_MAVEN_PROJECT_VERSION}" == *-rc* ]]; then - PMD_MAVEN_EXTRA_OPTS+=(-Denforcer.skip=true) - fi - - # skip tests when doing a release build + # skip tests when doing a release build - this makes the process faster + # it's a manual task now to verify that a release is only started, when the main branch + # was green before. This is usually checked via a local build, see ./do-release.sh if pmd_ci_maven_isReleaseBuild; then PMD_MAVEN_EXTRA_OPTS+=(-DskipTests=true) fi From 1ca778f167ac43dcc1fbcd3528eda2ca9eb4a97e Mon Sep 17 00:00:00 2001 From: Andreas Dangel Date: Sat, 15 Apr 2023 16:05:47 +0200 Subject: [PATCH 4/5] Revert "Don't use maven-release-plugin for release candidates" This reverts commit 01617c4c7b0b77d11804a0e14681f598381ff9f5. --- do-release.sh | 26 ++++++-------------------- 1 file changed, 6 insertions(+), 20 deletions(-) diff --git a/do-release.sh b/do-release.sh index 7a42d9be4e..90e86afec1 100755 --- a/do-release.sh +++ b/do-release.sh @@ -165,26 +165,12 @@ git commit -a -m "Prepare pmd release ${RELEASE_VERSION}" fi ) -# for release candidates, allow snapshot dependencies -if [[ "${RELEASE_VERSION}" == *-rc* ]]; then - ./mvnw versions:set -DnewVersion="${RELEASE_VERSION}" -DgenerateBackupPoms=false - git commit -S -a -m "[release] prepare release pmd_releases/${RELEASE_VERSION}" - git tag -a -s -m "[release] tag pmd_releases/${RELEASE_VERSION}" "pmd_releases/${RELEASE_VERSION}" - # test build - ./mvnw clean verify -Denforcer.skip=true - ./mvnw versions:set -DnewVersion="${DEVELOPMENT_VERSION}" -DgenerateBackupPoms=false - git commit -S -a -m "[release] prepare for next development iteration" - # push - git push origin - git push origin tag "pmd_releases/${RELEASE_VERSION}" -else - ./mvnw -B release:clean release:prepare \ - -Dtag="pmd_releases/${RELEASE_VERSION}" \ - -DreleaseVersion="${RELEASE_VERSION}" \ - -DdevelopmentVersion="${DEVELOPMENT_VERSION}" \ - -DscmCommentPrefix="[release] " \ - -Pgenerate-rule-docs -fi +./mvnw -B release:clean release:prepare \ + -Dtag="pmd_releases/${RELEASE_VERSION}" \ + -DreleaseVersion="${RELEASE_VERSION}" \ + -DdevelopmentVersion="${DEVELOPMENT_VERSION}" \ + -Pgenerate-rule-docs + echo echo "Tag has been pushed.... now check github actions: " From 9a0a52e950503c6d742c5ada3fffdd621b94cc24 Mon Sep 17 00:00:00 2001 From: Andreas Dangel Date: Sat, 15 Apr 2023 16:08:04 +0200 Subject: [PATCH 5/5] Add custom scmCommentPrefix for maven-release-plugin --- do-release.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/do-release.sh b/do-release.sh index 90e86afec1..60d060c944 100755 --- a/do-release.sh +++ b/do-release.sh @@ -169,6 +169,7 @@ git commit -a -m "Prepare pmd release ${RELEASE_VERSION}" -Dtag="pmd_releases/${RELEASE_VERSION}" \ -DreleaseVersion="${RELEASE_VERSION}" \ -DdevelopmentVersion="${DEVELOPMENT_VERSION}" \ + -DscmCommentPrefix="[release] " \ -Pgenerate-rule-docs