Skip to content

Commit 2ced48a

Browse files
authored
Cleanup teamcity (#417)
1 parent 484cc58 commit 2ced48a

File tree

12 files changed

+99
-133
lines changed

12 files changed

+99
-133
lines changed

.teamcity/IMODCollector/Project.kt

Lines changed: 4 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -1,49 +1,17 @@
11
package IMODCollector
22

3-
import IMODCollector.buildTypes.*
4-
import jetbrains.buildServer.configs.kotlin.BuildType
5-
3+
import IMODCollector.buildTypes.Coupler_Regression_Binaries
4+
import IMODCollector.buildTypes.IMODCollector_X64development
5+
import IMODCollector.buildTypes.Ribasim_binaries
66
import jetbrains.buildServer.configs.kotlin.Project
7-
import jetbrains.buildServer.configs.kotlin.buildSteps.script
87

98
object Project : Project({
109
id("IMODCollector")
1110
name = "iMOD_Collector"
1211
description = "Collect iMOD6 coupled components + coupler into a single package"
12+
1313
buildType(IMODCollector_X64development)
1414
buildType(Ribasim_binaries)
1515
buildType(Coupler_Regression_Binaries)
1616
})
1717

18-
object Ribasim_binaries : BuildType({
19-
name = "Ribasim binaries"
20-
description = "Download Ribasim release binaries"
21-
22-
artifactRules = """
23-
ribasim/** => ribasim.zip!
24-
""".trimIndent()
25-
26-
params {
27-
select("RIBASIM_Platform", "",
28-
options = listOf("windows", "linux"))
29-
select("RIBASIM_Version", "",
30-
options = listOf("v2025.6.0", "v2025.5.0", "v2025.4.0", "v2025.3.0"))
31-
}
32-
33-
vcs {
34-
}
35-
36-
steps {
37-
script {
38-
name = "Download Ribasim"
39-
scriptContent = """
40-
wget https://github.com/Deltares/Ribasim/releases/download/%RIBASIM_Version%/ribasim_%RIBASIM_Platform%.zip -O ribasim.zip
41-
unzip "ribasim.zip"
42-
""".trimIndent()
43-
}
44-
}
45-
46-
requirements {
47-
equals("teamcity.agent.jvm.os.name", "Linux")
48-
}
49-
})

.teamcity/IMODCollector/buildTypes/IMODCollector_X64development.kt

Lines changed: 7 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,21 @@
11
package IMODCollector.buildTypes
22

3+
import Templates.GitHubIntegrationTemplate
34
import _Self.buildTypes.Lint
45
import _Self.buildTypes.MyPy
56
import _Self.buildTypes.TwineCheck
67
import _Self.vcsRoots.ImodCoupler
7-
import jetbrains.buildServer.configs.kotlin.*
8-
import jetbrains.buildServer.configs.kotlin.buildFeatures.PullRequests
9-
import jetbrains.buildServer.configs.kotlin.buildFeatures.commitStatusPublisher
10-
import jetbrains.buildServer.configs.kotlin.buildFeatures.pullRequests
8+
import jetbrains.buildServer.configs.kotlin.AbsoluteId
9+
import jetbrains.buildServer.configs.kotlin.BuildType
10+
import jetbrains.buildServer.configs.kotlin.FailureAction
1111
import jetbrains.buildServer.configs.kotlin.buildSteps.script
1212

1313
object IMODCollector_X64development : BuildType({
1414
name = "x64_development"
1515
description = "Collect all Release_x64 kernels in the iMOD6 suite"
1616

17+
templates(GitHubIntegrationTemplate)
18+
1719
artifactRules = """
1820
coupler/dist/ => imod_collector.zip!/
1921
modflow6/ => imod_collector.zip!/modflow6/
@@ -30,7 +32,7 @@ object IMODCollector_X64development : BuildType({
3032
}
3133

3234
vcs {
33-
root(_Self.vcsRoots.ImodCoupler, "+:. => ./coupler")
35+
root(ImodCoupler, "+:. => ./coupler")
3436

3537
cleanCheckout = true
3638
}
@@ -60,27 +62,6 @@ object IMODCollector_X64development : BuildType({
6062
}
6163
}
6264

63-
features {
64-
commitStatusPublisher {
65-
vcsRootExtId = "${ImodCoupler.id}"
66-
publisher = github {
67-
githubUrl = "https://api.github.com"
68-
authType = personalToken {
69-
token = "credentialsJSON:6b37af71-1f2f-4611-8856-db07965445c0"
70-
}
71-
}
72-
}
73-
pullRequests {
74-
vcsRootExtId = "${ImodCoupler.id}"
75-
provider = github {
76-
authType = token {
77-
token = "credentialsJSON:71420214-373c-4ccd-ba32-2ea886843f62"
78-
}
79-
filterAuthorRole = PullRequests.GitHubRoleFilter.MEMBER
80-
}
81-
}
82-
}
83-
8465
dependencies {
8566
snapshot(Lint){
8667
onDependencyFailure = FailureAction.FAIL_TO_START
Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
package IMODCollector.buildTypes
2+
3+
import jetbrains.buildServer.configs.kotlin.BuildType
4+
import jetbrains.buildServer.configs.kotlin.buildSteps.script
5+
6+
object Ribasim_binaries : BuildType({
7+
name = "Ribasim binaries"
8+
description = "Download Ribasim release binaries"
9+
10+
artifactRules = """
11+
ribasim/** => ribasim.zip!
12+
""".trimIndent()
13+
14+
params {
15+
select("RIBASIM_Platform", "",
16+
options = listOf("windows", "linux"))
17+
select("RIBASIM_Version", "",
18+
options = listOf("v2025.6.0", "v2025.5.0", "v2025.4.0", "v2025.3.0"))
19+
}
20+
21+
vcs {
22+
}
23+
24+
steps {
25+
script {
26+
name = "Download Ribasim"
27+
scriptContent = """
28+
wget https://github.com/Deltares/Ribasim/releases/download/%RIBASIM_Version%/ribasim_%RIBASIM_Platform%.zip -O ribasim.zip
29+
unzip "ribasim.zip"
30+
""".trimIndent()
31+
}
32+
}
33+
34+
requirements {
35+
equals("teamcity.agent.jvm.os.name", "Linux")
36+
}
37+
})
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
package Templates
2+
3+
import _Self.vcsRoots.ImodCoupler
4+
import jetbrains.buildServer.configs.kotlin.Template
5+
import jetbrains.buildServer.configs.kotlin.buildFeatures.commitStatusPublisher
6+
7+
object GitHubIntegrationTemplate : Template({
8+
name = "GitHubIntegrationTemplate"
9+
10+
features {
11+
commitStatusPublisher {
12+
vcsRootExtId = "${ImodCoupler.id}"
13+
publisher = github {
14+
githubUrl = "https://api.github.com"
15+
authType = personalToken {
16+
token = "credentialsJSON:6b37af71-1f2f-4611-8856-db07965445c0"
17+
}
18+
}
19+
}
20+
}
21+
})

.teamcity/_Self/Project.kt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package _Self
22

3+
import Templates.GitHubIntegrationTemplate
34
import _Self.buildTypes.TestPrimodWin64
45
import _Self.buildTypes.*
56
import _Self.vcsRoots.*
@@ -15,6 +16,8 @@ object Project : Project({
1516
vcsRoot(MetaSwapLookupTable)
1617
vcsRoot(ImodCoupler)
1718

19+
template(GitHubIntegrationTemplate)
20+
1821
buildType(Lint)
1922
buildType(MyPy)
2023
buildType(TwineCheck)

.teamcity/_Self/buildTypes/Lint.kt

Lines changed: 4 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,17 @@
11
package _Self.buildTypes
22

3+
import Templates.GitHubIntegrationTemplate
34
import _Self.vcsRoots.ImodCoupler
45
import jetbrains.buildServer.configs.kotlin.BuildType
5-
import jetbrains.buildServer.configs.kotlin.buildFeatures.commitStatusPublisher
66
import jetbrains.buildServer.configs.kotlin.buildSteps.script
77

88
object Lint : BuildType({
99
name = "Lint"
1010

11+
templates(GitHubIntegrationTemplate)
12+
1113
vcs {
12-
root(_Self.vcsRoots.ImodCoupler, ". => imod_coupler")
14+
root(ImodCoupler, ". => imod_coupler")
1315
cleanCheckout = true
1416
}
1517

@@ -34,19 +36,6 @@ object Lint : BuildType({
3436
}
3537
}
3638

37-
features {
38-
commitStatusPublisher {
39-
id = "BUILD_EXT_142"
40-
vcsRootExtId = "${ImodCoupler.id}"
41-
publisher = github {
42-
githubUrl = "https://api.github.com"
43-
authType = personalToken {
44-
token = "credentialsJSON:6b37af71-1f2f-4611-8856-db07965445c0"
45-
}
46-
}
47-
}
48-
}
49-
5039
requirements {
5140
equals("env.OS", "Windows_NT")
5241
}

.teamcity/_Self/buildTypes/MyPy.kt

Lines changed: 4 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
package _Self.buildTypes
22

3+
import Templates.GitHubIntegrationTemplate
34
import _Self.vcsRoots.ImodCoupler
45
import jetbrains.buildServer.configs.kotlin.BuildType
56
import jetbrains.buildServer.configs.kotlin.buildFeatures.XmlReport
6-
import jetbrains.buildServer.configs.kotlin.buildFeatures.commitStatusPublisher
77
import jetbrains.buildServer.configs.kotlin.buildFeatures.xmlReport
88
import jetbrains.buildServer.configs.kotlin.buildSteps.script
99
import jetbrains.buildServer.configs.kotlin.failureConditions.BuildFailureOnMetric
@@ -12,8 +12,10 @@ import jetbrains.buildServer.configs.kotlin.failureConditions.failOnMetricChange
1212
object MyPy : BuildType({
1313
name = "MyPy"
1414

15+
templates(GitHubIntegrationTemplate)
16+
1517
vcs {
16-
root(_Self.vcsRoots.ImodCoupler, ". => imod_coupler")
18+
root(ImodCoupler, ". => imod_coupler")
1719
cleanCheckout = true
1820
}
1921

@@ -53,17 +55,6 @@ object MyPy : BuildType({
5355
}
5456

5557
features {
56-
commitStatusPublisher {
57-
id = "BUILD_EXT_142"
58-
vcsRootExtId = "${ImodCoupler.id}"
59-
publisher = github {
60-
githubUrl = "https://api.github.com"
61-
authType = personalToken {
62-
token = "credentialsJSON:6b37af71-1f2f-4611-8856-db07965445c0"
63-
}
64-
}
65-
}
66-
6758
xmlReport {
6859
reportType = XmlReport.XmlReportType.JUNIT
6960
rules = "imod_coupler/*.xml"

.teamcity/_Self/buildTypes/TestPrimodWin64.kt

Lines changed: 6 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,22 @@
11
package _Self.buildTypes
22

3-
import IMODCollector.buildTypes.Coupler_Regression_Binaries
43
import IMODCollector.buildTypes.IMODCollector_X64development
4+
import Templates.GitHubIntegrationTemplate
55
import _Self.vcsRoots.ImodCoupler
66
import _Self.vcsRoots.MetaSwapLookupTable
7-
import jetbrains.buildServer.configs.kotlin.*
7+
import jetbrains.buildServer.configs.kotlin.BuildType
8+
import jetbrains.buildServer.configs.kotlin.FailureAction
9+
import jetbrains.buildServer.configs.kotlin.PublishMode
810
import jetbrains.buildServer.configs.kotlin.buildFeatures.XmlReport
9-
import jetbrains.buildServer.configs.kotlin.buildFeatures.commitStatusPublisher
1011
import jetbrains.buildServer.configs.kotlin.buildFeatures.xmlReport
1112
import jetbrains.buildServer.configs.kotlin.buildSteps.script
1213

1314
object TestPrimodWin64 : BuildType({
1415
name = "Test Primod Win64"
1516
description = "Win64 Regression testbench for MODFLOW6/MetaSWAP coupler"
1617

18+
templates(GitHubIntegrationTemplate)
19+
1720
publishArtifacts = PublishMode.ALWAYS
1821

1922
params {
@@ -55,16 +58,6 @@ object TestPrimodWin64 : BuildType({
5558
}
5659

5760
features {
58-
commitStatusPublisher {
59-
id = "BUILD_EXT_142"
60-
vcsRootExtId = "${ImodCoupler.id}"
61-
publisher = github {
62-
githubUrl = "https://api.github.com"
63-
authType = personalToken {
64-
token = "credentialsJSON:6b37af71-1f2f-4611-8856-db07965445c0"
65-
}
66-
}
67-
}
6861
xmlReport {
6962
id = "BUILD_EXT_145"
7063
reportType = XmlReport.XmlReportType.JUNIT

.teamcity/_Self/buildTypes/TestbenchCouplerWin64.kt

Lines changed: 9 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,13 @@
11
package _Self.buildTypes
22

33
import IMODCollector.buildTypes.Coupler_Regression_Binaries
4+
import Templates.GitHubIntegrationTemplate
45
import _Self.vcsRoots.ImodCoupler
5-
import jetbrains.buildServer.configs.kotlin.*
6+
import _Self.vcsRoots.MetaSwapLookupTable
7+
import jetbrains.buildServer.configs.kotlin.BuildType
8+
import jetbrains.buildServer.configs.kotlin.FailureAction
9+
import jetbrains.buildServer.configs.kotlin.PublishMode
610
import jetbrains.buildServer.configs.kotlin.buildFeatures.XmlReport
7-
import jetbrains.buildServer.configs.kotlin.buildFeatures.commitStatusPublisher
811
import jetbrains.buildServer.configs.kotlin.buildFeatures.xmlReport
912
import jetbrains.buildServer.configs.kotlin.buildSteps.script
1013

@@ -13,6 +16,8 @@ object TestbenchCouplerWin64 : BuildType({
1316
name = "Testbench Coupler Win64"
1417
description = "Win64 Regression testbench for MODFLOW6/MetaSWAP coupler"
1518

19+
templates(GitHubIntegrationTemplate)
20+
1621
artifactRules = """imod_coupler\tests\temp => test_output.zip"""
1722
publishArtifacts = PublishMode.ALWAYS
1823

@@ -43,8 +48,8 @@ object TestbenchCouplerWin64 : BuildType({
4348
}
4449

4550
vcs {
46-
root(_Self.vcsRoots.ImodCoupler, ". => imod_coupler")
47-
root(_Self.vcsRoots.MetaSwapLookupTable, ". => lookup_table")
51+
root(ImodCoupler, ". => imod_coupler")
52+
root(MetaSwapLookupTable, ". => lookup_table")
4853

4954
cleanCheckout = true
5055
branchFilter = """
@@ -73,15 +78,6 @@ object TestbenchCouplerWin64 : BuildType({
7378
}
7479

7580
features {
76-
commitStatusPublisher {
77-
vcsRootExtId = "${ImodCoupler.id}"
78-
publisher = github {
79-
githubUrl = "https://api.github.com"
80-
authType = personalToken {
81-
token = "credentialsJSON:6b37af71-1f2f-4611-8856-db07965445c0"
82-
}
83-
}
84-
}
8581
xmlReport {
8682
reportType = XmlReport.XmlReportType.JUNIT
8783
rules = "imod_coupler/report.xml"

0 commit comments

Comments
 (0)