From 543e095cf70396256ebbf2dd9e9d07f80304bebd Mon Sep 17 00:00:00 2001 From: Christian Beikov Date: Tue, 22 Oct 2024 16:21:25 +0200 Subject: [PATCH] Don't use the build cache during releases So that we're extra sure we're not relying on cache left by a previous Gradle execution. --- ci/release/Jenkinsfile | 7 ++++++- ci/snapshot-publish.Jenkinsfile | 23 ++++++++++++++--------- gradle/gradle-develocity.gradle | 1 + settings.gradle | 2 +- 4 files changed, 22 insertions(+), 11 deletions(-) diff --git a/ci/release/Jenkinsfile b/ci/release/Jenkinsfile index 95142d9004..88b5948566 100644 --- a/ci/release/Jenkinsfile +++ b/ci/release/Jenkinsfile @@ -176,6 +176,7 @@ pipeline { // changes the version to the provided development version withEnv([ "BRANCH=${env.GIT_BRANCH}", + "DISABLE_REMOTE_GRADLE_CACHE=true", // Increase the amount of memory for this part since asciidoctor doc rendering consumes a lot of metaspace "GRADLE_OPTS=-Dorg.gradle.jvmargs='-Dlog4j2.disableJmx -Xmx4g -XX:MaxMetaspaceSize=768m -XX:+HeapDumpOnOutOfMemoryError -Duser.language=en -Duser.country=US -Duser.timezone=UTC -Dfile.encoding=UTF-8'" ]) { @@ -206,7 +207,11 @@ pipeline { sshagent(['ed25519.Hibernate-CI.github.com', 'hibernate.filemgmt.jboss.org', 'hibernate-ci.frs.sourceforge.net']) { // performs documentation upload and Sonatype release // push to github - sh ".release/scripts/publish.sh ${env.SCRIPT_OPTIONS} ${env.PROJECT} ${env.RELEASE_VERSION} ${env.DEVELOPMENT_VERSION} ${env.GIT_BRANCH}" + withEnv([ + "DISABLE_REMOTE_GRADLE_CACHE=true" + ]) { + sh ".release/scripts/publish.sh ${env.SCRIPT_OPTIONS} ${env.PROJECT} ${env.RELEASE_VERSION} ${env.DEVELOPMENT_VERSION} ${env.GIT_BRANCH}" + } } } } diff --git a/ci/snapshot-publish.Jenkinsfile b/ci/snapshot-publish.Jenkinsfile index d010b453ba..b6d5e0a425 100644 --- a/ci/snapshot-publish.Jenkinsfile +++ b/ci/snapshot-publish.Jenkinsfile @@ -37,15 +37,20 @@ pipeline { string(credentialsId: 'release.gpg.passphrase', variable: 'SIGNING_PASS'), file(credentialsId: 'release.gpg.private-key', variable: 'SIGNING_KEYRING') ]) { - sh '''./gradlew clean publish \ - -PhibernatePublishUsername=$hibernatePublishUsername \ - -PhibernatePublishPassword=$hibernatePublishPassword \ - -Pgradle.publish.key=$hibernatePluginPortalUsername \ - -Pgradle.publish.secret=$hibernatePluginPortalPassword \ - --no-scan \ - -DsigningPassword=$SIGNING_PASS \ - -DsigningKeyFile=$SIGNING_KEYRING \ - ''' + withEnv([ + "DISABLE_REMOTE_GRADLE_CACHE=true" + ]) { + sh '''./gradlew clean publish \ + -PhibernatePublishUsername=$hibernatePublishUsername \ + -PhibernatePublishPassword=$hibernatePublishPassword \ + -Pgradle.publish.key=$hibernatePluginPortalUsername \ + -Pgradle.publish.secret=$hibernatePluginPortalPassword \ + --no-scan \ + --no-build-cache \ + -DsigningPassword=$SIGNING_PASS \ + -DsigningKeyFile=$SIGNING_KEYRING \ + ''' + } } } } diff --git a/gradle/gradle-develocity.gradle b/gradle/gradle-develocity.gradle index 26422d7671..5e835cd6f2 100644 --- a/gradle/gradle-develocity.gradle +++ b/gradle/gradle-develocity.gradle @@ -12,6 +12,7 @@ ext { isCiEnvironment = isJenkins() || isGitHubActions() || isGenericCi() populateRemoteBuildCache = isEnabled( "POPULATE_REMOTE_GRADLE_CACHE" ) + useRemoteCache = !isEnabled( "DISABLE_REMOTE_GRADLE_CACHE" ) } private static boolean isJenkins() { diff --git a/settings.gradle b/settings.gradle index d81c0372fc..98f5b4d0cb 100644 --- a/settings.gradle +++ b/settings.gradle @@ -306,7 +306,7 @@ buildCache { enabled = !settings.ext.isCiEnvironment } remote(develocity.buildCache) { - enabled = true + enabled = settings.ext.useRemoteCache // Check access key presence to avoid build cache errors on PR builds when access key is not present def accessKey = System.getenv("DEVELOCITY_ACCESS_KEY") push = settings.ext.populateRemoteBuildCache && accessKey