diff --git a/.ci/buildchain-config.yaml b/.ci/buildchain-config.yaml index b1472f2662d..10d4943f11f 100644 --- a/.ci/buildchain-config.yaml +++ b/.ci/buildchain-config.yaml @@ -28,7 +28,7 @@ default: docker system prune -f build: - - project: kiegroup/drools + - project: apache/incubator-kie-drools build-command: current: | export MVN_CMD=`bash -c "if [ '${{ env.ENABLE_DEPLOY }}' = 'true' ]; then printf 'deploy ${{ env.DEPLOY_MVN_OPTS }} ${{ env.DROOLS_DEPLOY_MVN_OPTS }}'; else printf 'install'; fi"` @@ -36,7 +36,7 @@ build: upstream: | mvn clean install -Dquickly ${{ env.BUILD_MVN_OPTS }} ${{ env.BUILD_MVN_OPTS_UPSTREAM }} ${{ env.DROOLS_BUILD_MVN_OPTS_UPSTREAM }} - - project: kiegroup/kogito-runtimes + - project: apache/incubator-kie-kogito-runtimes build-command: current: | export MVN_CMD=`bash -c "if [ '${{ env.ENABLE_DEPLOY }}' = 'true' ]; then printf 'deploy ${{ env.DEPLOY_MVN_OPTS }} ${{ env.KOGITO_RUNTIMES_DEPLOY_MVN_OPTS }}'; else printf 'install'; fi"` @@ -44,7 +44,7 @@ build: upstream: | mvn clean install -Dquickly -Dfull ${{ env.BUILD_MVN_OPTS }} ${{ env.BUILD_MVN_OPTS_UPSTREAM }} ${{ env.KOGITO_RUNTIMES_BUILD_MVN_OPTS_UPSTREAM }} - - project: kiegroup/kogito-apps + - project: apache/incubator-kie-kogito-apps build-command: current: | export MVN_CMD=`bash -c "if [ '${{ env.ENABLE_DEPLOY }}' = 'true' ]; then printf 'deploy ${{ env.DEPLOY_MVN_OPTS }} ${{ env.KOGITO_APPS_DEPLOY_MVN_OPTS }}'; else printf 'install'; fi"` @@ -57,7 +57,7 @@ build: **/cypress/screenshots/** **/cypress/videos/** - - project: kiegroup/kogito-examples + - project: apache/incubator-kie-kogito-examples build-command: # First install the main pom # Then build the required submodule pom @@ -68,10 +68,10 @@ build: upstream: | mvn clean install -DskipTests -DskipITs ${{ env.BUILD_MVN_OPTS }} ${{ env.BUILD_MVN_OPTS_UPSTREAM }} ${{ env.KOGITO_EXAMPLES_BUILD_MVN_OPTS_UPSTREAM }} - - project: kiegroup/kie-jpmml-integration - build-command: - current: | - export MVN_CMD=`bash -c "if [ '${{ env.ENABLE_DEPLOY }}' = 'true' ]; then printf 'deploy ${{ env.DEPLOY_MVN_OPTS }} ${{ env.KIE_JPMML_INTEGRATION_DEPLOY_MVN_OPTS }}'; else printf 'install'; fi"` - mvn clean ${{ env.MVN_CMD }} ${{ env.BUILD_MVN_OPTS }} ${{ env.BUILD_MVN_OPTS_CURRENT }} ${{ env.KIE_JPMML_INTEGRATION_BUILD_MVN_OPTS }} - upstream: | - mvn clean install -DskipTests ${{ env.BUILD_MVN_OPTS }} ${{ env.BUILD_MVN_OPTS_UPSTREAM }} ${{ env.KIE_JPMML_INTEGRATION_BUILD_MVN_OPTS_UPSTREAM }} + # - project: kiegroup/kie-jpmml-integration + # build-command: + # current: | + # export MVN_CMD=`bash -c "if [ '${{ env.ENABLE_DEPLOY }}' = 'true' ]; then printf 'deploy ${{ env.DEPLOY_MVN_OPTS }} ${{ env.KIE_JPMML_INTEGRATION_DEPLOY_MVN_OPTS }}'; else printf 'install'; fi"` + # mvn clean ${{ env.MVN_CMD }} ${{ env.BUILD_MVN_OPTS }} ${{ env.BUILD_MVN_OPTS_CURRENT }} ${{ env.KIE_JPMML_INTEGRATION_BUILD_MVN_OPTS }} + # upstream: | + # mvn clean install -DskipTests ${{ env.BUILD_MVN_OPTS }} ${{ env.BUILD_MVN_OPTS_UPSTREAM }} ${{ env.KIE_JPMML_INTEGRATION_BUILD_MVN_OPTS_UPSTREAM }} diff --git a/.ci/buildchain-project-dependencies.yaml b/.ci/buildchain-project-dependencies.yaml index 5940dae1cd1..7d1bfb80cf9 100644 --- a/.ci/buildchain-project-dependencies.yaml +++ b/.ci/buildchain-project-dependencies.yaml @@ -1,6 +1,6 @@ version: "2.1" dependencies: - - project: kiegroup/drools + - project: apache/incubator-kie-drools mapping: dependencies: default: @@ -10,12 +10,12 @@ dependencies: default: - source: (\d*)\.(.*) targetExpression: "process.env.GITHUB_BASE_REF.replace(/(\\d*)\\.(.*)/g, (m, n1, n2) => `${+n1+7}.${n2}`)" - exclude: - - kiegroup/kie-jpmml-integration + # exclude: + # - kiegroup/kie-jpmml-integration - - project: kiegroup/kogito-runtimes + - project: apache/incubator-kie-kogito-runtimes dependencies: - - project: kiegroup/drools + - project: apache/incubator-kie-drools mapping: dependencies: default: @@ -26,12 +26,12 @@ dependencies: - source: (\d*)\.(.*) targetExpression: "process.env.GITHUB_BASE_REF.replace(/(\\d*)\\.(.*)/g, (m, n1, n2) => `${+n1-7}.${n2}`)" exclude: - - kiegroup/kogito-examples - - kiegroup/kogito-apps + - apache/incubator-kie-kogito-examples + - apache/incubator-kie-kogito-apps - - project: kiegroup/kogito-apps + - project: apache/incubator-kie-kogito-apps dependencies: - - project: kiegroup/kogito-runtimes + - project: apache/incubator-kie-kogito-runtimes mapping: dependencies: default: @@ -42,13 +42,13 @@ dependencies: - source: (\d*)\.(.*) targetExpression: "process.env.GITHUB_BASE_REF.replace(/(\\d*)\\.(.*)/g, (m, n1, n2) => `${+n1-7}.${n2}`)" exclude: - - kiegroup/kogito-examples - - kiegroup/kogito-runtimes + - apache/incubator-kie-kogito-examples + - apache/incubator-kie-kogito-runtimes - - project: kiegroup/kogito-examples + - project: apache/incubator-kie-kogito-examples dependencies: - - project: kiegroup/kogito-runtimes - - project: kiegroup/kogito-apps + - project: apache/incubator-kie-kogito-runtimes + - project: apache/incubator-kie-kogito-apps mapping: dependencies: default: @@ -59,10 +59,10 @@ dependencies: - source: (\d*)\.(.*) targetExpression: "process.env.GITHUB_BASE_REF.replace(/(\\d*)\\.(.*)/g, (m, n1, n2) => `${+n1-7}.${n2}`)" exclude: - - kiegroup/kogito-apps - - kiegroup/kogito-runtimes + - apache/incubator-kie-kogito-apps + - apache/incubator-kie-kogito-runtimes - - project: kiegroup/kie-jpmml-integration - dependencies: - - project: kiegroup/drools + # - project: kiegroup/kie-jpmml-integration + # dependencies: + # - project: apache/incubator-kie-drools # no mapping needed diff --git a/.ci/environments/common/update_quarkus.sh b/.ci/environments/common/update_quarkus.sh index dc187436ad9..2dbf3ac7bd8 100755 --- a/.ci/environments/common/update_quarkus.sh +++ b/.ci/environments/common/update_quarkus.sh @@ -3,7 +3,7 @@ set -euo pipefail mvn_cmd="mvn ${BUILD_MVN_OPTS:-} ${BUILD_MVN_OPTS_QUARKUS_UPDATE:-}" -source <(curl -s https://raw.githubusercontent.com/kiegroup/kogito-pipelines/main/dsl/seed/scripts/install_quarkus.sh) +source <(curl -s https://raw.githubusercontent.com/apache/incubator-kie-kogito-pipelines/main/dsl/seed/scripts/install_quarkus.sh) echo "Update project with Quarkus version ${QUARKUS_VERSION}" diff --git a/.ci/environments/update.sh b/.ci/environments/update.sh index bda16c4ef81..0ee06957644 100755 --- a/.ci/environments/update.sh +++ b/.ci/environments/update.sh @@ -45,4 +45,4 @@ if [ -f "${env_path}/after.sh" ]; then fi # Download `setup_integration_branch` script and execute -curl -s https://raw.githubusercontent.com/kiegroup/kogito-pipelines/main/dsl/seed/scripts/setup_integration_branch.sh | bash \ No newline at end of file +curl -s https://raw.githubusercontent.com/apache/incubator-kie-kogito-pipelines/main/dsl/seed/scripts/setup_integration_branch.sh | bash \ No newline at end of file diff --git a/.ci/jenkins/Jenkinsfile b/.ci/jenkins/Jenkinsfile new file mode 100644 index 00000000000..4dd66f01c18 --- /dev/null +++ b/.ci/jenkins/Jenkinsfile @@ -0,0 +1,43 @@ +@Library('jenkins-pipeline-shared-libraries')_ + +pr_check_script = null + +pipeline { + agent { + label 'ubuntu' + } + options { + timestamps() + timeout(time: 360, unit: 'MINUTES') + } + environment { + BUILDCHAIN_PROJECT = 'apache/incubator-kie-drools' + BUILDCHAIN_CONFIG_REPO = 'incubator-kie-drools' + BUILDCHAIN_CONFIG_FILE_PATH = '.ci/buildchain-config.yaml' + + ENABLE_SONARCLOUD = 'true' + DROOLS_BUILD_MVN_OPTS = '-Prun-code-coverage' + } + stages { + stage('Initialize') { + steps { + script { + // load `pr_check.groovy` file from kogito-pipelines:main + dir('kogito-pipelines') { + checkout(githubscm.resolveRepository('incubator-kie-kogito-pipelines', 'apache', 'main', false, 'ASF_Cloudbees_Jenkins_ci-builds')) + pr_check_script = load 'dsl/scripts/pr_check.groovy' + } + } + } + } + stage('PR check') { + steps { + script { + dir('kogito-pipelines') { + pr_check_script.launch() + } + } + } + } + } +} diff --git a/.ci/jenkins/Jenkinsfile.deploy b/.ci/jenkins/Jenkinsfile.deploy index 9c74e1a1ce4..12b11ea345c 100644 --- a/.ci/jenkins/Jenkinsfile.deploy +++ b/.ci/jenkins/Jenkinsfile.deploy @@ -6,16 +6,12 @@ import org.kie.jenkins.MavenStagingHelper deployProperties = [:] -droolsRepository = 'drools' - pipeline { agent { - label 'kie-rhel8 && docker && kie-mem16g && !built-in' - } - - tools { - maven env.BUILD_MAVEN_TOOL - jdk env.BUILD_JDK_TOOL + docker { + image env.AGENT_DOCKER_BUILDER_IMAGE + args env.AGENT_DOCKER_BUILDER_ARGS + } } options { @@ -23,20 +19,11 @@ pipeline { timeout(time: 180, unit: 'MINUTES') } - // parameters { - // For parameters, check into ./dsl/jobs.groovy file - // } - environment { - // Static env is defined into ./dsl/jobs.groovy file - DROOLS_CI_EMAIL_TO = credentials("${JENKINS_EMAIL_CREDS_ID}") - // Keep here for visitibility - MAVEN_OPTS = '-Xms1024m -Xmx4g' - PR_BRANCH_HASH = "${util.generateHash(10)}" - MAVEN_DEPLOY_LOCAL_DIR = "${WORKSPACE}/maven_deploy_dir" + MAVEN_DEPLOY_LOCAL_DIR = "/tmp/maven_deploy_dir" } stages { @@ -220,7 +207,7 @@ boolean shouldStageArtifacts() { } boolean shouldDeployToRepository() { - return env.MAVEN_DEPLOY_REPOSITORY || getGitAuthor() == 'kiegroup' + return env.MAVEN_DEPLOY_REPOSITORY || getGitAuthor() == 'apache' } boolean isRelease() { diff --git a/.ci/jenkins/Jenkinsfile.promote b/.ci/jenkins/Jenkinsfile.promote index 137016d6356..2b027750cfe 100644 --- a/.ci/jenkins/Jenkinsfile.promote +++ b/.ci/jenkins/Jenkinsfile.promote @@ -8,12 +8,10 @@ pipelineProperties = [:] pipeline { agent { - label 'kie-rhel8 && docker && !built-in' - } - - tools { - maven env.BUILD_MAVEN_TOOL - jdk env.BUILD_JDK_TOOL + docker { + image env.AGENT_DOCKER_BUILDER_IMAGE + args env.AGENT_DOCKER_BUILDER_ARGS + } } options { @@ -222,7 +220,7 @@ void uploadFileMgmt(String directory) { } boolean isNotTestingBuild() { - return getGitAuthor() == 'kiegroup' + return getGitAuthor() == 'apache' } boolean isMainStream() { diff --git a/.ci/jenkins/Jenkinsfile.quarkus-3.rewrite.pr b/.ci/jenkins/Jenkinsfile.quarkus-3.rewrite.pr index 4625604cb49..5a4b689871c 100644 --- a/.ci/jenkins/Jenkinsfile.quarkus-3.rewrite.pr +++ b/.ci/jenkins/Jenkinsfile.quarkus-3.rewrite.pr @@ -7,11 +7,10 @@ changeBranch = env.ghprbSourceBranch ?: CHANGE_BRANCH pipeline { agent { - label 'kie-rhel8 && kie-mem16g && !built-in' - } - tools { - maven env.BUILD_MAVEN_TOOL - jdk env.BUILD_JDK_TOOL + docker { + image env.AGENT_DOCKER_BUILDER_IMAGE + args env.AGENT_DOCKER_BUILDER_ARGS + } } options { timestamps() diff --git a/.ci/jenkins/Jenkinsfile.quarkus-3.rewrite.standalone b/.ci/jenkins/Jenkinsfile.quarkus-3.rewrite.standalone index f4b29582204..4e2c7cf7ee9 100644 --- a/.ci/jenkins/Jenkinsfile.quarkus-3.rewrite.standalone +++ b/.ci/jenkins/Jenkinsfile.quarkus-3.rewrite.standalone @@ -7,12 +7,10 @@ previousHash = '' pipeline { agent { - label 'kie-rhel8 && kie-mem16g && !built-in' - } - - tools { - maven env.BUILD_MAVEN_TOOL - jdk env.BUILD_JDK_TOOL + docker { + image env.AGENT_DOCKER_BUILDER_IMAGE + args env.AGENT_DOCKER_BUILDER_ARGS + } } options { diff --git a/.ci/jenkins/Jenkinsfile.setup-branch b/.ci/jenkins/Jenkinsfile.setup-branch index e481edfac66..95b74cfcbe6 100644 --- a/.ci/jenkins/Jenkinsfile.setup-branch +++ b/.ci/jenkins/Jenkinsfile.setup-branch @@ -5,12 +5,10 @@ import org.kie.jenkins.MavenCommand pipeline { agent { - label 'kie-rhel8 && !built-in' - } - - tools { - maven env.BUILD_MAVEN_TOOL - jdk env.BUILD_JDK_TOOL + docker { + image env.AGENT_DOCKER_BUILDER_IMAGE + args env.AGENT_DOCKER_BUILDER_ARGS + } } options { @@ -18,18 +16,9 @@ pipeline { timeout(time: 60, unit: 'MINUTES') } - // parameters { - // For parameters, check into ./dsl/jobs.groovy file - // } - environment { - // Static env is defined into ./dsl/jobs.groovy file - DROOLS_CI_EMAIL_TO = credentials("${JENKINS_EMAIL_CREDS_ID}") - // Keep here for visitibility - MAVEN_OPTS = '-Xms1024m -Xmx4g' - BRANCH_HASH = "${util.generateHash(10)}" } diff --git a/.ci/jenkins/config/branch.yaml b/.ci/jenkins/config/branch.yaml index c673231d270..6ca9670ca1a 100644 --- a/.ci/jenkins/config/branch.yaml +++ b/.ci/jenkins/config/branch.yaml @@ -10,16 +10,6 @@ environments: ADDITIONAL_TIMEOUT: 720 ids: - native - native-lts: - env_vars: - NATIVE: true - BUILD_MVN_OPTS: -Dproductized -Ddata-index-ephemeral.image=quay.io/kiegroup/kogito-data-index-ephemeral - BUILD_MVN_OPTS_CURRENT: -Dnative -Dquarkus.native.container-build=true - QUARKUS_BRANCH: '2.13' - ADDITIONAL_TIMEOUT: 720 - ids: - - native - - prod quarkus-main: enabled: false env_vars: @@ -30,8 +20,8 @@ environments: quarkus-3: pull_request_default_check: false env_vars: - BUILD_MAVEN_TOOL: kie-maven-3.9.1 - BUILD_JDK_TOOL: kie-jdk17 + BUILD_MAVEN_TOOL: maven_3.9.3 + BUILD_JDK_TOOL: jdk_17_latest BUILD_MVN_OPTS: -Denforcer.skip # DROOLS_BUILD_MVN_OPTS: -Dfull # "No enabled as it does not compile in quarkus-3 # BUILD_MVN_OPTS_QUARKUS_UPDATE: -Dfull @@ -44,15 +34,6 @@ environments: DROOLS_BUILD_MVN_OPTS: -Dfull ids: - quarkus - quarkus-lts: - pull_request_default_check: false - env_vars: - BUILD_MVN_OPTS: -Dproductized -Ddata-index-ephemeral.image=quay.io/kiegroup/kogito-data-index-ephemeral - QUARKUS_BRANCH: '2.13' - ids: - - quarkus - - lts - - prod sonarcloud: auto_generation: false env_vars: @@ -61,22 +42,26 @@ environments: ids: - sonarcloud - coverage -productized_branch: true disable: - triggers: false + triggers: true # TODO to set back repositories: -- name: drools -- name: drools-website -- name: kie-benchmarks -- name: kie-jpmml-integration -productized_repositories: -- name: drools -- name: drools-website +- name: incubator-kie-drools + job_display_name: drools +# Not yet migrated to Apache +# - name: incubator-kie-drools-website +# job_display_name: drools-website +- name: incubator-kie-benchmarks + job_display_name: kie-benchmarks +## TODO to check if should be enabled +# - name: incubator-kie-jpmml-integration +# job_display_name: kie-jpmml-integration git: author: - name: kiegroup - credentials_id: kie-ci4 - token_credentials_id: kie-ci4-token + name: apache + # Taken from https://ci-builds.apache.org/credentials/ + # Need to be verified + credentials_id: 399061d0-5ab5-4142-a186-a52081fef742 + token_credentials_id: ci-builds fork_author: name: kie-ci credentials_id: kie-ci @@ -88,34 +73,34 @@ git: jenkins_config_path: .ci/jenkins buildchain_config: git: - repository: drools + repository: incubator-kie-drools file_path: .ci/buildchain-config.yaml maven: - settings_file_id: kogito_release_settings + settings_file_id: kie-release-settings nexus: - release_url: https://repository.jboss.org/nexus - release_repository: jboss-releases-repository - staging_profile_url: https://repository.jboss.org/nexus/content/groups/kogito-public/ - staging_profile_id: 1976dd1c18392a - build_promotion_profile_id: ea49ccd6f174 + release_url: TO_DEFINE + release_repository: TO_DEFINE + staging_profile_url: TO_DEFINE + staging_profile_id: TO_DEFINE + build_promotion_profile_id: TO_DEFINE artifacts_repository: '' artifacts_upload_repository: - url: https://repository.jboss.org/nexus/content/repositories/snapshots/ - creds_id: kogito-snapshots-upload - pr_checks: - repository: - url: https://bxms-qe.rhev-ci-vms.eng.rdu2.redhat.com:8443/nexus/content/repositories/kogito-runtimes-pr-full-testing/ - creds_id: unpacks-zip-on-qa-nexus + url: TO_DEFINE + creds_id: TO_DEFINE cloud: image: - registry_credentials_nightly: nightly_kogito - registry_credentials_release: release_kogito + registry_credentials: tradisso_registry_token # TODO set to `kogito-quay-token` registry: quay.io - namespace: kiegroup + namespace: tradisso latest_git_branch: main jenkins: - email_creds_id: DROOLS_CI_EMAIL_TO + email_creds_id: DROOLS_CI_NOTIFICATION_EMAILS + agent: + docker: + builder: + image: quay.io/kiegroup/kogito-ci-build:latest + args: -v /var/run/docker.sock:/var/run/docker.sock --group-add docker --group-add input --group-add render default_tools: - jdk: kie-jdk11 - maven: kie-maven-3.8.7 - sonar_jdk: kie-jdk17 + jdk: jdk_11_latest + maven: maven_3.8.6 + sonar_jdk: jdk_17_latest diff --git a/.ci/jenkins/config/main.yaml b/.ci/jenkins/config/main.yaml index b15179941fa..82538f85d31 100644 --- a/.ci/jenkins/config/main.yaml +++ b/.ci/jenkins/config/main.yaml @@ -4,45 +4,28 @@ ecosystem: - name: drools regexs: - drools.* - - name: kie-jpmml-integration - ignore_productization: true - regexs: - - kie-jpmml-integration.* + - incubator-kie-drools.* + # - name: kie-jpmml-integration + # regexs: + # - kie-jpmml-integration.* - name: kie-benchmarks ignore_release: true - ignore_productization: true regexs: - kie-benchmarks.* + - incubator-kie-benchmarks.* git: branches: - name: main main_branch: true - seed: - branch: main - - name: 8.38.x-prod - seed: - branch: seed-drools-8.38.x - - name: 8.40.x-prod - seed: - branch: seed-drools-8.40.x - - name: 8.43.x - seed: - branch: seed-drools-8.43.x - - name: 8.43.x-prod - seed: - branch: seed-drools-8.43.x - - name: 8.44.x - seed: - branch: seed-drools-8.44.x seed: config_file: git: - repository: drools + repository: incubator-kie-drools author: - name: kiegroup - credentials_id: kie-ci4 + name: apache + credentials_id: ASF_Cloudbees_Jenkins_ci-builds branch: main path: .ci/jenkins/config/branch.yaml jenkinsfile: dsl/seed/jenkinsfiles/Jenkinsfile.seed.branch jenkins: - email_creds_id: DROOLS_CI_EMAIL_TO + email_creds_id: DROOLS_CI_NOTIFICATION_EMAILS diff --git a/.ci/jenkins/dsl/jobs.groovy b/.ci/jenkins/dsl/jobs.groovy index fe350b9f92c..2ac07e91161 100644 --- a/.ci/jenkins/dsl/jobs.groovy +++ b/.ci/jenkins/dsl/jobs.groovy @@ -2,10 +2,10 @@ * This file is describing all the Jenkins jobs in the DSL format (see https://plugins.jenkins.io/job-dsl/) * needed by the Kogito pipelines. * -* The main part of Jenkins job generation is defined into the https://github.com/kiegroup/kogito-pipelines repository. +* The main part of Jenkins job generation is defined into the https://github.com/apache/incubator-kie-kogito-pipelines repository. * * This file is making use of shared libraries defined in -* https://github.com/kiegroup/kogito-pipelines/tree/main/dsl/seed/src/main/groovy/org/kie/jenkins/jobdsl. +* https://github.com/apache/incubator-kie-kogito-pipelines/tree/main/dsl/seed/src/main/groovy/org/kie/jenkins/jobdsl. */ import org.kie.jenkins.jobdsl.model.JenkinsFolder @@ -106,7 +106,7 @@ void setupProjectReleaseJob() { void setupProjectPostReleaseJob() { def jobParams = JobParamsUtils.getBasicJobParams(this, 'drools-post-release', JobType.RELEASE, "${jenkins_path_project}/Jenkinsfile.post-release", 'Drools Post Release') - JobParamsUtils.setupJobParamsDefaultMavenConfiguration(this, jobParams) + JobParamsUtils.setupJobParamsAgentDockerBuilderImageConfiguration(this, jobParams) jobParams.env.putAll([ JENKINS_EMAIL_CREDS_ID: "${JENKINS_EMAIL_CREDS_ID}", @@ -144,34 +144,32 @@ Map getMultijobPRConfig(JenkinsFolder jobFolder) { ] ], [ id: 'kogito-runtimes', - repository: 'kogito-runtimes' + repository: 'incubator-kie-kogito-runtimes' ], [ id: 'kogito-apps', - repository: 'kogito-apps', - env : [ - NODE_OPTIONS: '--max_old_space_size=4096', - ] + repository: 'incubator-kie-kogito-apps', ], [ id: 'kogito-quarkus-examples', - repository: 'kogito-examples', + repository: 'incubator-kie-kogito-examples', env : [ KOGITO_EXAMPLES_SUBFOLDER_POM: 'kogito-quarkus-examples/', ], ], [ id: 'kogito-springboot-examples', - repository: 'kogito-examples', + repository: 'incubator-kie-kogito-examples', env : [ KOGITO_EXAMPLES_SUBFOLDER_POM: 'kogito-springboot-examples/', ], ], [ id: 'serverless-workflow-examples', - repository: 'kogito-examples', + repository: 'incubator-kie-kogito-examples', env : [ KOGITO_EXAMPLES_SUBFOLDER_POM: 'serverless-workflow-examples/', ], - ], [ - id: 'kie-jpmml-integration', - repository: 'kie-jpmml-integration' + // Commented as not migrated + // ], [ + // id: 'kie-jpmml-integration', + // repository: 'incubator-kie-jpmml-integration' ] ] ] @@ -185,7 +183,7 @@ Map getMultijobPRConfig(JenkinsFolder jobFolder) { } // PR checks -KogitoJobUtils.createAllEnvironmentsPerRepoPRJobs(this) { jobFolder -> getMultijobPRConfig(jobFolder) } +Utils.isMainBranch(this) && KogitoJobTemplate.createPullRequestMultibranchPipelineJob(this, "${jenkins_path}/Jenkinsfile") // Init branch createSetupBranchJob() @@ -221,7 +219,8 @@ if (isMainStream()) { // Quarkus 3 if (EnvUtils.isEnvironmentEnabled(this, 'quarkus-3')) { - setupPrQuarkus3RewriteJob() + // TODO create PR job with branch source plugin. How to ? + // setupPrQuarkus3RewriteJob() setupStandaloneQuarkus3RewriteJob() } } @@ -240,9 +239,8 @@ void setupSpecificBuildChainNightlyJob(String envName, Closure defaultJobParamsG void createSetupBranchJob() { def jobParams = JobParamsUtils.getBasicJobParams(this, 'drools', JobType.SETUP_BRANCH, "${jenkins_path}/Jenkinsfile.setup-branch", 'Drools Setup branch') - JobParamsUtils.setupJobParamsDefaultMavenConfiguration(this, jobParams) + JobParamsUtils.setupJobParamsAgentDockerBuilderImageConfiguration(this, jobParams) jobParams.env.putAll([ - REPO_NAME: 'drools', JENKINS_EMAIL_CREDS_ID: "${JENKINS_EMAIL_CREDS_ID}", GIT_AUTHOR: "${GIT_AUTHOR_NAME}", @@ -268,9 +266,8 @@ void createSetupBranchJob() { void setupDeployJob(JobType jobType) { def jobParams = JobParamsUtils.getBasicJobParams(this, 'drools-deploy', jobType, "${jenkins_path}/Jenkinsfile.deploy", 'Drools Deploy') - JobParamsUtils.setupJobParamsDefaultMavenConfiguration(this, jobParams) + JobParamsUtils.setupJobParamsAgentDockerBuilderImageConfiguration(this, jobParams) jobParams.env.putAll([ - REPO_NAME: 'drools', PROPERTIES_FILE_NAME: 'deployment.properties', JENKINS_EMAIL_CREDS_ID: "${JENKINS_EMAIL_CREDS_ID}", @@ -312,9 +309,8 @@ void setupDeployJob(JobType jobType) { void setupPromoteJob(JobType jobType) { def jobParams = JobParamsUtils.getBasicJobParams(this, 'drools-promote', jobType, "${jenkins_path}/Jenkinsfile.promote", 'Drools Promote') - JobParamsUtils.setupJobParamsDefaultMavenConfiguration(this, jobParams) + JobParamsUtils.setupJobParamsAgentDockerBuilderImageConfiguration(this, jobParams) jobParams.env.putAll([ - REPO_NAME: 'drools', PROPERTIES_FILE_NAME: 'deployment.properties', JENKINS_EMAIL_CREDS_ID: "${JENKINS_EMAIL_CREDS_ID}", @@ -344,7 +340,7 @@ void setupPromoteJob(JobType jobType) { void setupPrQuarkus3RewriteJob() { def jobParams = JobParamsUtils.getBasicJobParamsWithEnv(this, 'drools.rewrite', JobType.PULL_REQUEST, 'quarkus-3', "${jenkins_path}/Jenkinsfile.quarkus-3.rewrite.pr", 'Drools Quarkus 3 rewrite patch regeneration') - JobParamsUtils.setupJobParamsDefaultMavenConfiguration(this, jobParams) + JobParamsUtils.setupJobParamsAgentDockerBuilderImageConfiguration(this, jobParams) jobParams.jenkinsfile = "${jenkins_path}/Jenkinsfile.quarkus-3.rewrite.pr" jobParams.pr.putAll([ run_only_for_branches: [ "${GIT_BRANCH}" ], @@ -363,7 +359,7 @@ void setupPrQuarkus3RewriteJob() { void setupStandaloneQuarkus3RewriteJob() { def jobParams = JobParamsUtils.getBasicJobParams(this, 'drools.quarkus-3.rewrite', JobType.TOOLS, "${jenkins_path}/Jenkinsfile.quarkus-3.rewrite.standalone", 'Drools Quarkus 3 rewrite patch regeneration') - JobParamsUtils.setupJobParamsDefaultMavenConfiguration(this, jobParams) + JobParamsUtils.setupJobParamsAgentDockerBuilderImageConfiguration(this, jobParams) jobParams.env.putAll(EnvUtils.getEnvironmentEnvVars(this, 'quarkus-3')) jobParams.env.putAll([ AUTHOR_CREDS_ID: "${GIT_AUTHOR_CREDENTIALS_ID}", diff --git a/.ci/jenkins/dsl/test.sh b/.ci/jenkins/dsl/test.sh index 054bc9b0a86..64d478475fb 100755 --- a/.ci/jenkins/dsl/test.sh +++ b/.ci/jenkins/dsl/test.sh @@ -22,13 +22,13 @@ fi git_author="$(echo ${git_url} | awk -F"${git_server_url}" '{print $2}' | awk -F. '{print $1}' | awk -F/ '{print $1}')" -export DSL_DEFAULT_MAIN_CONFIG_FILE_REPO="${git_author}"/drools -export DSL_DEFAULT_FALLBACK_MAIN_CONFIG_FILE_REPO=kiegroup/drools +export DSL_DEFAULT_MAIN_CONFIG_FILE_REPO="${git_author}"/incubator-kie-drools +export DSL_DEFAULT_FALLBACK_MAIN_CONFIG_FILE_REPO=apache/incubator-kie-drools export DSL_DEFAULT_MAIN_CONFIG_FILE_PATH=.ci/jenkins/config/main.yaml -export DSL_DEFAULT_BRANCH_CONFIG_FILE_REPO="${git_author}"/drools +export DSL_DEFAULT_BRANCH_CONFIG_FILE_REPO="${git_author}"/incubator-kie-drools file=$(mktemp) # For more usage of the script, use ./test.sh -h -curl -o ${file} https://raw.githubusercontent.com/kiegroup/kogito-pipelines/main/dsl/seed/scripts/seed_test.sh +curl -o ${file} https://raw.githubusercontent.com/apache/incubator-kie-kogito-pipelines/main/dsl/seed/scripts/seed_test.sh chmod u+x ${file} ${file} $@ \ No newline at end of file diff --git a/.ci/jenkins/project/Jenkinsfile.nightly b/.ci/jenkins/project/Jenkinsfile.nightly index a03ad66e849..187f1af31af 100644 --- a/.ci/jenkins/project/Jenkinsfile.nightly +++ b/.ci/jenkins/project/Jenkinsfile.nightly @@ -4,7 +4,7 @@ import org.jenkinsci.plugins.workflow.libs.Library // Deploy jobs DROOLS_DEPLOY = 'drools.build-and-deploy' -KIE_JPMML_INTEGRATION_DEPLOY = 'kie-jpmml-integration.build-and-deploy' +// KIE_JPMML_INTEGRATION_DEPLOY = 'kie-jpmml-integration.build-and-deploy' // Commented as not migrated for now // Map of executed jobs // See https://javadoc.jenkins.io/plugin/workflow-support/org/jenkinsci/plugins/workflow/support/steps/build/RunWrapper.html @@ -17,7 +17,7 @@ UNSTABLE_STAGES = [:] // Should be multibranch pipeline pipeline { agent { - label 'kie-rhel8 && !built-in' + label 'ubuntu' } options { @@ -60,22 +60,22 @@ pipeline { } } } - stage('Build & Deploy KIE jpmml integration') { - steps { - script { - def buildParams = getDefaultBuildParams() - addSkipTestsParam(buildParams) - addSkipIntegrationTestsParam(buildParams) - - buildJob(KIE_JPMML_INTEGRATION_DEPLOY, buildParams) - } - } - post { - failure { - addFailedStage(KIE_JPMML_INTEGRATION_DEPLOY) - } - } - } + // stage('Build & Deploy KIE jpmml integration') { + // steps { + // script { + // def buildParams = getDefaultBuildParams() + // addSkipTestsParam(buildParams) + // addSkipIntegrationTestsParam(buildParams) + + // buildJob(KIE_JPMML_INTEGRATION_DEPLOY, buildParams) + // } + // } + // post { + // failure { + // addFailedStage(KIE_JPMML_INTEGRATION_DEPLOY) + // } + // } + // } } post { unsuccessful { diff --git a/.ci/jenkins/project/Jenkinsfile.post-release b/.ci/jenkins/project/Jenkinsfile.post-release index 6784c4f1cb9..a23c2cff2e3 100644 --- a/.ci/jenkins/project/Jenkinsfile.post-release +++ b/.ci/jenkins/project/Jenkinsfile.post-release @@ -7,12 +7,10 @@ import org.kie.jenkins.MavenCommand pipeline { agent { - label 'kie-rhel8 && !built-in' - } - - tools { - maven env.BUILD_MAVEN_TOOL - jdk env.BUILD_JDK_TOOL + docker { + image env.AGENT_DOCKER_BUILDER_IMAGE + args env.AGENT_DOCKER_BUILDER_ARGS + } } options { @@ -21,13 +19,7 @@ pipeline { disableConcurrentBuilds(abortPrevious: true) } - // parameters { - // For parameters, check into .jenkins/dsl/jobs.groovy file - // } - environment { - // Some generated env is also defined into .jenkins/dsl/jobs.groovy file - DROOLS_CI_EMAIL_TO = credentials("${JENKINS_EMAIL_CREDS_ID}") PR_BRANCH_HASH = "${util.generateHash(10)}" @@ -44,7 +36,7 @@ pipeline { stage('Update drools version in drools-website') { steps { script { - String droolsWebsiteRepository = 'drools-website' + String droolsWebsiteRepository = 'incubator-kie-drools-website' String prLink = null String prBranchName = "${getProjectVersion().toLowerCase()}-${env.PR_BRANCH_HASH}" dir(droolsWebsiteRepository) { diff --git a/.ci/jenkins/project/Jenkinsfile.release b/.ci/jenkins/project/Jenkinsfile.release index cfe37188696..65943d551aa 100644 --- a/.ci/jenkins/project/Jenkinsfile.release +++ b/.ci/jenkins/project/Jenkinsfile.release @@ -3,7 +3,7 @@ import org.jenkinsci.plugins.workflow.libs.Library @Library('jenkins-pipeline-shared-libraries')_ droolsRepo = 'drools' -kieJpmmlIntegrationRepo = 'kie-jpmml-integration' +// kieJpmmlIntegrationRepo = 'kie-jpmml-integration' // Commented as not migrated for now ARTIFACTS_STAGING_STAGE = 'stage.artifacts.staging' ARTIFACTS_RELEASE_STAGE = 'stage.artifacts.release' @@ -18,16 +18,10 @@ releaseProperties = [:] pipeline { agent { - label 'kie-rhel8 && !built-in' + label 'ubuntu' } - // parameters { - // For parameters, check into ./dsl/jobs.groovy file - // } - environment { - // Some generated env is also defined into ./dsl/jobs.groovy file - DROOLS_CI_EMAIL = credentials("${JENKINS_EMAIL_CREDS_ID}") } @@ -48,8 +42,8 @@ pipeline { sendNotification("Release Pipeline has started...\nDrools version = ${getDroolsVersion()}\n=> ${env.BUILD_URL}") // Safety measure to not publish to main JBoss - if (getGitAuthor() != 'kiegroup' && !getArtifactsRepositoryParam()) { - sendNotification("Git Author is different from `kiegroup` and no `ARTIFACTS_REPOSITORY` parameter has been provided. Are you sure you want to continue ? => ${env.BUILD_URL}input") + if (getGitAuthor() != 'apache' && !getArtifactsRepositoryParam()) { + sendNotification("Git Author is different from `apache` and no `ARTIFACTS_REPOSITORY` parameter has been provided. Are you sure you want to continue ? => ${env.BUILD_URL}input") input message: 'Should the pipeline continue with no `ARTIFACTS_REPOSITORY` defined ?', ok: 'Yes' } } diff --git a/.ci/jenkins/project/Jenkinsfile.setup-branch b/.ci/jenkins/project/Jenkinsfile.setup-branch index 8a2cd653d73..0aa94e67220 100644 --- a/.ci/jenkins/project/Jenkinsfile.setup-branch +++ b/.ci/jenkins/project/Jenkinsfile.setup-branch @@ -10,23 +10,16 @@ JOBS = [:] FAILED_STAGES = [:] UNSTABLE_STAGES = [:] -// Should be multibranch pipeline pipeline { agent { - label 'kie-rhel8 && !built-in' + label 'ubuntu' } options { timeout(time: 360, unit: 'MINUTES') } - // parameters { - // For parameters, check into ./dsl/jobs.groovy file - // } - environment { - // Some generated env is also defined into ./dsl/jobs.groovy file - DROOLS_CI_EMAIL = credentials("${JENKINS_EMAIL_CREDS_ID}") // Use branch name in nightly tag as we may have parallel main and release branch builds @@ -62,20 +55,21 @@ pipeline { } } - stage('Init KIE jpmml integration') { - steps { - script { - def buildParams = getDefaultBuildParams() - addDroolsVersionParam(buildParams) - buildJob('kie-jpmml-integration', buildParams) - } - } - post { - failure { - addFailedStage('kie-jpmml-integration') - } - } - } + // Commented as not migrated for now + // stage('Init KIE jpmml integration') { + // steps { + // script { + // def buildParams = getDefaultBuildParams() + // addDroolsVersionParam(buildParams) + // buildJob('kie-jpmml-integration', buildParams) + // } + // } + // post { + // failure { + // addFailedStage('kie-jpmml-integration') + // } + // } + // } // Launch the nightly to deploy all artifacts from the branch stage('Launch the nightly') { diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md index 3f474a7caef..d38feb205b6 100644 --- a/.github/pull_request_template.md +++ b/.github/pull_request_template.md @@ -45,8 +45,6 @@ How to retest this PR or trigger a specific build: - a compile downstream build please add comment: Jenkins run cdb -- a full production downstream build please add comment: Jenkins execute product fdb - - an upstream build please add comment: Jenkins run upstream - for quarkus branch checks diff --git a/.github/workflows/pr-downstream-full.yml b/.github/workflows/pr-downstream-full.yml index 3fb5cb4ffbc..95227651c28 100644 --- a/.github/workflows/pr-downstream-full.yml +++ b/.github/workflows/pr-downstream-full.yml @@ -44,7 +44,7 @@ jobs: - name: Build Chain uses: kiegroup/kie-ci/.ci/actions/build-chain@main with: - definition-file: https://raw.githubusercontent.com/${GROUP:kiegroup}/drools/${BRANCH:main}/.ci/buildchain-config.yaml + definition-file: https://raw.githubusercontent.com/${GROUP:apache}/incubator-kie-drools/${BRANCH:main}/.ci/buildchain-config.yaml annotations-prefix: ${{ runner.os }}-${{ matrix.java-version }}/${{ matrix.maven-version }} github-token: "${{ secrets.GITHUB_TOKEN }}" flow-type: full-downstream diff --git a/.github/workflows/pr-downstream.yml b/.github/workflows/pr-downstream.yml index e412502a418..269c8582110 100644 --- a/.github/workflows/pr-downstream.yml +++ b/.github/workflows/pr-downstream.yml @@ -20,27 +20,27 @@ jobs: timeout-minutes: 180 strategy: matrix: - job_name: [ kogito-runtimes, kogito-apps, kogito-quarkus-examples, kogito-springboot-examples, serverless-workflow-examples, kie-jpmml-integration ] + job_name: [ kogito-runtimes, kogito-apps, kogito-quarkus-examples, kogito-springboot-examples, serverless-workflow-examples ] os: [ubuntu-latest] java-version: [11] maven-version: ['3.8.7'] include: - job_name: kogito-runtimes - repository: kogito-runtimes + repository: incubator-kie-kogito-runtimes - job_name: kogito-apps - repository: kogito-apps + repository: incubator-kie-kogito-apps env_BUILD_MVN_OPTS: "-DskipUI" - job_name: kogito-quarkus-examples - repository: kogito-examples + repository: incubator-kie-kogito-examples env_KOGITO_EXAMPLES_SUBFOLDER_POM: kogito-quarkus-examples/ - job_name: kogito-springboot-examples - repository: kogito-examples + repository: incubator-kie-kogito-examples env_KOGITO_EXAMPLES_SUBFOLDER_POM: kogito-springboot-examples/ - job_name: serverless-workflow-examples - repository: kogito-examples + repository: incubator-kie-kogito-examples env_KOGITO_EXAMPLES_SUBFOLDER_POM: serverless-workflow-examples/ - - job_name: kie-jpmml-integration - repository: kie-jpmml-integration + # - job_name: kie-jpmml-integration + # repository: kie-jpmml-integration fail-fast: false runs-on: ${{ matrix.os }} name: ${{ matrix.job_name }} (${{ matrix.os }} / Java-${{ matrix.java-version }} / Maven-${{ matrix.maven-version }}) @@ -60,9 +60,9 @@ jobs: - name: Build Chain uses: kiegroup/kie-ci/.ci/actions/build-chain@main with: - definition-file: https://raw.githubusercontent.com/${GROUP:kiegroup}/drools/${BRANCH:main}/.ci/buildchain-config.yaml + definition-file: https://raw.githubusercontent.com/${GROUP:apache}/incubator-kie-drools/${BRANCH:main}/.ci/buildchain-config.yaml annotations-prefix: ${{ runner.os }}-${{ matrix.java-version }}/${{ matrix.maven-version }} - starting-project: kiegroup/${{ matrix.repository }} + starting-project: apache/${{ matrix.repository }} github-token: "${{ secrets.GITHUB_TOKEN }}" env: BUILD_MVN_OPTS: ${{ matrix.env_BUILD_MVN_OPTS }} diff --git a/.github/workflows/pr-drools.yml b/.github/workflows/pr-drools.yml index f7bf51a9fa8..ea66d468a89 100644 --- a/.github/workflows/pr-drools.yml +++ b/.github/workflows/pr-drools.yml @@ -44,7 +44,7 @@ jobs: env: BUILD_MVN_OPTS_CURRENT: -Dfull with: - definition-file: https://raw.githubusercontent.com/${GROUP:kiegroup}/drools/${BRANCH:main}/.ci/buildchain-config.yaml + definition-file: https://raw.githubusercontent.com/${GROUP:apache}/incubator-kie-drools/${BRANCH:main}/.ci/buildchain-config.yaml annotations-prefix: ${{ runner.os }}-${{ matrix.java-version }}/${{ matrix.maven-version }} github-token: "${{ secrets.GITHUB_TOKEN }}" - name: Surefire Report diff --git a/.github/workflows/pr-jenkins.yml b/.github/workflows/pr-jenkins.yml index a66f0acb88f..3f8bee26ff1 100644 --- a/.github/workflows/pr-jenkins.yml +++ b/.github/workflows/pr-jenkins.yml @@ -18,7 +18,7 @@ jobs: - name: DSL tests uses: kiegroup/kie-ci/.ci/actions/dsl-tests@main with: - project: drools - main-config-file-repo: kiegroup/drools + project: incubator-kie-drools + main-config-file-repo: apache/incubator-kie-drools main-config-file-path: .ci/jenkins/config/main.yaml - branch-config-file-repo: kiegroup/drools + branch-config-file-repo: apache/incubator-kie-drools diff --git a/.github/workflows/pr-optaplanner.yml b/.github/workflows/pr-optaplanner.yml deleted file mode 100644 index 64033a0219d..00000000000 --- a/.github/workflows/pr-optaplanner.yml +++ /dev/null @@ -1,61 +0,0 @@ -# Tests RHBOP productized profile builds on PRs -name: Optaplanner Downstream - -on: - pull_request: - types: [opened, synchronize, reopened, labeled] - branches: - - main - - 8.* - paths-ignore: - - 'LICENSE*' - - '.gitignore' - - '**.md' - - '**.adoc' - - '*.txt' - - 'docsimg/**' - - '.ci/jenkins/**' - -defaults: - run: - shell: bash - -jobs: - productized-build-chain: - concurrency: - group: rhbop_pull_request-${{ github.event_name }}-${{ github.head_ref }}-${{ matrix.os }}-${{ matrix.java-version }}-${{ matrix.maven-version }} - cancel-in-progress: true - timeout-minutes: 120 - strategy: - matrix: - os: [ubuntu-latest] - java-version: [11] - maven-version: ['3.8.7'] - fail-fast: false - runs-on: ${{ matrix.os }} - name: ${{ matrix.os }} / Java-${{ matrix.java-version }} / Maven-${{ matrix.maven-version }} - steps: - - name: Clean Disk Space - uses: kiegroup/kie-ci/.ci/actions/ubuntu-disk-space@main - - name: Java and Maven Setup - uses: kiegroup/kie-ci/.ci/actions/maven@main - with: - java-version: ${{ matrix.java-version }} - maven-version: ${{ matrix.maven-version }} - cache-key-prefix: ${{ runner.os }}-${{ matrix.java-version }}-maven${{ matrix.maven-version }} - - name: Productized Build Chain - uses: kiegroup/kie-ci/.ci/actions/build-chain@main - env: - # maven-assembly-plugin occasionally fails on heap space when building the ZIP in optaplanner-docs - MAVEN_OPTS: "-Xmx2048m" - with: - definition-file: https://raw.githubusercontent.com/${GROUP:kiegroup}/optaplanner/${BRANCH:main}/.ci/pull-request-config-rhbop.yaml - annotations-prefix: ${{ runner.os }}-${{ matrix.java-version }}/${{ matrix.maven-version }} - github-token: "${{ secrets.GITHUB_TOKEN }}" - starting-project: kiegroup/optaplanner - - name: Surefire Report - uses: kiegroup/kie-ci/.ci/actions/surefire-report@main - if: ${{ always() }} - with: - report_paths: '**/*-reports/TEST-*.xml' -