From c8dceb90ab3fffccb0c1825b4f93ce9e19faa7d3 Mon Sep 17 00:00:00 2001 From: Oleksandr Havryliak Date: Fri, 28 Nov 2025 12:10:00 +0200 Subject: [PATCH 1/3] PSMDB-1874 enable concurrent builds, add slack notifications --- psmdb/psmdb-regression.groovy | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/psmdb/psmdb-regression.groovy b/psmdb/psmdb-regression.groovy index c487c350f8..8e48def7e0 100644 --- a/psmdb/psmdb-regression.groovy +++ b/psmdb/psmdb-regression.groovy @@ -27,12 +27,11 @@ pipeline { booleanParam(name: 'unittests',defaultValue: true, description: 'Check if list of suites contains unittests') booleanParam(name: 'integrationtests',defaultValue: false, description: 'Check if list of suites contains integration tests') booleanParam(name: 'benchmarktests',defaultValue: false, description: 'Check if list of suites contains benchmark tests') - string(name: 'OS', defaultValue: 'debian:12', description: 'Base OS, can be changed to build the image for PBM tests') + string(name: 'OS', defaultValue: 'ubuntu:24.04', description: 'Base OS, can be changed to build the image for PBM tests') string(name: 'resmoke_params', defaultValue: '--excludeWithAnyTags=featureFlagColumnstoreIndexes,featureFlagUpdateOneWithoutShardKey,featureFlagGlobalIndexesShardingCatalog,featureFlagGlobalIndexes,featureFlagTelemetry,featureFlagAuditConfigClusterParameter,serverless,does_not_support_config_fuzzer,featureFlagDeprioritizeLowPriorityOperations,featureFlagSbeFull,featureFlagQueryStats,featureFlagTransitionToCatalogShard,requires_latch_analyzer', description: 'Extra params passed to resmoke.py') } options { withCredentials(moleculePbmJenkinsCreds()) - disableConcurrentBuilds() } stages { stage('Set build name'){ @@ -87,6 +86,12 @@ pipeline { } } post { + success { + slackNotify("#mongodb_autofeed", "#00FF00", "[${JOB_NAME}]: PSMDB compilation for branch ${params.branch} on OS ${params.OS} finished succesfully, docker image: public.ecr.aws/e7j3v3n0/psmdb-build:${params.tag}") + } + failure { + slackNotify("#mongodb_autofeed", "#FF0000", "[${JOB_NAME}]: PSMDB compilation for branch ${params.branch} on OS ${params.OS} failed - [${BUILD_URL}]") + } always { sh 'sudo rm -rf ./*' } @@ -455,11 +460,17 @@ pipeline { } } post { - always { + success { + slackNotify("#mongodb_autofeed", "#00FF00", "[${JOB_NAME}]: Test resuts for branch ${params.branch} on OS ${params.OS} - [${BUILD_URL}testReport/(root)/]") + } + unstable { + slackNotify("#mongodb_autofeed", "#F6F930", "[${JOB_NAME}]: Test resuts for branch ${params.branch} on OS ${params.OS} - [${BUILD_URL}testReport/(root)/]") + } + always { sh ''' sudo rm -rf ./* ''' deleteDir() - } + } } } From b7c608510b5b98e7912480add681c37c71230954 Mon Sep 17 00:00:00 2001 From: Oleksandr Havryliak Date: Tue, 2 Dec 2025 10:24:52 +0200 Subject: [PATCH 2/3] PSMDB-1874 add multijob for master branch --- psmdb/psmdb-multijob-regression.groovy | 58 ++++++++++++++++++++++++++ psmdb/psmdb-multijob-regression.yml | 14 +++++++ 2 files changed, 72 insertions(+) create mode 100644 psmdb/psmdb-multijob-regression.groovy create mode 100644 psmdb/psmdb-multijob-regression.yml diff --git a/psmdb/psmdb-multijob-regression.groovy b/psmdb/psmdb-multijob-regression.groovy new file mode 100644 index 0000000000..8ed3373edb --- /dev/null +++ b/psmdb/psmdb-multijob-regression.groovy @@ -0,0 +1,58 @@ +library changelog: false, identifier: "lib@master", retriever: modernSCM([ + $class: 'GitSCMSource', + remote: 'https://github.com/Percona-Lab/jenkins-pipelines.git' +]) + +pipeline { + agent { + label 'launcher-x64' + } + environment { + PATH = '/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/home/ec2-user/.local/bin' + } + parameters { + string(name: 'PSMDB_BRANCH', defaultValue: 'master', description: 'PSMDB branch') + string(name: 'PSMDB_VERSION', defaultValue: '8.2.0', description: 'PSMDB version') + } + options { + disableConcurrentBuilds() + } + stages { + stage ('Run regression tests on ubuntu 24.04') { + steps { + script { + build job: 'hetzner-psmdb-regression', propagate: false, wait: false, parameters: [ + string(name: 'branch', value: params.PSMDB_BRANCH), + string(name: 'version', value: params.PSMDB_VERSION), + string(name: 'tag', value: params.PSMDB_BRANCH), + string(name: 'parallelexecutors', value: '2'), + string(name: 'testsuites', value: 'core,unittests,dbtest,audit,oidc,telemetry,ldapauthz,replica_sets_fcbis_jscore_passthrough') + ] + } + } + } + stage ('Run regression tests on oraclelinux9') { + steps { + script { + def tag = params.PSMDB_BRANCH + '-ol9' + build job: 'hetzner-psmdb-regression', propagate: true, wait: true, parameters: [ + string(name: 'branch', value: params.PSMDB_BRANCH), + string(name: 'version', value: params.PSMDB_VERSION), + string(name: 'tag', value: tag), + string(name: 'testsuites', value: 'core'), + booleanParam(name: 'unittests', value: false), + string(name: 'OS', value: 'oraclelinux:9') + ] + } + } + } + stage ('Run PBM tests') { + steps { + script { + def image = 'public.ecr.aws/e7j3v3n0/psmdb-build:' + params.PSMDB_BRANCH + '-ol9' + build job: 'hetzner-pbm-functional-tests', propagate: false, wait: false, parameters: [ string(name: 'PSMDB', value: image) ] + } + } + } + } +} diff --git a/psmdb/psmdb-multijob-regression.yml b/psmdb/psmdb-multijob-regression.yml new file mode 100644 index 0000000000..a6571eb49e --- /dev/null +++ b/psmdb/psmdb-multijob-regression.yml @@ -0,0 +1,14 @@ +- job: + name: hetzner-psmdb-multijob-regression + project-type: pipeline + description: | + Do not edit this job through the web! + pipeline-scm: + scm: + - git: + url: https://github.com/Percona-Lab/jenkins-pipelines.git + branches: + - 'hetzner' + wipe-workspace: false + lightweight-checkout: true + script-path: psmdb/psmdb-multijob-regression.groovy From cc1358a942ada1e8d86a580e1621aff726ae6beb Mon Sep 17 00:00:00 2001 From: Oleksandr Havryliak Date: Tue, 2 Dec 2025 14:45:38 +0200 Subject: [PATCH 3/3] PSMDB-1874 fix telemetry and ldapauthz suites --- psmdb/psmdb-multijob-regression.groovy | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/psmdb/psmdb-multijob-regression.groovy b/psmdb/psmdb-multijob-regression.groovy index 8ed3373edb..45f2a6f0d7 100644 --- a/psmdb/psmdb-multijob-regression.groovy +++ b/psmdb/psmdb-multijob-regression.groovy @@ -26,7 +26,7 @@ pipeline { string(name: 'version', value: params.PSMDB_VERSION), string(name: 'tag', value: params.PSMDB_BRANCH), string(name: 'parallelexecutors', value: '2'), - string(name: 'testsuites', value: 'core,unittests,dbtest,audit,oidc,telemetry,ldapauthz,replica_sets_fcbis_jscore_passthrough') + string(name: 'testsuites', value: 'core,unittests,dbtest,audit,oidc,telemetry --jobs=1,ldapauthz||/etc/init.d/slapd start && /etc/init.d/saslauthd start,replica_sets_fcbis_jscore_passthrough') ] } }