Skip to content

Commit 702f32b

Browse files
authored
Merge pull request #329 from marklogic/release/2.1.0
Release Helm 2.1.0
2 parents 4cc6f35 + 18096a9 commit 702f32b

25 files changed

+761
-603
lines changed

Jenkinsfile

Lines changed: 40 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
import groovy.json.JsonSlurperClassic
77

88
emailList = 'vitaly.korolev@progress.com, sumanth.ravipati@progress.com, peng.zhou@progress.com, fayez.saliba@progress.com, barkha.choithani@progress.com, romain.winieski@progress.com'
9-
emailSecList = 'Rangan.Doreswamy@progress.com, Mahalakshmi.Srinivasan@progress.com'
9+
emailSecList = 'Mahalakshmi.Srinivasan@progress.com'
1010
gitCredID = 'marklogic-builder-github'
1111
JIRA_ID = ''
1212
JIRA_ID_PATTERN = /(?i)(MLE)-\d{3,6}/
@@ -39,6 +39,14 @@ void preBuildCheck() {
3939

4040
// our VMs sometime disable bridge traffic. this should help to restore it.
4141
sh 'sudo sh -c "echo 1 > /proc/sys/net/bridge/bridge-nf-call-iptables"'
42+
43+
// install local version of golangci-lint and gotestsum
44+
sh '''
45+
curl -sSfL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh | sh -s -- -b /space/go/bin v1.50.0
46+
wget https://github.com/gotestyourself/gotestsum/releases/download/v1.12.0/gotestsum_1.12.0_linux_amd64.tar.gz -O gotestsum.tar.gz
47+
mkdir -p /space/go/bin/
48+
tar -xf gotestsum.tar.gz -C /space/go/bin/ gotestsum
49+
'''
4250
}
4351

4452
@NonCPS
@@ -95,7 +103,7 @@ def getReviewState() {
95103
return reviewState
96104
}
97105

