diff --git a/JenkinsJobs/AutomatedTests/I_unit_tests.groovy b/JenkinsJobs/AutomatedTests/I_unit_tests.groovy index 2013b1f1f16..34e8fb34d23 100644 --- a/JenkinsJobs/AutomatedTests/I_unit_tests.groovy +++ b/JenkinsJobs/AutomatedTests/I_unit_tests.groovy @@ -8,7 +8,7 @@ def TEST_CONFIGURATIONS = [ [os: 'win32' , ws:'win32', arch: 'x86_64' , javaVersion: 21, agentLabel: 'qa6xd-win11' , javaHome: "'C:\\\\Program Files\\\\Eclipse Adoptium\\\\jdk-21.0.5.11-hotspot'" ], ] -for (STREAM in config.Branches.keySet()){ +for (STREAM in config.I.streams.keySet()){ def MAJOR = STREAM.split('\\.')[0] def MINOR = STREAM.split('\\.')[1] for (TEST_CONFIG in TEST_CONFIGURATIONS){ diff --git a/JenkinsJobs/Builds/FOLDER.groovy b/JenkinsJobs/Builds/FOLDER.groovy index 0001f1bd13c..8dc57010458 100644 --- a/JenkinsJobs/Builds/FOLDER.groovy +++ b/JenkinsJobs/Builds/FOLDER.groovy @@ -4,9 +4,7 @@ folder('Builds') { description('Eclipse periodic build jobs.') } -for (entry in config.Branches.entrySet()){ - def STREAM = entry.key - def BRANCH = entry.value +config.I.streams.each{ STREAM, configuration -> pipelineJob('Builds/I-build-' + STREAM){ description('Daily Eclipse Integration builds.') @@ -14,13 +12,12 @@ for (entry in config.Branches.entrySet()){ pipelineTriggers { triggers { cron { - spec('''TZ=America/Toronto + spec(configuration.schedule ? """TZ=America/Toronto # Format: Minute Hour Day Month Day-of-week (1-7) # - - - Integration Eclipse SDK builds - - - # Schedule: 6 PM every day until end of RC2 -0 18 * 8-10 * -0 18 1-26 11 * -''') +${configuration.schedule} +""" : '') } } } @@ -29,7 +26,7 @@ for (entry in config.Branches.entrySet()){ cpsScm { lightweight(true) scm { - github('eclipse-platform/eclipse.platform.releng.aggregator', BRANCH) + github('eclipse-platform/eclipse.platform.releng.aggregator', configuration.branch) } scriptPath('JenkinsJobs/Builds/build.jenkinsfile') } diff --git a/JenkinsJobs/JobDSL.json b/JenkinsJobs/JobDSL.json index fec5b3240fc..8dc05ee3bfd 100644 --- a/JenkinsJobs/JobDSL.json +++ b/JenkinsJobs/JobDSL.json @@ -1,5 +1,19 @@ { - "Branches": { - "4.38": "master" + "I": { + "streams": { + "4.38": { + "branch": "master", + "schedule": "0 18 * 8-10 *\n0 18 1-26 11 *" + } + } + }, + "Y": { + "streams": { + "4.38": { + "branch": "master", + "disabled": "true", + "schedule": "0 10 * 8-10 2,4,6\n0 10 1-26 11 2,4,6" + } + } } -} \ No newline at end of file +} diff --git a/JenkinsJobs/Releng/FOLDER.groovy b/JenkinsJobs/Releng/FOLDER.groovy index 3444de28643..bc6a3ee4873 100644 --- a/JenkinsJobs/Releng/FOLDER.groovy +++ b/JenkinsJobs/Releng/FOLDER.groovy @@ -88,7 +88,7 @@ Useful for debugging and to very that the pipeline behaves as intended. stringParam('RC1_DATE', null, 'Release-Candidate 1 end date in the format yyyy-mm-dd, for example: 2025-08-22') stringParam('RC2_DATE', null, 'Release-Candidate 2 end date in the format yyyy-mm-dd, for example: 2025-08-29') stringParam('GA_DATE', null, 'Final general availability release date in the format yyyy-mm-dd, for example: 2025-09-10') - stringParam('NEXT_JAVA_RELEASE_DATE', null, 'Release date of the next nww Java version, if it is released shortly after the Eclipse release (i.e. shortly after the GA_DATE specified above, usually for odd release versions), else left blank (usually for even releases). Value is in the format yyyy-mm-dd, for example: 2025-09-16') + stringParam('NEXT_JAVA_RELEASE_DATE', null, 'Release date of the next Java version, if it is released shortly after the Eclipse release (i.e. shortly after the GA_DATE specified above, usual for odd release versions), else left blank (usual for even releases). Value is in the format yyyy-mm-dd, for example: 2025-09-16') } definition { cpsScm { diff --git a/JenkinsJobs/Releng/prepareNextDevCycle.jenkinsfile b/JenkinsJobs/Releng/prepareNextDevCycle.jenkinsfile index ddc45c97df6..41a46aa9218 100644 --- a/JenkinsJobs/Releng/prepareNextDevCycle.jenkinsfile +++ b/JenkinsJobs/Releng/prepareNextDevCycle.jenkinsfile @@ -29,6 +29,10 @@ pipeline { nextVersionMatcher = null // release matcher as it's not serializable env.PREVIOUS_RELEASE_CANDIDATE_ID = readParameter('PREVIOUS_RELEASE_CANDIDATE_ID') + def buildPropertiesTxt = sh(script: "curl --fail https://download.eclipse.org/eclipse/downloads/drops4/${PREVIOUS_RELEASE_CANDIDATE_ID}/buildproperties.txt", returnStdout: true) + def buildProperties = readProperties(text: buildPropertiesTxt) + assignEnvVariable('IS_JAVA_RELEASE_IMMINENT', !buildProperties.NEXT_JAVA_RELEASE_DATE.replace('"','').isEmpty()) // Remove surrounding quotes + def previousIdMatcher = null if ((previousIdMatcher = env.PREVIOUS_RELEASE_CANDIDATE_ID =~ /(?[SR])-(?\d+)\.(?\d+)(\.(?\d+))?(?(M|RC)\d+[a-z]?)?-(?\d{8})(?