@@ -4,6 +4,7 @@ import jetbrains.buildServer.configs.kotlin.v2019_2.*
4
4
import jetbrains.buildServer.configs.kotlin.v2019_2.Project
5
5
import jetbrains.buildServer.configs.kotlin.v2019_2.buildSteps.gradle
6
6
import jetbrains.buildServer.configs.kotlin.v2019_2.triggers.*
7
+ import jetbrains.buildServer.configs.kotlin.v2019_2.vcs.GitVcsRoot
7
8
8
9
val individualBuildsForPhase1 = listOf (
9
10
IndividualScenarioBuildType (ScenarioType .SANITY_CHECK , OS .LINUX , EclipseVersion .ECLIPSE4_13 , eclipseRuntimeJdk = Jdk .ORACLE_JDK_8 ) // TODO use latest Eclipse version for sanity check coverage
@@ -55,6 +56,57 @@ val individualBuildsForPhase4 = listOf(
55
56
// IndividualScenarioBuildType(ScenarioType.CROSS_VERSION, OS.LINUX, EclipseVersion.ECLIPSE4_23, eclipseRuntimeJdk = Jdk.OPEN_JDK_18)
56
57
)
57
58
59
+ val individualBuildsForPhase1Forked = listOf (
60
+ IndividualScenarioBuildType (ScenarioType .SANITY_CHECK , OS .LINUX , EclipseVersion .ECLIPSE4_13 , eclipseRuntimeJdk = Jdk .ORACLE_JDK_8 , GitHubForkVcsRoot ) // TODO use latest Eclipse version for sanity check coverage
61
+ )
62
+ val individualBuildsForPhase2Forked = listOf (
63
+ IndividualScenarioBuildType (ScenarioType .BASIC_COVERAGE , OS .LINUX , EclipseVersion .ECLIPSE4_8 , eclipseRuntimeJdk = Jdk .ORACLE_JDK_8 , GitHubForkVcsRoot ),
64
+ IndividualScenarioBuildType (ScenarioType .BASIC_COVERAGE , OS .LINUX , EclipseVersion .ECLIPSE4_20 , eclipseRuntimeJdk = Jdk .OPEN_JDK_11 , GitHubForkVcsRoot ),
65
+ IndividualScenarioBuildType (ScenarioType .BASIC_COVERAGE , OS .WINDOWS , EclipseVersion .ECLIPSE4_8 , eclipseRuntimeJdk = Jdk .ORACLE_JDK_8 , GitHubForkVcsRoot ),
66
+ IndividualScenarioBuildType (ScenarioType .BASIC_COVERAGE , OS .WINDOWS , EclipseVersion .ECLIPSE4_23 , eclipseRuntimeJdk = Jdk .OPEN_JDK_11 , GitHubForkVcsRoot )
67
+ )
68
+ val individualBuildsForPhase3Forked = listOf (
69
+ IndividualScenarioBuildType (ScenarioType .FULL_COVERAGE , OS .LINUX , EclipseVersion .ECLIPSE4_8 , eclipseRuntimeJdk = Jdk .ORACLE_JDK_8 , GitHubForkVcsRoot ),
70
+ IndividualScenarioBuildType (ScenarioType .FULL_COVERAGE , OS .LINUX , EclipseVersion .ECLIPSE4_9 , eclipseRuntimeJdk = Jdk .ORACLE_JDK_8 , GitHubForkVcsRoot ),
71
+ IndividualScenarioBuildType (ScenarioType .FULL_COVERAGE , OS .LINUX , EclipseVersion .ECLIPSE4_10 , eclipseRuntimeJdk = Jdk .ORACLE_JDK_8 , GitHubForkVcsRoot ),
72
+ IndividualScenarioBuildType (ScenarioType .FULL_COVERAGE , OS .LINUX , EclipseVersion .ECLIPSE4_11 , eclipseRuntimeJdk = Jdk .ORACLE_JDK_8 , GitHubForkVcsRoot ),
73
+ IndividualScenarioBuildType (ScenarioType .FULL_COVERAGE , OS .LINUX , EclipseVersion .ECLIPSE4_12 , eclipseRuntimeJdk = Jdk .ORACLE_JDK_8 , GitHubForkVcsRoot ),
74
+ IndividualScenarioBuildType (ScenarioType .FULL_COVERAGE , OS .LINUX , EclipseVersion .ECLIPSE4_13 , eclipseRuntimeJdk = Jdk .ORACLE_JDK_8 , GitHubForkVcsRoot ),
75
+ IndividualScenarioBuildType (ScenarioType .FULL_COVERAGE , OS .LINUX , EclipseVersion .ECLIPSE4_14 , eclipseRuntimeJdk = Jdk .ORACLE_JDK_8 , GitHubForkVcsRoot ),
76
+ IndividualScenarioBuildType (ScenarioType .FULL_COVERAGE , OS .LINUX , EclipseVersion .ECLIPSE4_15 , eclipseRuntimeJdk = Jdk .ORACLE_JDK_8 , GitHubForkVcsRoot ),
77
+ IndividualScenarioBuildType (ScenarioType .FULL_COVERAGE , OS .LINUX , EclipseVersion .ECLIPSE4_16 , eclipseRuntimeJdk = Jdk .ORACLE_JDK_8 , GitHubForkVcsRoot ),
78
+ IndividualScenarioBuildType (ScenarioType .FULL_COVERAGE , OS .LINUX , EclipseVersion .ECLIPSE4_17 , eclipseRuntimeJdk = Jdk .OPEN_JDK_11 , GitHubForkVcsRoot ),
79
+ IndividualScenarioBuildType (ScenarioType .FULL_COVERAGE , OS .LINUX , EclipseVersion .ECLIPSE4_18 , eclipseRuntimeJdk = Jdk .OPEN_JDK_11 , GitHubForkVcsRoot ),
80
+ IndividualScenarioBuildType (ScenarioType .FULL_COVERAGE , OS .LINUX , EclipseVersion .ECLIPSE4_19 , eclipseRuntimeJdk = Jdk .OPEN_JDK_11 , GitHubForkVcsRoot ),
81
+ IndividualScenarioBuildType (ScenarioType .FULL_COVERAGE , OS .LINUX , EclipseVersion .ECLIPSE4_20 , eclipseRuntimeJdk = Jdk .OPEN_JDK_11 , GitHubForkVcsRoot ),
82
+ IndividualScenarioBuildType (ScenarioType .FULL_COVERAGE , OS .LINUX , EclipseVersion .ECLIPSE4_21 , eclipseRuntimeJdk = Jdk .OPEN_JDK_11 , GitHubForkVcsRoot ),
83
+ IndividualScenarioBuildType (ScenarioType .FULL_COVERAGE , OS .LINUX , EclipseVersion .ECLIPSE4_22 , eclipseRuntimeJdk = Jdk .OPEN_JDK_11 , GitHubForkVcsRoot ),
84
+ IndividualScenarioBuildType (ScenarioType .FULL_COVERAGE , OS .LINUX , EclipseVersion .ECLIPSE4_23 , eclipseRuntimeJdk = Jdk .OPEN_JDK_11 , GitHubForkVcsRoot ),
85
+ IndividualScenarioBuildType (ScenarioType .FULL_COVERAGE , OS .LINUX , EclipseVersion .ECLIPSE4_24 , eclipseRuntimeJdk = Jdk .OPEN_JDK_11 , GitHubForkVcsRoot ),
86
+ IndividualScenarioBuildType (ScenarioType .FULL_COVERAGE , OS .LINUX , EclipseVersion .ECLIPSE4_25 , eclipseRuntimeJdk = Jdk .OPEN_JDK_17 , GitHubForkVcsRoot ),
87
+ IndividualScenarioBuildType (ScenarioType .FULL_COVERAGE , OS .LINUX , EclipseVersion .ECLIPSE4_26 , eclipseRuntimeJdk = Jdk .OPEN_JDK_17 , GitHubForkVcsRoot ),
88
+ IndividualScenarioBuildType (ScenarioType .FULL_COVERAGE , OS .LINUX , EclipseVersion .ECLIPSE4_27 , eclipseRuntimeJdk = Jdk .OPEN_JDK_17 , GitHubForkVcsRoot ),
89
+
90
+ IndividualScenarioBuildType (ScenarioType .FULL_COVERAGE , OS .WINDOWS , EclipseVersion .ECLIPSE4_8 , eclipseRuntimeJdk = Jdk .ORACLE_JDK_8 , GitHubForkVcsRoot ),
91
+ IndividualScenarioBuildType (ScenarioType .FULL_COVERAGE , OS .WINDOWS , EclipseVersion .ECLIPSE4_23 , eclipseRuntimeJdk = Jdk .OPEN_JDK_11 , GitHubForkVcsRoot )
92
+ )
93
+ val individualBuildsForPhase4Forked = listOf (
94
+ IndividualScenarioBuildType (ScenarioType .CROSS_VERSION , OS .LINUX , EclipseVersion .ECLIPSE4_8 , eclipseRuntimeJdk = Jdk .ORACLE_JDK_8 , GitHubForkVcsRoot ),
95
+ // TODO Eclipse 4.8 can only run on Java 8 and below without further configuration https://wiki.eclipse.org/Configure_Eclipse_for_Java_9
96
+ // IndividualScenarioBuildType(ScenarioType.CROSS_VERSION, OS.LINUX, EclipseVersion.ECLIPSE4_8, eclipseRuntimeJdk = Jdk.ORACLE_JDK_9, GitHubForkVcsRoot),
97
+ // IndividualScenarioBuildType(ScenarioType.CROSS_VERSION, OS.LINUX, EclipseVersion.ECLIPSE4_8, eclipseRuntimeJdk = Jdk.OPEN_JDK_10, GitHubForkVcsRoot),
98
+ IndividualScenarioBuildType (ScenarioType .CROSS_VERSION , OS .LINUX , EclipseVersion .ECLIPSE4_23 , eclipseRuntimeJdk = Jdk .OPEN_JDK_11 , GitHubForkVcsRoot ),
99
+ IndividualScenarioBuildType (ScenarioType .CROSS_VERSION , OS .LINUX , EclipseVersion .ECLIPSE4_23 , eclipseRuntimeJdk = Jdk .OPEN_JDK_12 , GitHubForkVcsRoot ),
100
+ IndividualScenarioBuildType (ScenarioType .CROSS_VERSION , OS .LINUX , EclipseVersion .ECLIPSE4_23 , eclipseRuntimeJdk = Jdk .OPEN_JDK_13 , GitHubForkVcsRoot ),
101
+ IndividualScenarioBuildType (ScenarioType .CROSS_VERSION , OS .LINUX , EclipseVersion .ECLIPSE4_23 , eclipseRuntimeJdk = Jdk .OPEN_JDK_14 , GitHubForkVcsRoot ),
102
+ IndividualScenarioBuildType (ScenarioType .CROSS_VERSION , OS .LINUX , EclipseVersion .ECLIPSE4_23 , eclipseRuntimeJdk = Jdk .OPEN_JDK_15 , GitHubForkVcsRoot ),
103
+ IndividualScenarioBuildType (ScenarioType .CROSS_VERSION , OS .LINUX , EclipseVersion .ECLIPSE4_23 , eclipseRuntimeJdk = Jdk .OPEN_JDK_16 , GitHubForkVcsRoot ),
104
+ IndividualScenarioBuildType (ScenarioType .CROSS_VERSION , OS .LINUX , EclipseVersion .ECLIPSE4_23 , eclipseRuntimeJdk = Jdk .OPEN_JDK_17 , GitHubForkVcsRoot ),
105
+ // TODO JDK 18 is only supported in Eclipse 4.24
106
+ // IndividualScenarioBuildType(ScenarioType.CROSS_VERSION, OS.LINUX, EclipseVersion.ECLIPSE4_23, eclipseRuntimeJdk = Jdk.OPEN_JDK_18, GitHubForkVcsRoot)
107
+ )
108
+
109
+
58
110
val tb1_1 = CheckpointBuildType (" Sanity Check (Phase 1/1)" , individualBuildsForPhase1, null )
59
111
val tb1_2 = CheckpointBuildType (" Basic Test Coverage (Phase 1/2)" , individualBuildsForPhase1, null )
60
112
val tb2_2 = CheckpointBuildType (" Basic Test Coverage (Phase 2/2)" , individualBuildsForPhase2, tb1_2)
@@ -66,6 +118,17 @@ val tb4_2 = CheckpointBuildType("Cross-Version Test Coverage (Phase 2/4)", indiv
66
118
val tb4_3 = CheckpointBuildType (" Cross-Version Test Coverage (Phase 3/4)" , individualBuildsForPhase3, tb4_2)
67
119
val tb4_4 = CheckpointBuildType (" Cross-Version Test Coverage (Phase 4/4)" , individualBuildsForPhase4, tb4_3)
68
120
121
+ val tb1_1_f = CheckpointBuildType (" Sanity Check (Fork, Phase 1/1)" , individualBuildsForPhase1Forked, null , Trigger .NONE , GitHubForkVcsRoot )
122
+ val tb1_2_f = CheckpointBuildType (" Basic Test Coverage (Fork, Phase 1/2)" , individualBuildsForPhase1Forked, null , Trigger .NONE , GitHubForkVcsRoot )
123
+ val tb2_2_f = CheckpointBuildType (" Basic Test Coverage (Fork, Phase 2/2)" , individualBuildsForPhase2Forked, tb1_2_f, Trigger .NONE , GitHubForkVcsRoot )
124
+ val tb3_1_f = CheckpointBuildType (" Full Test Coverage (Fork, Phase 1/3)" , individualBuildsForPhase1Forked, null , Trigger .GIT , GitHubForkVcsRoot )
125
+ val tb3_2_f = CheckpointBuildType (" Full Test Coverage (Fork, Phase 2/3)" , individualBuildsForPhase2Forked, tb3_1_f, Trigger .NONE , GitHubForkVcsRoot )
126
+ val tb3_3_f = CheckpointBuildType (" Full Test Coverage (Fork, Phase 3/3)" , individualBuildsForPhase3Forked, tb3_2_f, Trigger .NONE , GitHubForkVcsRoot )
127
+ val tb4_1_f = CheckpointBuildType (" Cross-Version Test Coverage (Fork, Phase 1/4)" , individualBuildsForPhase1Forked, null , Trigger .NONE , GitHubForkVcsRoot )
128
+ val tb4_2_f = CheckpointBuildType (" Cross-Version Test Coverage (Fork, Phase 2/4)" , individualBuildsForPhase2Forked, tb4_1_f, Trigger .NONE , GitHubForkVcsRoot )
129
+ val tb4_3_f = CheckpointBuildType (" Cross-Version Test Coverage (Fork, Phase 3/4)" , individualBuildsForPhase3Forked, tb4_2_f, Trigger .NONE , GitHubForkVcsRoot )
130
+ val tb4_4_f = CheckpointBuildType (" Cross-Version Test Coverage (Fork, Phase 4/4)" , individualBuildsForPhase4Forked, tb4_3_f, Trigger .NONE , GitHubForkVcsRoot )
131
+
69
132
val unsafeSnapshotPromotion = PromotionBuildType (" snapshot (from sanity check)" ," snapshot" , tb1_1)
70
133
val snapshotPromotion = PromotionBuildType (" snapshot" , " snapshot" , tb4_4, Trigger .DAILY_MASTER )
71
134
val milestonePromotion = PromotionBuildType (" milestone" ," milestone" , tb4_4)
@@ -74,8 +137,8 @@ val individualSnapshotPromotions = EclipseVersion.values().map { SinglePromotion
74
137
val individualReleasePromotions = EclipseVersion .values().map { SinglePromotionBuildType (" Release Eclipse ${it.codeName} " , " release" , it, tb1_1) } // TODO should depend on tb4_4
75
138
76
139
77
- class IndividualScenarioBuildType (type : ScenarioType , os : OS , eclipseVersion : EclipseVersion , eclipseRuntimeJdk : Jdk ) : BuildType({
78
- createId("Individual ", "${type.name.toLowerCase()}_Test_Coverage_ ${os.name.toLowerCase()}_Eclipse ${eclipseVersion.versionNumber}_OnJava ${eclipseRuntimeJdk.majorVersion}")
140
+ class IndividualScenarioBuildType (type : ScenarioType , os : OS , eclipseVersion : EclipseVersion , eclipseRuntimeJdk : Jdk , vcsRoot : GitVcsRoot = GitHubVcsRoot ) : BuildType({
141
+ createId("Individual ", "${vcsRoot.name} _ ${ type.name.toLowerCase()}_Test_Coverage_ ${os.name.toLowerCase()}_Eclipse ${eclipseVersion.versionNumber}_OnJava ${eclipseRuntimeJdk.majorVersion}")
79
142
addCredentialsLeakFailureCondition()
80
143
81
144
artifactRules = """
@@ -95,6 +158,17 @@ class IndividualScenarioBuildType(type: ScenarioType, os: OS, eclipseVersion: Ec
95
158
param("env.GRADLE_ENTERPRISE_ACCESS_KEY ", "%ge.gradle.org.access.key%")
96
159
}
97
160
161
+ if (vcsRoot == GitHubForkVcsRoot ) {
162
+ triggers {
163
+ vcs {
164
+ quietPeriodMode = VcsTrigger .QuietPeriodMode .DO_NOT_USE
165
+ perCheckinTriggering = true
166
+ groupCheckinsByCommitter = true
167
+ enableQueueOptimization = false
168
+ }
169
+ }
170
+ }
171
+
98
172
triggers {
99
173
retryBuild {
100
174
delaySeconds = 0
@@ -116,7 +190,7 @@ class IndividualScenarioBuildType(type: ScenarioType, os: OS, eclipseVersion: Ec
116
190
}
117
191
118
192
vcs {
119
- root(GitHubVcsRoot )
193
+ root(vcsRoot )
120
194
checkoutMode = CheckoutMode .ON_AGENT
121
195
}
122
196
@@ -260,12 +334,12 @@ class SinglePromotionBuildType(promotionName: String, typeName: String, eclipseV
260
334
})
261
335
262
336
263
- class CheckpointBuildType (triggerName : String , scenarios : List <IndividualScenarioBuildType >, previousCheckpoint : CheckpointBuildType ? , trigger : Trigger = Trigger .NONE ) : BuildType({
337
+ class CheckpointBuildType (triggerName : String , scenarios : List <IndividualScenarioBuildType >, previousCheckpoint : CheckpointBuildType ? , trigger : Trigger = Trigger .NONE , vcsRoot : GitVcsRoot = GitHubVcsRoot ) : BuildType({
264
338
createId("Checkpoint ", triggerName)
265
339
trigger.applyOn(this)
266
340
267
341
vcs {
268
- root(GitHubVcsRoot )
342
+ root(vcsRoot )
269
343
270
344
checkoutMode = CheckoutMode .ON_AGENT
271
345
cleanCheckout = true
@@ -296,6 +370,7 @@ class CheckpointBuildType(triggerName: String, scenarios: List<IndividualScenari
296
370
297
371
object Project : Project({
298
372
description = " Eclipse plugins for Gradle http://eclipse.org/buildship"
373
+ vcsRoot(GitHubForkVcsRoot )
299
374
vcsRoot(GitHubVcsRoot )
300
375
subprojectsWithOrder(listOf(IndividualBuilds , Checkpoints , Promotions ))
301
376
@@ -318,7 +393,8 @@ object Project : Project({
318
393
319
394
object IndividualBuilds : Project({
320
395
createId("Individual Coverage Scenarios ")
321
- buildTypesWithOrder(individualBuildsForPhase1 + individualBuildsForPhase2 + individualBuildsForPhase3 + individualBuildsForPhase4)
396
+ buildTypesWithOrder(individualBuildsForPhase1 + individualBuildsForPhase2 + individualBuildsForPhase3 + individualBuildsForPhase4 +
397
+ individualBuildsForPhase1Forked + individualBuildsForPhase2Forked + individualBuildsForPhase3Forked + individualBuildsForPhase4Forked)
322
398
})
323
399
324
400
object Checkpoints : Project({
@@ -327,7 +403,11 @@ object Checkpoints : Project({
327
403
tb1_1,
328
404
tb1_2, tb2_2,
329
405
tb3_1, tb3_2, tb3_3,
330
- tb4_1, tb4_2, tb4_3, tb4_4))
406
+ tb4_1, tb4_2, tb4_3, tb4_4,
407
+ tb1_1_f,
408
+ tb1_2_f, tb2_2_f,
409
+ tb3_1_f, tb3_2_f, tb3_3_f,
410
+ tb4_1_f, tb4_2_f, tb4_3_f, tb4_4_f))
331
411
})
332
412
333
413
object Promotions : Project({
0 commit comments