diff --git a/.ci/jenkins/dsl/jobs.groovy b/.ci/jenkins/dsl/jobs.groovy index 849482cc0..52accbb48 100644 --- a/.ci/jenkins/dsl/jobs.groovy +++ b/.ci/jenkins/dsl/jobs.groovy @@ -7,37 +7,50 @@ import org.kie.jenkins.jobdsl.Utils JENKINSFILE_PATH = '.ci/jenkins' +boolean isMainStream() { + return Utils.getStream(this) == 'main' +} + // PRs setupKogitoRuntimesBDDPrJob() // Tools setupUpdateJenkinsDependenciesJob() -setupCreateIssueToolsJob() -setupCleanOldNamespacesToolsJob() -setupCleanOldNightlyImagesToolsJob() -KogitoJobUtils.createQuarkusPlatformUpdateToolsJob(this, 'kogito') -KogitoJobUtils.createMainQuarkusUpdateToolsJob(this, +if (isMainStream()) { + setupCreateIssueToolsJob() + setupCleanOldNamespacesToolsJob() + setupCleanOldNightlyImagesToolsJob() + + KogitoJobUtils.createQuarkusPlatformUpdateToolsJob(this, 'kogito') + if (Utils.isMainBranch(this)) { + setupBuildOperatorNode() + } + + KogitoJobUtils.createMainQuarkusUpdateToolsJob(this, [ 'kogito-runtimes', 'kogito-examples', 'kogito-docs', 'kogito-images' ], [ 'radtriste', 'cristianonicolai' ] -) -if (Utils.isMainBranch(this)) { - setupBuildOperatorNode() + ) } // Setup branch branch createSetupBranchJob() -createSetupBranchCloudJob() +if (isMainStream()) { + createSetupBranchCloudJob() +} // Nightly setupNightlyJob() -setupNightlyCloudJob() -setupQuarkusPlatformJob(JobType.NIGHTLY) -setupQuarkus3NightlyJob() +if (isMainStream()) { + setupNightlyCloudJob() + setupQuarkusPlatformJob(JobType.NIGHTLY) + setupQuarkus3NightlyJob() +} KogitoJobUtils.createEnvironmentIntegrationBranchNightlyJob(this, 'quarkus-main') KogitoJobUtils.createEnvironmentIntegrationBranchNightlyJob(this, 'quarkus-lts') KogitoJobUtils.createEnvironmentIntegrationBranchNightlyJob(this, 'quarkus-branch') KogitoJobUtils.createEnvironmentIntegrationBranchNightlyJob(this, 'native-lts') +KogitoJobUtils.createEnvironmentIntegrationBranchNightlyJob(this, 'quarkus-3') // Release setupReleaseArtifactsJob() @@ -142,7 +155,7 @@ void createSetupBranchCloudJob() { void setupNightlyJob() { def jobParams = JobParamsUtils.getBasicJobParams(this, '0-kogito-nightly', JobType.NIGHTLY, "${JENKINSFILE_PATH}/Jenkinsfile.nightly", 'Kogito Nightly') - jobParams.triggers = [cron : '@midnight'] + jobParams.triggers = [cron : isMainStream () ? '@midnight' : 'H 4 * * *'] jobParams.env.putAll([ JENKINS_EMAIL_CREDS_ID: "${JENKINS_EMAIL_CREDS_ID}", @@ -189,8 +202,7 @@ void setupNightlyCloudJob() { } void setupQuarkus3NightlyJob() { - // TODO Tests would be done on 9.x/2.x branch => Create 2.x branch on Kogito - + // Tests are done on 9.x/2.x branch => Create 2.x branch on Kogito // Need to split as Drools and Kogito end up in different integration branches KogitoJobUtils.createNightlyBuildChainIntegrationJob(this, 'quarkus-3', 'drools', true) { script -> def jobParams = JobParamsUtils.getDefaultJobParams(script, 'drools') diff --git a/dsl/seed/src/main/groovy/org/kie/jenkins/jobdsl/Utils.groovy b/dsl/seed/src/main/groovy/org/kie/jenkins/jobdsl/Utils.groovy index 62c416f27..e2a40837d 100644 --- a/dsl/seed/src/main/groovy/org/kie/jenkins/jobdsl/Utils.groovy +++ b/dsl/seed/src/main/groovy/org/kie/jenkins/jobdsl/Utils.groovy @@ -75,6 +75,15 @@ class Utils { return getBindingValue(script, 'GIT_MAIN_BRANCH') } + static String getStream(def script) { + String gitMainBranch = Utils.getGitMainBranch(script) + if (gitMainBranch == 'main') { + return 'main' + } else { + return gitMainBranch.split("\\.")[0] + } + } + static boolean hasGitAuthor(def script) { return hasBindingValue(script, 'GIT_AUTHOR_NAME') } diff --git a/dsl/seed/src/main/groovy/org/kie/jenkins/jobdsl/utils/JobParamsUtils.groovy b/dsl/seed/src/main/groovy/org/kie/jenkins/jobdsl/utils/JobParamsUtils.groovy index f1b7fe611..47378bdaf 100644 --- a/dsl/seed/src/main/groovy/org/kie/jenkins/jobdsl/utils/JobParamsUtils.groovy +++ b/dsl/seed/src/main/groovy/org/kie/jenkins/jobdsl/utils/JobParamsUtils.groovy @@ -29,6 +29,7 @@ class JobParamsUtils { parametersValues: [:], env: [ REPO_NAME: repository, + STREAM: Utils.getStream(script), ], pr: [ target_repository: repository,