diff --git a/ci/snapshot-publish.Jenkinsfile b/ci/snapshot-publish.Jenkinsfile new file mode 100644 index 0000000000..1fa03223da --- /dev/null +++ b/ci/snapshot-publish.Jenkinsfile @@ -0,0 +1,58 @@ +@Library('hibernate-jenkins-pipeline-helpers@1.5') _ + +// Avoid running the pipeline on branch indexing +if (currentBuild.getBuildCauses().toString().contains('BranchIndexingCause')) { + print "INFO: Build skipped due to trigger being Branch Indexing" + currentBuild.result = 'ABORTED' + return +} + +pipeline { + agent { + label 'Fedora' + } + tools { + jdk 'OpenJDK 11 Latest' + } + options { + rateLimitBuilds(throttle: [count: 1, durationName: 'hour', userBoost: true]) + buildDiscarder(logRotator(numToKeepStr: '3', artifactNumToKeepStr: '3')) + } + triggers { + cron 'H * * * *' + } + stages { + stage('Checkout') { + steps { + checkout scm + } + } + stage('Publish') { + steps { + withCredentials([ + usernamePassword(credentialsId: 'ossrh.sonatype.org', usernameVariable: 'hibernatePublishUsername', passwordVariable: 'hibernatePublishPassword'), + usernamePassword(credentialsId: 'plugins.gradle.org', usernameVariable: 'hibernatePluginPortalUsername', passwordVariable: 'hibernatePluginPortalPassword'), + string(credentialsId: 'ge.hibernate.org-access-key', variable: 'GRADLE_ENTERPRISE_ACCESS_KEY'), + 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 \ + -PhibernatePluginPortalUsername=$hibernatePluginPortalUsername \ + -PhibernatePluginPortalPassword=$hibernatePluginPortalPassword \ + --no-scan \ + -DsigningPassword=$SIGNING_PASS \ + -DsigningKeyFile=$SIGNING_KEYRING \ + """ + } + } + } + } + post { + always { + // Space-separated + notifyBuildResult maintainers: 'christian.beikov@gmail.com' + } + } +} \ No newline at end of file