Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
22 changes: 22 additions & 0 deletions .editorconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
# http://editorconfig.org
root = true

[*]
indent_style = space
indent_size = 2
end_of_line = lf
charset = utf-8
trim_trailing_whitespace = true
insert_final_newline = true

[*.md]
trim_trailing_whitespace = false

[*.{json,yml,yaml}]
indent_size = 2

[*.{js,ts}]
indent_size = 2

[*.java]
indent_size = 4
228 changes: 114 additions & 114 deletions Jenkinsfile
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
@Library('shared-libraries') _

def runTests() {
sh label: 'deploy-test-app-and-run-tests', script: '''
sh label: 'deploy-test-app-and-run-tests', script: '''
export JAVA_HOME=$JAVA_HOME_DIR
export GRADLE_USER_HOME=$WORKSPACE/$GRADLE_DIR
export PATH=$JAVA_HOME/bin:$GRADLE_USER_HOME:${NODE_HOME_DIR}/bin:$PATH
Expand All @@ -23,8 +23,8 @@ def runTests() {
}

def runDockerCompose(String markLogicDockerImage) {
cleanupDocker()
sh label: 'run-docker-compose', script: '''#!/bin/bash
cleanupDocker()
sh label: 'run-docker-compose', script: '''#!/bin/bash
echo "Removing any running MarkLogic server and clean up MarkLogic data directory"
sudo /usr/local/sbin/mladmin remove
docker-compose down -v || true
Expand All @@ -38,16 +38,16 @@ def runDockerCompose(String markLogicDockerImage) {
}

def teardownAfterTests() {
updateWorkspacePermissions()
sh label: 'teardown-docker', script: '''#!/bin/bash
updateWorkspacePermissions()
sh label: 'teardown-docker', script: '''#!/bin/bash
cd node-client-api
docker-compose down -v || true
'''
cleanupDocker()
cleanupDocker()
}

def runAuditReport() {
sh label: 'run-audit-report', script: '''
sh label: 'run-audit-report', script: '''
export PATH=${NODE_HOME_DIR}/bin:$PATH
cd node-client-api
npm ci
Expand All @@ -57,7 +57,7 @@ def runAuditReport() {
}

def runE2ETests() {
sh label: 'run-e2e-tests', script: '''
sh label: 'run-e2e-tests', script: '''
export PATH=${NODE_HOME_DIR}/bin:$PATH
cd node-client-api
node --version
Expand Down Expand Up @@ -91,113 +91,113 @@ def runE2ETests() {
../node_modules/.bin/mocha -R xunit --timeout 60000 -R xunit "nodejs-ds-transactions.js" --reporter mocha-junit-reporter --reporter-options mochaFile=$WORKSPACE/ds-transactions-results.js.xml || true
../node_modules/.bin/mocha -R xunit --timeout 60000 -R xunit "nodejs-ds-dynamic.js" --reporter mocha-junit-reporter --reporter-options mochaFile=$WORKSPACE/ds-dynamic-results.xml || true
'''
junit '**/*.xml'
junit '**/*.xml'
}

pipeline {
agent none

triggers {
parameterizedCron(env.BRANCH_NAME == "develop" ? "00 02 * * * % regressions=true" : "")
}

parameters {
booleanParam(name: 'regressions', defaultValue: false, description: 'indicator if build is for regressions')
}

options {
checkoutToSubdirectory 'node-client-api'
buildDiscarder logRotator(artifactDaysToKeepStr: '7', artifactNumToKeepStr: '', daysToKeepStr: '7', numToKeepStr: '10')
}

environment {
NODE_HOME_DIR = "/users/ml/builder/nodeJs/node-v22.20.0-linux-x64"
DMC_USER = credentials('MLBUILD_USER')
DMC_PASSWORD = credentials('MLBUILD_PASSWORD')
GRADLE_DIR = ".gradle"
JAVA_HOME_DIR = "/home/builder/java/jdk-17.0.2"
}

stages {

stage('pull-request-tests') {
agent { label 'nodeclientpool' }
steps {
runAuditReport()
runDockerCompose('ml-docker-db-dev-tierpoint.bed-artifactory.bedford.progress.com/marklogic/marklogic-server-ubi:latest-12')
runTests()
runE2ETests()
}
post {
always {
teardownAfterTests()
}
}
}

stage('regressions') {
parallel {

stage('runtests-11-nightly') {
when {
allOf {
branch 'develop'
expression { return params.regressions }
}
}
agent { label 'nodeclientpool' }
steps {
runDockerCompose('ml-docker-db-dev-tierpoint.bed-artifactory.bedford.progress.com/marklogic/marklogic-server-ubi:latest-11')
runTests()
runE2ETests()
}
post {
always {
teardownAfterTests()
}
}
}

stage('runtests-12-nightly') {
when {
allOf {
branch 'develop'
expression { return params.regressions }
}
}
agent { label 'nodeclientpool' }
steps {
runDockerCompose('ml-docker-db-dev-tierpoint.bed-artifactory.bedford.progress.com/marklogic/marklogic-server-ubi:latest-12')
runTests()
runE2ETests()
}
post {
always {
teardownAfterTests()
}
}
}

stage('runtests-10-nightly') {
when {
allOf {
branch 'develop'
expression { return params.regressions }
}
}
agent { label 'nodeclientpool' }
steps {
runDockerCompose('ml-docker-db-dev-tierpoint.bed-artifactory.bedford.progress.com/marklogic/marklogic-server-ubi:latest-10')
runTests()
runE2ETests()
}
post {
always {
teardownAfterTests()
}
}
}
}
}
}
agent none

triggers {
parameterizedCron(env.BRANCH_NAME == "develop" ? "00 02 * * * % regressions=true" : "")
}

parameters {
booleanParam(name: 'regressions', defaultValue: false, description: 'indicator if build is for regressions')
}

options {
checkoutToSubdirectory 'node-client-api'
buildDiscarder logRotator(artifactDaysToKeepStr: '7', artifactNumToKeepStr: '', daysToKeepStr: '7', numToKeepStr: '10')
}

environment {
NODE_HOME_DIR = "/users/ml/builder/nodeJs/node-v22.20.0-linux-x64"
DMC_USER = credentials('MLBUILD_USER')
DMC_PASSWORD = credentials('MLBUILD_PASSWORD')
GRADLE_DIR = ".gradle"
JAVA_HOME_DIR = "/home/builder/java/jdk-17.0.2"
}

stages {

stage('pull-request-tests') {
agent { label 'nodeclientpool' }
steps {
runAuditReport()
runDockerCompose('ml-docker-db-dev-tierpoint.bed-artifactory.bedford.progress.com/marklogic/marklogic-server-ubi:latest-12')
runTests()
runE2ETests()
}
post {
always {
teardownAfterTests()
}
}
}

stage('regressions') {
parallel {

stage('runtests-11-nightly') {
when {
allOf {
branch 'develop'
expression { return params.regressions }
}
}
agent { label 'nodeclientpool' }
steps {
runDockerCompose('ml-docker-db-dev-tierpoint.bed-artifactory.bedford.progress.com/marklogic/marklogic-server-ubi:latest-11')
runTests()
runE2ETests()
}
post {
always {
teardownAfterTests()
}
}
}

stage('runtests-12-nightly') {
when {
allOf {
branch 'develop'
expression { return params.regressions }
}
}
agent { label 'nodeclientpool' }
steps {
runDockerCompose('ml-docker-db-dev-tierpoint.bed-artifactory.bedford.progress.com/marklogic/marklogic-server-ubi:latest-12')
runTests()
runE2ETests()
}
post {
always {
teardownAfterTests()
}
}
}

stage('runtests-10-nightly') {
when {
allOf {
branch 'develop'
expression { return params.regressions }
}
}
agent { label 'nodeclientpool' }
steps {
runDockerCompose('ml-docker-db-dev-tierpoint.bed-artifactory.bedford.progress.com/marklogic/marklogic-server-ubi:latest-10')
runTests()
runE2ETests()
}
post {
always {
teardownAfterTests()
}
}
}
}
}
}
}