98-
void resultNotification(message) {
106+
void resultNotification(status) {
99107
def author, authorEmail, emailList
100108
if (env.CHANGE_AUTHOR) {
101109
author = env.CHANGE_AUTHOR.toString().trim().toLowerCase()
@@ -109,11 +117,11 @@ void resultNotification(message) {
109117
jira_email_body = "${email_body} <br><br><b>Jira URL: </b><br><a href='${jira_link}'>${jira_link}</a>"
110118

111119
if (JIRA_ID) {
112-
def comment = [ body: "Jenkins pipeline build result: ${message}" ]
120+
def comment = [ body: "Jenkins pipeline build result: ${status}" ]
113121
jiraAddComment site: 'JIRA', idOrKey: JIRA_ID, failOnError: false, input: comment
114-
mail charset: 'UTF-8', mimeType: 'text/html', to: "${emailList}", body: "${jira_email_body}", subject: "${message}: ${env.JOB_NAME} #${env.BUILD_NUMBER} - ${JIRA_ID}"
122+
mail charset: 'UTF-8', mimeType: 'text/html', to: "${emailList}", body: "${jira_email_body}", subject: "🥷 ${status}: ${env.JOB_NAME} #${env.BUILD_NUMBER} - ${JIRA_ID}"
115123
} else {
116-
mail charset: 'UTF-8', mimeType: 'text/html', to: "${emailList}", body: "${email_body}", subject: "${message}: ${env.JOB_NAME} #${env.BUILD_NUMBER}"
124+
mail charset: 'UTF-8', mimeType: 'text/html', to: "${emailList}", body: "${email_body}", subject: "🥷 ${status}: ${env.JOB_NAME} #${env.BUILD_NUMBER}"
117125
}
118126
}
119127

@@ -139,6 +147,10 @@ void imageScan() {
139147
}
140148

141149
sh '''rm -f dep-image-scan.txt'''
150+
151+
// trigger BlackDuck scan
152+
def imageList = readFile(file: 'helm_image.list').trim()
153+
build job: 'securityscans/Blackduck/KubeNinjas/kubernetes-helm', wait: false, parameters: [ string(name: 'branch', value: "${env.BRANCH_NAME}"), string(name: 'CONTAINER_IMAGES', value: "${imageList}") ]
142154
}
143155

144156
void publishTestResults() {
@@ -158,18 +170,23 @@ pipeline {
158170
skipStagesAfterUnstable()
159171
}
160172
triggers {
161-
parameterizedCron( env.BRANCH_NAME == 'develop' ? '''00 04 * * * % IMAGE_SCAN=true;HELM_UPGRADE_TESTS=true;HC_TESTS=true''' : '')
173+
parameterizedCron( env.BRANCH_NAME == 'develop' ? '''00 04 * * * % IMAGE_SCAN=true;HELM_UPGRADE_TESTS=true;HC_TESTS=true
174+
00 04 * * * % dockerImageType=ubi''' : '')
162175
}
163176
environment {
164177
dockerRegistry = 'ml-docker-db-dev-tierpoint.bed-artifactory.bedford.progress.com'
165178
dockerRepository = "${dockerRegistry}/marklogic/marklogic-server-${params.dockerImageType}"
179+
PATH = "/space/go/bin:${env.PATH}"
180+
MINIKUBE_HOME = "/space/minikube/"
181+
KUBECONFIG = "/space/.kube-config"
182+
GOPATH = "/space/go"
166183
}
167184

168185
parameters {
169-
choice(name: 'dockerImageType', choices: 'ubi-rootless\nubi\ncentos', description: 'Platform type for Docker image')
186+
choice(name: 'dockerImageType', choices: 'ubi-rootless\nubi\nubi9-rootless\nubi9', description: 'Platform type for Docker image')
170187
string(name: 'dockerVersion', defaultValue: 'latest-11', description: 'Docker tag to use for tests. (e.g. 11.2.nightly-ubi-rootless-1.1.2) Has to correspond with dockerImageType.', trim: true)
171188
string(name: 'prevDockerVersion', defaultValue: 'latest-10', description: 'Previous Docker version for MarkLogic upgrade tests. (e.g. 10.0-10.2-centos-1.1.2) Has to correspond with dockerImageType.', trim: true)
172-
choice(name: 'K8_VERSION', choices: 'v1.28.10\nv1.29.5\nv1.27.14\nv1.26.15\nv1.25.16\nv1.24.17', description: 'Test Kubernetes version.')
189+
choice(name: 'K8_VERSION', choices: 'v1.31.7\nv1.32.3\nv1.30.11\nv1.29.15\nv1.28.15\nv1.27.16\nv1.26.15\nv1.25.16', description: 'Test Kubernetes version.')
173190
booleanParam(name: 'KUBERNETES_TESTS', defaultValue: true, description: 'Run kubernetes tests')
174191
string(name: 'KUBERNETES_TEST_SELECTION', defaultValue: '...', description: 'Pick one test to run. (e.g. tls_test.go) ... will run all tests.', trim: true)
175192
booleanParam(name: 'HC_TESTS', defaultValue: false, description: 'Run Hub Central E2E UI tests (takes about 3 hours)')
@@ -207,7 +224,7 @@ pipeline {
207224
}
208225
steps {
209226
sh """
210-
export MINIKUBE_HOME=/space; export KUBECONFIG=/space/.kube-config; export GOPATH=/space/go; make test dockerImage=${dockerRepository}:${dockerVersion} prevDockerImage=${dockerRepository}:${prevDockerVersion} kubernetesVersion=${params.K8_VERSION} saveOutput=true minikubeMemory=20gb testSelection=${params.KUBERNETES_TEST_SELECTION}
227+
make test dockerImage=${dockerRepository}:${dockerVersion} prevDockerImage=${dockerRepository}:${prevDockerVersion} kubernetesVersion=${params.K8_VERSION} saveOutput=true minikubeMemory=20gb testSelection=${params.KUBERNETES_TEST_SELECTION}
211228
"""
212229
}
213230
}
@@ -217,7 +234,7 @@ pipeline {
217234
}
218235
steps {
219236
sh """
220-
export MINIKUBE_HOME=/space; export KUBECONFIG=/space/.kube-config; export GOPATH=/space/go; export upgradeTest=true; export initialChartVersion=${params.InitialChartVersion}; make upgrade-test dockerImage=${dockerRepository}:${dockerVersion} prevDockerImage=${dockerRepository}:${prevDockerVersion} kubernetesVersion=${params.K8_VERSION} saveOutput=true minikubeMemory=20gb
237+
export upgradeTest=true; export initialChartVersion=${params.InitialChartVersion}; make upgrade-test dockerImage=${dockerRepository}:${dockerVersion} prevDockerImage=${dockerRepository}:${prevDockerVersion} kubernetesVersion=${params.K8_VERSION} saveOutput=true minikubeMemory=20gb
221238
"""
222239
}
223240
}
@@ -227,7 +244,7 @@ pipeline {
227244
}
228245
steps {
229246
sh """
230-
export MINIKUBE_HOME=/space; export KUBECONFIG=/space/.kube-config; export GOPATH=/space/go; make hc-test dockerImage=${dockerRepository}:${dockerVersion} kubernetesVersion=${params.K8_VERSION} minikubeMemory=20gb
247+
make hc-test dockerImage=${dockerRepository}:${dockerVersion} kubernetesVersion=${params.K8_VERSION} minikubeMemory=20gb
231248
"""
232249
}
233250
}
@@ -238,23 +255,26 @@ pipeline {
238255
publishTestResults()
239256
sh '''
240257
sudo sysctl -w vm.nr_hugepages=0
241-
export MINIKUBE_HOME=/space; export KUBECONFIG=/space/.kube-config; export GOPATH=/space/go; minikube delete --all --purge
242-
docker rm -f $(docker ps -a -q) || true
243-
docker system prune --force --filter "until=720h"
244-
docker volume prune --force
245-
docker image prune --force --all
246-
sudo rm -rf /space/.minikube /space/go /space/.kube-config
258+
minikube delete --all --purge
259+
docker stop $(docker ps -a -q) || true
260+
docker system prune --force --all
261+
docker volume prune --force --all
262+
docker system df
263+
sudo rm -rf /space/minikube/ /space/go /space/.kube-config
247264
'''
248265
sh "rm -rf $WORKSPACE/test/test_results/"
249266
}
250267
success {
251-
resultNotification('BUILD SUCCESS ✅')
268+
resultNotification('✅ Success')
252269
}
253270
failure {
254-
resultNotification('BUILD ERROR ❌')
271+
resultNotification('❌ Failure')
255272
}
256273
unstable {
257-
resultNotification('BUILD UNSTABLE ❌')
274+
resultNotification('⚠️ Unstable')
275+
}
276+
aborted {
277+
resultNotification('🚫 Aborted')
258278
}
259279
}
260280
}

LICENSE.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
Copyright © 2022 MarkLogic Corporation.
1+
Copyright © 2022-2025 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.
22

33
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
44

0 commit comments

Comments
 (0)