Skip to content

Commit 7c77b68

Browse files
PSMDB-1874 (#3691)
* PSMDB-1874 enable concurrent builds, add slack notifications * PSMDB-1874 add multijob for master branch * PSMDB-1874 fix telemetry and ldapauthz suites
1 parent 362fb6e commit 7c77b68

File tree

3 files changed

+87
-4
lines changed

3 files changed

+87
-4
lines changed
Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
library changelog: false, identifier: "lib@master", retriever: modernSCM([
2+
$class: 'GitSCMSource',
3+
remote: 'https://github.com/Percona-Lab/jenkins-pipelines.git'
4+
])
5+
6+
pipeline {
7+
agent {
8+
label 'launcher-x64'
9+
}
10+
environment {
11+
PATH = '/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/home/ec2-user/.local/bin'
12+
}
13+
parameters {
14+
string(name: 'PSMDB_BRANCH', defaultValue: 'master', description: 'PSMDB branch')
15+
string(name: 'PSMDB_VERSION', defaultValue: '8.2.0', description: 'PSMDB version')
16+
}
17+
options {
18+
disableConcurrentBuilds()
19+
}
20+
stages {
21+
stage ('Run regression tests on ubuntu 24.04') {
22+
steps {
23+
script {
24+
build job: 'hetzner-psmdb-regression', propagate: false, wait: false, parameters: [
25+
string(name: 'branch', value: params.PSMDB_BRANCH),
26+
string(name: 'version', value: params.PSMDB_VERSION),
27+
string(name: 'tag', value: params.PSMDB_BRANCH),
28+
string(name: 'parallelexecutors', value: '2'),
29+
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')
30+
]
31+
}
32+
}
33+
}
34+
stage ('Run regression tests on oraclelinux9') {
35+
steps {
36+
script {
37+
def tag = params.PSMDB_BRANCH + '-ol9'
38+
build job: 'hetzner-psmdb-regression', propagate: true, wait: true, parameters: [
39+
string(name: 'branch', value: params.PSMDB_BRANCH),
40+
string(name: 'version', value: params.PSMDB_VERSION),
41+
string(name: 'tag', value: tag),
42+
string(name: 'testsuites', value: 'core'),
43+
booleanParam(name: 'unittests', value: false),
44+
string(name: 'OS', value: 'oraclelinux:9')
45+
]
46+
}
47+
}
48+
}
49+
stage ('Run PBM tests') {
50+
steps {
51+
script {
52+
def image = 'public.ecr.aws/e7j3v3n0/psmdb-build:' + params.PSMDB_BRANCH + '-ol9'
53+
build job: 'hetzner-pbm-functional-tests', propagate: false, wait: false, parameters: [ string(name: 'PSMDB', value: image) ]
54+
}
55+
}
56+
}
57+
}
58+
}
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
- job:
2+
name: hetzner-psmdb-multijob-regression
3+
project-type: pipeline
4+
description: |
5+
Do not edit this job through the web!
6+
pipeline-scm:
7+
scm:
8+
- git:
9+
url: https://github.com/Percona-Lab/jenkins-pipelines.git
10+
branches:
11+
- 'hetzner'
12+
wipe-workspace: false
13+
lightweight-checkout: true
14+
script-path: psmdb/psmdb-multijob-regression.groovy

psmdb/psmdb-regression.groovy

Lines changed: 15 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -27,12 +27,11 @@ pipeline {
2727
booleanParam(name: 'unittests',defaultValue: true, description: 'Check if list of suites contains unittests')
2828
booleanParam(name: 'integrationtests',defaultValue: false, description: 'Check if list of suites contains integration tests')
2929
booleanParam(name: 'benchmarktests',defaultValue: false, description: 'Check if list of suites contains benchmark tests')
30-
string(name: 'OS', defaultValue: 'debian:12', description: 'Base OS, can be changed to build the image for PBM tests')
30+
string(name: 'OS', defaultValue: 'ubuntu:24.04', description: 'Base OS, can be changed to build the image for PBM tests')
3131
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')
3232
}
3333
options {
3434
withCredentials(moleculePbmJenkinsCreds())
35-
disableConcurrentBuilds()
3635
}
3736
stages {
3837
stage('Set build name'){
@@ -87,6 +86,12 @@ pipeline {
8786
}
8887
}
8988
post {
89+
success {
90+
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}")
91+
}
92+
failure {
93+
slackNotify("#mongodb_autofeed", "#FF0000", "[${JOB_NAME}]: PSMDB compilation for branch ${params.branch} on OS ${params.OS} failed - [${BUILD_URL}]")
94+
}
9095
always {
9196
sh 'sudo rm -rf ./*'
9297
}
@@ -455,11 +460,17 @@ pipeline {
455460
}
456461
}
457462
post {
458-
always {
463+
success {
464+
slackNotify("#mongodb_autofeed", "#00FF00", "[${JOB_NAME}]: Test resuts for branch ${params.branch} on OS ${params.OS} - [${BUILD_URL}testReport/(root)/]")
465+
}
466+
unstable {
467+
slackNotify("#mongodb_autofeed", "#F6F930", "[${JOB_NAME}]: Test resuts for branch ${params.branch} on OS ${params.OS} - [${BUILD_URL}testReport/(root)/]")
468+
}
469+
always {
459470
sh '''
460471
sudo rm -rf ./*
461472
'''
462473
deleteDir()
463-
}
474+
}
464475
}
465476
}

0 commit comments

Comments
 (0)