11package builds
22
33import jetbrains.buildServer.configs.kotlin.BuildType
4+ import jetbrains.buildServer.configs.kotlin.ParameterDisplay
45import jetbrains.buildServer.configs.kotlin.buildFeatures.dockerSupport
6+ import jetbrains.buildServer.configs.kotlin.buildSteps.ScriptBuildStep
57import jetbrains.buildServer.configs.kotlin.buildSteps.script
68import jetbrains.buildServer.configs.kotlin.toId
79
@@ -11,25 +13,41 @@ class Release(id: String, name: String) :
1113 this .name = name
1214
1315 params {
14- text(" version" , " " , allowEmpty = false )
16+ text(" version" , " " , allowEmpty = false , display = ParameterDisplay . PROMPT , label = " Version to release " )
1517
1618 text(" env.PACKAGES_USERNAME" , " %github-packages-user%" )
1719 password(" env.PACKAGES_PASSWORD" , " %github-packages-token%" )
1820 password(" env.JRELEASER_GITHUB_TOKEN" , " %github-pull-request-token%" )
1921 }
2022
2123 steps {
24+ script {
25+ this .name = " Validate version"
26+ scriptContent =
27+ """
28+ #!/bin/bash -eu
29+
30+ if [ -z "%version%" ]; then
31+ echo "Version is not set. Please run as a custom build and specify 'version' parameter."
32+ exit 1
33+ fi
34+ """ .trimIndent()
35+ }
36+
2237 commonMaven {
38+ this .name = " Set version"
2339 goals = " versions:set"
2440 runnerArgs = " $MAVEN_DEFAULT_ARGS -DnewVersion=%version% -DgenerateBackupPoms=false"
2541 }
2642
2743 commonMaven {
44+ this .name = " Build versionalised package"
2845 goals = " package"
2946 runnerArgs = " $MAVEN_DEFAULT_ARGS -DskipTests"
3047 }
3148
3249 script {
50+ this .name = " Push version"
3351 scriptContent =
3452 """
3553 #!/bin/bash -eu
@@ -43,13 +61,20 @@ class Release(id: String, name: String) :
4361 git config --global user.name "${' $' } USER_NAME"
4462 git config --global --add safe.directory %teamcity.build.checkoutDir%
4563
46- git add .
64+ git add **/pom.xml
4765 git commit -m "build: release version %version%"
4866 git push
4967 """ .trimIndent()
68+
69+ formatStderrAsError = true
70+
71+ dockerImagePlatform = ScriptBuildStep .ImagePlatform .Linux
72+ dockerImage = " eclipse-temurin:11-jdk"
73+ dockerRunParameters = " --volume /var/run/docker.sock:/var/run/docker.sock"
5074 }
5175
5276 commonMaven {
77+ this .name = " Release to Github"
5378 goals = " jreleaser:full-release"
5479 runnerArgs = " $MAVEN_DEFAULT_ARGS -Prelease -pl :packaging"
5580 }
0 commit comments