This is an automated email from the ASF dual-hosted git repository.
jstastnycz pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/incubator-kie-optaplanner.git
The following commit(s) were added to refs/heads/main by this push:
new c23bd89ca2 kie-issues#655: fix Jenkinsfile.deploy
c23bd89ca2 is described below
commit c23bd89ca2160b9cfc0e63028e2dcad42f4febe6
Author: jstastny-cz <[email protected]>
AuthorDate: Fri Oct 27 10:25:40 2023 +0200
kie-issues#655: fix Jenkinsfile.deploy
---
.ci/jenkins/Jenkinsfile.deploy | 103 ++++++++++++++++++++++++-----------------
.ci/jenkins/dsl/jobs.groovy | 3 +-
2 files changed, 63 insertions(+), 43 deletions(-)
diff --git a/.ci/jenkins/Jenkinsfile.deploy b/.ci/jenkins/Jenkinsfile.deploy
index e1e895a708..d39d18a169 100644
--- a/.ci/jenkins/Jenkinsfile.deploy
+++ b/.ci/jenkins/Jenkinsfile.deploy
@@ -8,7 +8,9 @@ import org.kie.jenkins.MavenStagingHelper
deployProperties = [:]
optaplannerRepository = 'incubator-kie-optaplanner'
+optaplannerFolder = 'optaplanner'
quickstartsRepository = 'incubator-kie-optaplanner-quickstarts'
+quickstartsFolder = 'quickstarts'
imageUtils = null
@@ -39,7 +41,7 @@ pipeline {
stage('Initialize') {
steps {
script {
- cleanWs()
+ cleanWs(disableDeferredWipeout: true)
if (params.DISPLAY_NAME) {
currentBuild.displayName = params.DISPLAY_NAME
@@ -75,8 +77,8 @@ pipeline {
stage('Clone repositories') {
steps {
script {
- checkoutRepo(optaplannerRepository)
- checkoutQuickstarts()
+ checkoutRepo(optaplannerRepository, optaplannerFolder)
+ checkoutQuickstarts(quickstartsFolder)
}
}
}
@@ -87,8 +89,8 @@ pipeline {
}
steps {
script {
- prepareForPR(optaplannerRepository)
- prepareForPR(quickstartsRepository)
+ prepareForPR(optaplannerFolder)
+ prepareForPR(quickstartsFolder)
}
}
}
@@ -112,13 +114,16 @@ pipeline {
stage('Build OptaPlanner') {
steps {
script {
- getOptaplannerMavenCommand()
- .withProperty('maven.test.failure.ignore', true)
- .withProperty('operator.image.build')
- .skipTests(params.SKIP_TESTS)
- .run('clean install')
+ configFileProvider([configFile(fileId:
env.MAVEN_SETTINGS_CONFIG_FILE_ID, variable: 'MAVEN_SETTINGS_FILE')]){
+ getOptaplannerMavenCommand()
+ .withProperty('maven.test.failure.ignore',
true)
+ .withProperty('operator.image.build')
+ .skipTests(params.SKIP_TESTS)
+ .withSettingsXmlFile(MAVEN_SETTINGS_FILE)
+ .run('clean install')
+ }
if (isRelease()) {
- updateAntoraYaml(optaplannerRepository)
+ updateAntoraYaml(optaplannerFolder)
}
}
}
@@ -135,10 +140,13 @@ pipeline {
stage('Build Quickstarts') {
steps {
script {
- getOptaplannerQuickstartsMavenCommand()
- .withProperty('maven.test.failure.ignore', true)
- .skipTests(params.SKIP_TESTS)
- .run('clean install')
+ configFileProvider([configFile(fileId:
env.MAVEN_SETTINGS_CONFIG_FILE_ID, variable: 'MAVEN_SETTINGS_FILE')]){
+ getOptaplannerQuickstartsMavenCommand()
+ .withProperty('maven.test.failure.ignore',
true)
+ .skipTests(params.SKIP_TESTS)
+ .withSettingsXmlFile(MAVEN_SETTINGS_FILE)
+ .run('clean install')
+ }
}
}
post {
@@ -201,8 +209,8 @@ pipeline {
}
steps {
script {
- commitAndCreatePR(optaplannerRepository, getBuildBranch())
- commitAndCreatePR(quickstartsRepository,
getQuickStartsBranch())
+ commitAndCreatePR(optaplannerFolder,
optaplannerRepository, getBuildBranch())
+ commitAndCreatePR(quickstartsFolder,
quickstartsRepository, getQuickStartsBranch())
}
}
post {
@@ -246,8 +254,7 @@ pipeline {
}
cleanup {
script {
- // Clean also docker in case of usage of testcontainers lib
- util.cleanNode('docker')
+ util.cleanNode()
}
}
}
@@ -269,10 +276,10 @@ List getIntegrationTestProfiles() {
void updateQuickstartsVersions() {
maven.mvnSetVersionProperty(getOptaplannerQuickstartsMavenCommand(),
'version.org.optaplanner', getProjectVersion())
maven.mvnVersionsUpdateParentAndChildModules(getOptaplannerQuickstartsMavenCommand(),
getProjectVersion(), !isRelease())
- gradleVersionsUpdate(quickstartsRepository, getProjectVersion())
+ gradleVersionsUpdate(quickstartsFolder, getProjectVersion())
if (isRelease()) {
- dir(quickstartsRepository) {
+ dir(quickstartsFolder) {
// TODO: Remove the exclusion after the kubernetes demo is
migrated to 9.
assert !sh(script:
'grep -Rn "SNAPSHOT" --include={pom.xml,build.gradle}
--exclude-dir=kubernetes | ' +
@@ -281,7 +288,7 @@ void updateQuickstartsVersions() {
}
}
if (isCreatePr()) {
- dir(quickstartsRepository) {
+ dir(quickstartsFolder) {
// TODO: Remove the exclusion after the kubernetes demo is
migrated to 9.
assert !sh(script:
'grep -Rn "SNAPSHOT" --include={pom.xml,build.gradle}
--exclude-dir=kubernetes | ' +
@@ -291,8 +298,8 @@ void updateQuickstartsVersions() {
}
}
-void gradleVersionsUpdate(String repo, String newVersion) {
- dir(repo) {
+void gradleVersionsUpdate(String folder, String newVersion) {
+ dir(folder) {
sh "find . -name build.gradle -exec sed -i -E 's/def
optaplannerVersion = \"[^\"\\s]+\"/def optaplannerVersion = \"${newVersion}\"/'
{} \\;"
}
}
@@ -330,14 +337,14 @@ String getFallbackBranch(String repo) {
return repositoryScm ? params.PR_TARGET_BRANCH : 'main'
}
-void prepareForPR(String repo) {
- dir(repo) {
+void prepareForPR(String folder) {
+ dir(folder) {
githubscm.createBranch(getPRBranch())
}
}
-void commitAndCreatePR(String repo, String buildBranch) {
- dir(repo) {
+void commitAndCreatePR(String folder, String repo, String buildBranch) {
+ dir(folder) {
def commitMsg = "[${buildBranch}] Update project version to
${getProjectVersion()}"
def prBody = "Generated by build ${BUILD_TAG}: ${BUILD_URL}."
if (isRelease()) {
@@ -358,16 +365,16 @@ void commitAndCreatePR(String repo, String buildBranch) {
}
}
-void commitAndCreatePRIgnoringNpmRegistry(String repo, String buildBranch) {
- dir(repo) {
+void commitAndCreatePRIgnoringNpmRegistry(String folder, String repo, String
buildBranch) {
+ dir(folder) {
sh 'sed \'s;repository.engineering.redhat.com/nexus/repository/;;\' -i
*/package-lock.json'
sh 'git add */package-lock.json'
}
- commitAndCreatePR(repo, buildBranch)
+ commitAndCreatePR(folder, repo, buildBranch)
}
MavenCommand getMavenDefaultCommand() {
- MavenCommand mvnCmd = new MavenCommand(this, ['-fae',
'-ntp']).withSettingsXmlId(env.MAVEN_SETTINGS_CONFIG_FILE_ID)
+ MavenCommand mvnCmd = new MavenCommand(this, ['-fae', '-ntp'])
if (env.MAVEN_DEPENDENCIES_REPOSITORY) {
mvnCmd.withDependencyRepositoryInSettings('deps-repo',
env.MAVEN_DEPENDENCIES_REPOSITORY)
}
@@ -375,21 +382,24 @@ MavenCommand getMavenDefaultCommand() {
}
MavenCommand getOptaplannerMavenCommand() {
- return
getMavenDefaultCommand().inDirectory(optaplannerRepository).withProperty('full')
+ return
getMavenDefaultCommand().inDirectory(optaplannerFolder).withProperty('full')
}
MavenCommand getOptaplannerQuickstartsMavenCommand() {
- return
getMavenDefaultCommand().inDirectory(quickstartsRepository).withProperty('full')
+ return
getMavenDefaultCommand().inDirectory(quickstartsFolder).withProperty('full')
}
/**
* Builds the parent modules and the BOM so that project depending on these
artifacts can resolve.
*/
void mavenCleanInstallOptaPlannerParents() {
- getOptaplannerMavenCommand()
- .skipTests(true)
- .withOptions(['-U', '-pl
org.optaplanner:optaplanner-build-parent,org.optaplanner:optaplanner-bom',
'-am'])
- .run('clean install')
+ configFileProvider([configFile(fileId: env.MAVEN_SETTINGS_CONFIG_FILE_ID,
variable: 'MAVEN_SETTINGS_FILE')]){
+ getOptaplannerMavenCommand()
+ .skipTests(true)
+ .withOptions(['-U', '-pl
org.optaplanner:optaplanner-build-parent,org.optaplanner:optaplanner-bom',
'-am'])
+ .withSettingsXmlFile(MAVEN_SETTINGS_FILE)
+ .run('clean install')
+ }
}
void runMavenDeploy(MavenCommand mvnCmd, String localDeploymentId = '') {
@@ -401,7 +411,12 @@ void runMavenDeploy(MavenCommand mvnCmd, String
localDeploymentId = '') {
mvnCmd.withDeployRepository(env.MAVEN_DEPLOY_REPOSITORY)
}
- mvnCmd.skipTests(true).run('clean deploy')
+ configFileProvider([configFile(fileId: env.MAVEN_SETTINGS_CONFIG_FILE_ID,
variable: 'MAVEN_SETTINGS_FILE')]){
+ mvnCmd
+ .withSettingsXmlFile(MAVEN_SETTINGS_FILE)
+ .skipTests(true)
+ .run('clean deploy')
+ }
}
String getMavenRepoZipUrl() {
@@ -427,15 +442,15 @@ String getLocalDeploymentFolder(String localDeployId) {
// Getters and Setters of params/properties
boolean isSpecificArtifactsUpload() {
- return env.MAVEN_DEPLOY_REPOSITORY && env.MAVEN_REPO_CREDS_ID
+ return env.MAVEN_DEPLOY_REPOSITORY && env.MAVEN_REPO_CREDS_ID &&
!isDeployDisabled()
}
boolean shouldStageArtifacts() {
- return !isSpecificArtifactsUpload() && isRelease() &&
!env.MAVEN_DEPLOY_REPOSITORY
+ return !isSpecificArtifactsUpload() && isRelease() &&
!env.MAVEN_DEPLOY_REPOSITORY && !isDeployDisabled()
}
boolean shouldDeployToRepository() {
- return env.MAVEN_DEPLOY_REPOSITORY || isNotTestingBuild()
+ return (env.MAVEN_DEPLOY_REPOSITORY || isNotTestingBuild()) &&
!isDeployDisabled()
}
boolean isNotTestingBuild() {
@@ -542,3 +557,7 @@ boolean isStream8() {
boolean isStream9() {
return env.OPTAPLANNER_LATEST_STREAM == '9'
}
+
+boolean isDeployDisabled() {
+ return env.DISABLE_DEPLOY.toBoolean()
+}
diff --git a/.ci/jenkins/dsl/jobs.groovy b/.ci/jenkins/dsl/jobs.groovy
index d15dc4719d..abc10ddddf 100644
--- a/.ci/jenkins/dsl/jobs.groovy
+++ b/.ci/jenkins/dsl/jobs.groovy
@@ -289,7 +289,8 @@ void setupDeployJob(JobType jobType, String envName = '') {
JENKINS_EMAIL_CREDS_ID: "${JENKINS_EMAIL_CREDS_ID}",
MAVEN_SETTINGS_CONFIG_FILE_ID: "${MAVEN_SETTINGS_FILE_ID}",
- OPTAPLANNER_LATEST_STREAM: getOptaPlannerLatestStream()
+ OPTAPLANNER_LATEST_STREAM: getOptaPlannerLatestStream(),
+ DISABLE_DEPLOY: Utils.isDeployDisabled(this),
])
if (jobType == JobType.PULL_REQUEST) {
jobParams.env.putAll([
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]