Skip to content

Commit 56b55d8

Browse files
authored
Show TeamCity build status in Kotlinx Benchmark GitHub PRs (#251)
Show TeamCity build status in Kotlinx Benchmark GitHub PRs ^KTI-1878 Additionally, regenerate TC configs using infra plugin.
1 parent a7d3c8a commit 56b55d8

File tree

4 files changed

+30
-24
lines changed

4 files changed

+30
-24
lines changed

.teamcity/additionalConfiguration.kt

+19-6
Original file line numberDiff line numberDiff line change
@@ -3,17 +3,30 @@
33
* Use of this source code is governed by the Apache 2.0 License that can be found in the LICENSE.txt file.
44
*/
55

6-
import jetbrains.buildServer.configs.kotlin.v2019_2.BuildType
7-
import jetbrains.buildServer.configs.kotlin.v2019_2.BuildTypeSettings
8-
import jetbrains.buildServer.configs.kotlin.v2019_2.ParameterDisplay
9-
import jetbrains.buildServer.configs.kotlin.v2019_2.Project
10-
import jetbrains.buildServer.configs.kotlin.v2019_2.buildSteps.GradleBuildStep
11-
import jetbrains.buildServer.configs.kotlin.v2019_2.buildSteps.gradle
6+
import jetbrains.buildServer.configs.kotlin.BuildType
7+
import jetbrains.buildServer.configs.kotlin.BuildTypeSettings
8+
import jetbrains.buildServer.configs.kotlin.DslContext
9+
import jetbrains.buildServer.configs.kotlin.ParameterDisplay
10+
import jetbrains.buildServer.configs.kotlin.Project
11+
import jetbrains.buildServer.configs.kotlin.buildFeatures.commitStatusPublisher
12+
import jetbrains.buildServer.configs.kotlin.buildSteps.GradleBuildStep
13+
import jetbrains.buildServer.configs.kotlin.buildSteps.gradle
1214

1315
fun Project.additionalConfiguration() {
1416
knownBuilds.buildVersion.params {
1517
param(versionSuffixParameter, "")
1618
}
19+
knownBuilds.buildAll.features {
20+
commitStatusPublisher {
21+
vcsRootExtId = "${DslContext.settingsRoot.id}"
22+
publisher = github {
23+
githubUrl = "https://api.github.com"
24+
authType = storedToken {
25+
tokenId = "tc_token_id:CID_7db3007c46f7e30124f81ef54591b223:-1:4b5743ff-b95e-41b0-89d6-e9a50d3048db"
26+
}
27+
}
28+
}
29+
}
1730
platforms.forEach { platform ->
1831
val gradleBuild = knownBuilds.buildOn(platform).steps.items.single() as GradleBuildStep
1932
gradleBuild.tasks += " " + "fastBenchmark"

.teamcity/pom.xml

+2-2
Original file line numberDiff line numberDiff line change
@@ -77,13 +77,13 @@
7777
<dependencies>
7878
<dependency>
7979
<groupId>org.jetbrains.teamcity</groupId>
80-
<artifactId>configs-dsl-kotlin</artifactId>
80+
<artifactId>configs-dsl-kotlin-latest</artifactId>
8181
<version>${teamcity.dsl.version}</version>
8282
<scope>compile</scope>
8383
</dependency>
8484
<dependency>
8585
<groupId>org.jetbrains.teamcity</groupId>
86-
<artifactId>configs-dsl-kotlin-plugins</artifactId>
86+
<artifactId>configs-dsl-kotlin-plugins-latest</artifactId>
8787
<version>1.0-SNAPSHOT</version>
8888
<type>pom</type>
8989
<scope>compile</scope>

.teamcity/settings.kts

+6-10
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
import jetbrains.buildServer.configs.kotlin.v2019_2.*
2-
import jetbrains.buildServer.configs.kotlin.v2019_2.buildSteps.*
3-
import jetbrains.buildServer.configs.kotlin.v2019_2.triggers.*
1+
import jetbrains.buildServer.configs.kotlin.*
2+
import jetbrains.buildServer.configs.kotlin.buildSteps.*
3+
import jetbrains.buildServer.configs.kotlin.triggers.*
44

55
/*
66
The settings script is an entry point for defining a TeamCity
@@ -24,7 +24,7 @@ To debug in IntelliJ Idea, open the 'Maven Projects' tool window (View
2424
'Debug' option is available in the context menu for the task.
2525
*/
2626

27-
version = "2020.1"
27+
version = "2023.05"
2828

2929
project {
3030
// Disable editing of project and build settings from the UI to avoid issues with TeamCity
@@ -142,8 +142,6 @@ fun Project.deployVersion() = BuildType {
142142
params {
143143
// enable editing of this configuration to set up things
144144
param("teamcity.ui.settings.readOnly", "false")
145-
param("bintray-user", bintrayUserName)
146-
password("bintray-key", bintrayToken)
147145
param(versionSuffixParameter, "dev-%build.counter%")
148146
param("reverse.dep.$BUILD_CREATE_STAGING_REPO_ABSOLUTE_ID.system.libs.repo.description", libraryStagingRepoDescription)
149147
param("env.libs.repository.id", "%dep.$BUILD_CREATE_STAGING_REPO_ABSOLUTE_ID.env.libs.repository.id%")
@@ -158,7 +156,7 @@ fun Project.deployVersion() = BuildType {
158156
gradle {
159157
name = "Verify Gradle Configuration"
160158
tasks = "clean publishPrepareVersion"
161-
gradleParams = "--info --stacktrace -P$versionSuffixParameter=%$versionSuffixParameter% -P$releaseVersionParameter=%$releaseVersionParameter% -PbintrayApiKey=%bintray-key% -PbintrayUser=%bintray-user%"
159+
gradleParams = "--info --stacktrace -P$versionSuffixParameter=%$versionSuffixParameter% -P$releaseVersionParameter=%$releaseVersionParameter%"
162160
buildFile = ""
163161
jdkHome = "%env.$jdk%"
164162
}
@@ -188,8 +186,6 @@ fun Project.deploy(platform: Platform, configureBuild: BuildType) = buildType("D
188186
params {
189187
param(versionSuffixParameter, "${configureBuild.depParamRefs[versionSuffixParameter]}")
190188
param(releaseVersionParameter, "${configureBuild.depParamRefs[releaseVersionParameter]}")
191-
param("bintray-user", bintrayUserName)
192-
password("bintray-key", bintrayToken)
193189
param("env.libs.repository.id", "%dep.$BUILD_CREATE_STAGING_REPO_ABSOLUTE_ID.env.libs.repository.id%")
194190
}
195191

@@ -202,7 +198,7 @@ fun Project.deploy(platform: Platform, configureBuild: BuildType) = buildType("D
202198
name = "Deploy ${platform.buildTypeName()} Binaries"
203199
jdkHome = "%env.$jdk%"
204200
jvmArgs = "-Xmx1g"
205-
gradleParams = "--info --stacktrace -P$versionSuffixParameter=%$versionSuffixParameter% -P$releaseVersionParameter=%$releaseVersionParameter% -PbintrayApiKey=%bintray-key% -PbintrayUser=%bintray-user%"
201+
gradleParams = "--info --stacktrace -P$versionSuffixParameter=%$versionSuffixParameter% -P$releaseVersionParameter=%$releaseVersionParameter%"
206202
tasks = "clean publish"
207203
buildFile = ""
208204
gradleWrapperPath = ""

.teamcity/utils.kt

+3-6
Original file line numberDiff line numberDiff line change
@@ -3,18 +3,16 @@
33
* Use of this source code is governed by the Apache 2.0 License that can be found in the LICENSE.txt file.
44
*/
55

6-
import jetbrains.buildServer.configs.kotlin.v2019_2.*
6+
import jetbrains.buildServer.configs.kotlin.*
77

88
const val versionSuffixParameter = "versionSuffix"
99
const val teamcitySuffixParameter = "teamcitySuffix"
1010
const val releaseVersionParameter = "releaseVersion"
1111

12-
const val bintrayUserName = "%env.BINTRAY_USER%"
13-
const val bintrayToken = "%env.BINTRAY_API_KEY%"
1412
const val libraryStagingRepoDescription = "kotlinx-benchmark"
1513

1614
val platforms = Platform.values()
17-
const val jdk = "JDK_18"
15+
const val jdk = "JDK_18_x64"
1816

1917
enum class Platform {
2018
Windows, Linux, MacOS;
@@ -70,7 +68,6 @@ fun Project.buildType(name: String, platform: Platform, configure: BuildType.()
7068
params {
7169
// This parameter is needed for macOS agent to be compatible
7270
if (platform == Platform.MacOS) param("env.JDK_17", "")
73-
if (platform == Platform.MacOS) param("env.JDK_16", "")
7471
}
7572

7673
commonConfigure()
@@ -120,4 +117,4 @@ fun BuildType.dependsOnSnapshot(build: IdOwner, onFailure: FailureAction = Failu
120117
onDependencyCancel = FailureAction.CANCEL
121118
}
122119
}
123-
}
120+
}

0 commit comments

Comments
 (0)