Skip to content

Commit 9f359d2

Browse files
authored
ci: execute git step in docker, validate version (#35)
1 parent 6a20b01 commit 9f359d2

File tree

1 file changed

+27
-2
lines changed

1 file changed

+27
-2
lines changed

.teamcity/builds/Release.kt

Lines changed: 27 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,9 @@
11
package builds
22

33
import jetbrains.buildServer.configs.kotlin.BuildType
4+
import jetbrains.buildServer.configs.kotlin.ParameterDisplay
45
import jetbrains.buildServer.configs.kotlin.buildFeatures.dockerSupport
6+
import jetbrains.buildServer.configs.kotlin.buildSteps.ScriptBuildStep
57
import jetbrains.buildServer.configs.kotlin.buildSteps.script
68
import 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

Comments
 (0)