@@ -22,10 +22,8 @@ import org.jenkinsci.plugins.workflow.libs.Library
22
22
@Library('jenkins-pipeline-shared-libraries')_
23
23
24
24
OPTAPLANNER_DEPLOY = 'optaplanner-deploy'
25
- OPTAPLANNER_PROMOTE = 'optaplanner-promote'
26
25
27
26
ARTIFACTS_STAGING_STAGE = 'stage.artifacts.staging'
28
- ARTIFACTS_RELEASE_STAGE = 'stage.artifacts.release'
29
27
30
28
JOB_PROPERTY_PREFIX = 'build'
31
29
JOB_RESULT_PROPERTY_KEY = 'result'
@@ -54,24 +52,17 @@ pipeline {
54
52
echo "Release properties imported from previous job: ${releaseProperties}"
55
53
}
56
54
57
- assert getOptaPlannerVersion ()
55
+ assert getReleaseVersion ()
58
56
59
57
currentBuild.displayName = getDisplayName()
60
58
61
- sendNotification("Release Pipeline has started...\nOptaplanner version = ${getOptaPlannerVersion()}\n=> ${env.BUILD_URL}")
62
-
63
- // Safety measure to not publish to main JBoss
64
- if (getGitAuthor() != 'apache' && !getArtifactsRepositoryParam()) {
65
- sendNotification("Git Author is different from `apache` and no `ARTIFACTS_REPOSITORY` parameter has been provided. Are you sure you want to continue ? => ${env.BUILD_URL}input")
66
- input message: 'Should the pipeline continue with no `ARTIFACTS_REPOSITORY` defined ?', ok: 'Yes'
67
- }
59
+ sendNotification("Release Pipeline has started...\nOptaplanner version = ${getReleaseVersion()}\n=> ${env.BUILD_URL}")
68
60
}
69
61
}
70
62
post {
71
63
always {
72
- setReleasePropertyIfneeded('optaplanner.version', getOptaPlannerVersion())
73
- setReleasePropertyIfneeded('optaplanner.branch', getOptaPlannerReleaseBranch())
74
- setReleasePropertyIfneeded('drools.version', getDroolsVersion())
64
+ setReleasePropertyIfneeded('release.version', getReleaseVersion())
65
+ setReleasePropertyIfneeded('git.tag.name', getGitTagName())
75
66
}
76
67
}
77
68
}
@@ -82,7 +73,6 @@ pipeline {
82
73
def buildParams = getDefaultBuildParams()
83
74
addSkipTestsParam(buildParams)
84
75
addSkipIntegrationTestsParam(buildParams)
85
- addStringParam(buildParams, 'QUICKSTARTS_BUILD_BRANCH_NAME', getOptaPlannerReleaseBranch())
86
76
buildJob(OPTAPLANNER_DEPLOY, buildParams)
87
77
}
88
78
}
@@ -92,54 +82,12 @@ pipeline {
92
82
steps {
93
83
script {
94
84
if (!areArtifactsStaged()) {
95
- sendNotification(" All artifacts have been staged. You can find them here: ${getStagingRepository()}" )
85
+ sendNotification(' All artifacts have been staged.' )
96
86
}
97
87
setArtifactsStaged()
98
88
}
99
89
}
100
90
}
101
-
102
- stage('Are staged artifacts released?') {
103
- when {
104
- // Execute only if artifacts repository was not given, which means the staging repository has been created
105
- expression { return !getArtifactsRepositoryParam() && !areArtifactsReleased() }
106
- }
107
- steps {
108
- script {
109
- String body = "${getOptaPlannerVersion()} artifacts are ready for release.\n" +
110
- "Please release the staging repositories and then confirm here: ${env.BUILD_URL}input"
111
- sendNotification(body)
112
- input message: 'Has the staging repository been released ?', ok: 'Yes'
113
-
114
- sendNotification('Artifacts have been released. Finalizing now the release ...')
115
- setArtifactsReleased()
116
- }
117
- }
118
- }
119
-
120
- stage('Promote OptaPlanner') {
121
- when {
122
- expression { return isJobConsideredOk(OPTAPLANNER_DEPLOY) }
123
- }
124
- steps {
125
- script {
126
- def buildParams = getDefaultBuildParams()
127
- addDeployBuildUrlParam(buildParams, OPTAPLANNER_DEPLOY)
128
-
129
- buildJob(OPTAPLANNER_PROMOTE, buildParams)
130
- }
131
- }
132
- }
133
-
134
- stage('Setup next snapshot version') {
135
- steps {
136
- script {
137
- def buildParams = []
138
- addStringParam(buildParams, 'OPTAPLANNER_VERSION', util.getNextVersion(getOptaPlannerVersion(), 'micro'))
139
- build(job: '../setup-branch/0-setup-branch', wait: false, parameters: buildParams, propagate: false)
140
- }
141
- }
142
- }
143
91
}
144
92
post {
145
93
always {
@@ -301,9 +249,10 @@ def readPropertiesFromUrl(String url, String propsFilename) {
301
249
302
250
List getDefaultBuildParams() {
303
251
List buildParams = []
304
- addDisplayNameParam(buildParams, getDisplayName(getOptaPlannerVersion()))
305
- addStringParam(buildParams, 'PROJECT_VERSION', getOptaPlannerVersion())
306
- addStringParam(buildParams, 'DROOLS_VERSION', getDroolsVersion())
252
+ addDisplayNameParam(buildParams, getDisplayName(getReleaseVersion()))
253
+ addStringParam(buildParams, 'PROJECT_VERSION', getReleaseVersion())
254
+ addStringParam(buildParams, 'DROOLS_VERSION', getReleaseVersion())
255
+ addStringParam(buildParams, 'GIT_TAG_NAME', getGitTagName())
307
256
return buildParams
308
257
}
309
258
@@ -350,30 +299,14 @@ String getDisplayName(version = '') {
350
299
return "Release ${version}"
351
300
}
352
301
353
- String getOptaPlannerVersion() {
354
- return params.OPTAPLANNER_VERSION ?: getReleaseProperty('optaplanner.version')
355
- }
356
-
357
- String getDroolsVersion() {
358
- return params.DROOLS_VERSION ?: getReleaseProperty('drools.version')
302
+ String getReleaseVersion() {
303
+ return params.RELEASE_VERSION ?: getReleaseProperty('release.version')
359
304
}
360
305
361
306
String getGitAuthor() {
362
307
return env.GIT_AUTHOR
363
308
}
364
309
365
- String getArtifactsRepositoryParam() {
366
- return env['ARTIFACTS_REPOSITORY'] ?: ''
367
- }
368
-
369
- String getOptaPlannerReleaseBranch() {
370
- return params.OPTAPLANNER_RELEASE_BRANCH ?: (getReleaseProperty('optaplanner.branch') ?: util.getReleaseBranchFromVersion(getOptaPlannerVersion()))
371
- }
372
-
373
- String getStagingRepository() {
374
- return getArtifactsRepositoryParam() ?: env.DEFAULT_STAGING_REPOSITORY
375
- }
376
-
377
310
void setReleasePropertyIfneeded(String key, def value) {
378
311
if (value) {
379
312
releaseProperties[key] = value
@@ -402,10 +335,6 @@ void setArtifactsStaged() {
402
335
setReleasePropertyIfneeded(ARTIFACTS_STAGING_STAGE, true)
403
336
}
404
337
405
- boolean areArtifactsReleased() {
406
- return hasReleaseProperty(ARTIFACTS_RELEASE_STAGE)
407
- }
408
-
409
- void setArtifactsReleased() {
410
- setReleasePropertyIfneeded(ARTIFACTS_RELEASE_STAGE, true)
338
+ String getGitTagName() {
339
+ return params.GIT_TAG_NAME ?: getReleaseProperty('git.tag.name')
411
340
}
0 commit comments