<p>George Joseph has uploaded this change for <strong>review</strong>.</p><p><a href="https://gerrit.asterisk.org/9419">View Change</a></p><pre style="font-family: monospace,monospace; white-space: pre-wrap;">CI: Move gates into source repo<br><br>Change-Id: If028ede5f3b127fa274c63ce166bc04ad7c1e5db<br>---<br>M tests/CI/buildAsterisk.sh<br>A tests/CI/gateTestGroups.json<br>A tests/CI/gates.jenkinsfile<br>M tests/CI/runTestsuite.sh<br>4 files changed, 244 insertions(+), 3 deletions(-)<br><br></pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;">git pull ssh://gerrit.asterisk.org:29418/asterisk refs/changes/19/9419/1</pre><pre style="font-family: monospace,monospace; white-space: pre-wrap;"><span>diff --git a/tests/CI/buildAsterisk.sh b/tests/CI/buildAsterisk.sh</span><br><span>index fce81fc..1e424fa 100755</span><br><span>--- a/tests/CI/buildAsterisk.sh</span><br><span>+++ b/tests/CI/buildAsterisk.sh</span><br><span>@@ -38,7 +38,7 @@</span><br><span> common_config_args+=" --enable-dev-mode"</span><br><span> export WGET_EXTRA_ARGS="--quiet"</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-runner ./configure ${common_config_args} CCACHE_DISABLE=1 >tests/CI/output/configure.txt</span><br><span style="color: hsl(120, 100%, 40%);">+runner ./configure ${common_config_args} >tests/CI/output/configure.txt</span><br><span> </span><br><span> runner ${MAKE} menuselect.makeopts</span><br><span> </span><br><span>diff --git a/tests/CI/gateTestGroups.json b/tests/CI/gateTestGroups.json</span><br><span>new file mode 100644</span><br><span>index 0000000..8c0774a</span><br><span>--- /dev/null</span><br><span>+++ b/tests/CI/gateTestGroups.json</span><br><span>@@ -0,0 +1,47 @@</span><br><span style="color: hsl(120, 100%, 40%);">+[</span><br><span style="color: hsl(120, 100%, 40%);">+ {</span><br><span style="color: hsl(120, 100%, 40%);">+ "name": "ari1",</span><br><span style="color: hsl(120, 100%, 40%);">+ "dir": "tests/CI/output/ari1",</span><br><span style="color: hsl(120, 100%, 40%);">+ "testcmd": "--test-regex=tests/rest_api/[Ca-d]"</span><br><span style="color: hsl(120, 100%, 40%);">+ },</span><br><span style="color: hsl(120, 100%, 40%);">+ {</span><br><span style="color: hsl(120, 100%, 40%);">+ "name": "ari2",</span><br><span style="color: hsl(120, 100%, 40%);">+ "dir": "tests/CI/output/ari2",</span><br><span style="color: hsl(120, 100%, 40%);">+ "testcmd": "--test-regex=tests/rest_api/[e-z]"</span><br><span style="color: hsl(120, 100%, 40%);">+ },</span><br><span style="color: hsl(120, 100%, 40%);">+ {</span><br><span style="color: hsl(120, 100%, 40%);">+ "name": "pjsip1",</span><br><span style="color: hsl(120, 100%, 40%);">+ "dir": "tests/CI/output/pjsip1",</span><br><span style="color: hsl(120, 100%, 40%);">+ "testcmd": "--test-regex=tests/channels/pjsip/[a-f]"</span><br><span style="color: hsl(120, 100%, 40%);">+ },</span><br><span style="color: hsl(120, 100%, 40%);">+ {</span><br><span style="color: hsl(120, 100%, 40%);">+ "name": "pjsip2",</span><br><span style="color: hsl(120, 100%, 40%);">+ "dir": "tests/CI/output/pjsip2",</span><br><span style="color: hsl(120, 100%, 40%);">+ "testcmd": "--test-regex=tests/channels/pjsip/[g-r]"</span><br><span style="color: hsl(120, 100%, 40%);">+ },</span><br><span style="color: hsl(120, 100%, 40%);">+ {</span><br><span style="color: hsl(120, 100%, 40%);">+ "name": "pjsip3",</span><br><span style="color: hsl(120, 100%, 40%);">+ "dir": "tests/CI/output/pjsip3",</span><br><span style="color: hsl(120, 100%, 40%);">+ "testcmd": "--test-regex=tests/channels/pjsip/[s-z]"</span><br><span style="color: hsl(120, 100%, 40%);">+ },</span><br><span style="color: hsl(120, 100%, 40%);">+ {</span><br><span style="color: hsl(120, 100%, 40%);">+ "name": "sip1",</span><br><span style="color: hsl(120, 100%, 40%);">+ "dir": "tests/CI/output/sip1",</span><br><span style="color: hsl(120, 100%, 40%);">+ "testcmd": "--test-regex=tests/channels/SIP/[Sa-r]"</span><br><span style="color: hsl(120, 100%, 40%);">+ },</span><br><span style="color: hsl(120, 100%, 40%);">+ {</span><br><span style="color: hsl(120, 100%, 40%);">+ "name": "sip2",</span><br><span style="color: hsl(120, 100%, 40%);">+ "dir": "tests/CI/output/sip2",</span><br><span style="color: hsl(120, 100%, 40%);">+ "testcmd": "--test-regex=tests/channels/SIP/[s-z]"</span><br><span style="color: hsl(120, 100%, 40%);">+ },</span><br><span style="color: hsl(120, 100%, 40%);">+ {</span><br><span style="color: hsl(120, 100%, 40%);">+ "name": "iax2_local",</span><br><span style="color: hsl(120, 100%, 40%);">+ "dir": "tests/CI/output/iax2_local",</span><br><span style="color: hsl(120, 100%, 40%);">+ "testcmd": " -t tests/channels/iax2 -t tests/channels/local"</span><br><span style="color: hsl(120, 100%, 40%);">+ },</span><br><span style="color: hsl(120, 100%, 40%);">+ {</span><br><span style="color: hsl(120, 100%, 40%);">+ "name": "extmwi",</span><br><span style="color: hsl(120, 100%, 40%);">+ "dir": "tests/CI/output/extmwi",</span><br><span style="color: hsl(120, 100%, 40%);">+ "testcmd": "--test-regex=tests/channels/pjsip/.*mwi"</span><br><span style="color: hsl(120, 100%, 40%);">+ }</span><br><span style="color: hsl(120, 100%, 40%);">+]</span><br><span>diff --git a/tests/CI/gates.jenkinsfile b/tests/CI/gates.jenkinsfile</span><br><span>new file mode 100644</span><br><span>index 0000000..768cf8b</span><br><span>--- /dev/null</span><br><span>+++ b/tests/CI/gates.jenkinsfile</span><br><span>@@ -0,0 +1,196 @@</span><br><span style="color: hsl(120, 100%, 40%);">+/*</span><br><span style="color: hsl(120, 100%, 40%);">+ * This pipeline is the "template" for the Asterisk Gate Tests multi-branch</span><br><span style="color: hsl(120, 100%, 40%);">+ * parent job. Jenkins will automatically scan the branches in the "asterisk"</span><br><span style="color: hsl(120, 100%, 40%);">+ * or "Security-asterisk" projects in Gerrit and automatically create a branch-</span><br><span style="color: hsl(120, 100%, 40%);">+ * specific job for each branch it finds this file in.</span><br><span style="color: hsl(120, 100%, 40%);">+ *</span><br><span style="color: hsl(120, 100%, 40%);">+ * This file starts as a declarative pipeline because with a declarative</span><br><span style="color: hsl(120, 100%, 40%);">+ * pipeline, you can define the trigger in the pipeline file. This keeps</span><br><span style="color: hsl(120, 100%, 40%);">+ * everything in one place. We transition to scripted pipeline later on because</span><br><span style="color: hsl(120, 100%, 40%);">+ * we need to dynamically determine which docker image we're going to use and</span><br><span style="color: hsl(120, 100%, 40%);">+ * you can't do that in a delcarative pipeline.</span><br><span style="color: hsl(120, 100%, 40%);">+ */</span><br><span style="color: hsl(120, 100%, 40%);">+pipeline {</span><br><span style="color: hsl(120, 100%, 40%);">+ triggers {</span><br><span style="color: hsl(120, 100%, 40%);">+ /*</span><br><span style="color: hsl(120, 100%, 40%);">+ * This trigger will match either the "asterisk" or "Security-asterisk"</span><br><span style="color: hsl(120, 100%, 40%);">+ * projects. The branch is taken from the branch this job was created</span><br><span style="color: hsl(120, 100%, 40%);">+ * for.</span><br><span style="color: hsl(120, 100%, 40%);">+ */</span><br><span style="color: hsl(120, 100%, 40%);">+ gerrit customUrl: '',</span><br><span style="color: hsl(120, 100%, 40%);">+ commentTextParameterMode: 'PLAIN',</span><br><span style="color: hsl(120, 100%, 40%);">+ commitMessageParameterMode: 'PLAIN',</span><br><span style="color: hsl(120, 100%, 40%);">+ gerritBuildSuccessfulVerifiedValue: 2,</span><br><span style="color: hsl(120, 100%, 40%);">+ gerritBuildFailedVerifiedValue: -1,</span><br><span style="color: hsl(120, 100%, 40%);">+ gerritBuildUnstableVerifiedValue: -1,</span><br><span style="color: hsl(120, 100%, 40%);">+ gerritProjects: [</span><br><span style="color: hsl(120, 100%, 40%);">+ [branches: [[compareType: 'PLAIN', pattern: "${BRANCH_NAME}"]],</span><br><span style="color: hsl(120, 100%, 40%);">+ compareType: 'REG_EXP',</span><br><span style="color: hsl(120, 100%, 40%);">+ disableStrictForbiddenFileVerification: false,</span><br><span style="color: hsl(120, 100%, 40%);">+ pattern: '^(Security-)?asterisk.*'</span><br><span style="color: hsl(120, 100%, 40%);">+ ]</span><br><span style="color: hsl(120, 100%, 40%);">+ ],</span><br><span style="color: hsl(120, 100%, 40%);">+ silentMode: false,</span><br><span style="color: hsl(120, 100%, 40%);">+ triggerOnEvents: [</span><br><span style="color: hsl(120, 100%, 40%);">+ commentAddedContains('^regate$'),</span><br><span style="color: hsl(120, 100%, 40%);">+ commentAdded(commentAddedTriggerApprovalValue: '+2', verdictCategory: 'Code-Review'),</span><br><span style="color: hsl(120, 100%, 40%);">+ ],</span><br><span style="color: hsl(120, 100%, 40%);">+ skipVote: [</span><br><span style="color: hsl(120, 100%, 40%);">+ onFailed: false,</span><br><span style="color: hsl(120, 100%, 40%);">+ onNotBuilt: true,</span><br><span style="color: hsl(120, 100%, 40%);">+ onSuccessful: false,</span><br><span style="color: hsl(120, 100%, 40%);">+ onUnstable: false</span><br><span style="color: hsl(120, 100%, 40%);">+ ]</span><br><span style="color: hsl(120, 100%, 40%);">+ }</span><br><span style="color: hsl(120, 100%, 40%);">+ agent {</span><br><span style="color: hsl(120, 100%, 40%);">+ /* All of the stages need to be performed on a docker host */</span><br><span style="color: hsl(120, 100%, 40%);">+ label "swdev-docker"</span><br><span style="color: hsl(120, 100%, 40%);">+ }</span><br><span style="color: hsl(120, 100%, 40%);">+ stages {</span><br><span style="color: hsl(120, 100%, 40%);">+ stage ("->") {</span><br><span style="color: hsl(120, 100%, 40%);">+ /*</span><br><span style="color: hsl(120, 100%, 40%);">+ * Jenkins will try to automatically rebuild this job when</span><br><span style="color: hsl(120, 100%, 40%);">+ * the jenkinsfile changes but since this job is dependent on</span><br><span style="color: hsl(120, 100%, 40%);">+ * Gerrit, we really don't want to do anything in that case.</span><br><span style="color: hsl(120, 100%, 40%);">+ */</span><br><span style="color: hsl(120, 100%, 40%);">+ when {</span><br><span style="color: hsl(120, 100%, 40%);">+ not { environment name: 'GERRIT_CHANGE_NUMBER', value: '' }</span><br><span style="color: hsl(120, 100%, 40%);">+ }</span><br><span style="color: hsl(120, 100%, 40%);">+ steps {</span><br><span style="color: hsl(120, 100%, 40%);">+ /* Here's where we switch to scripted pipeline */</span><br><span style="color: hsl(120, 100%, 40%);">+ script {</span><br><span style="color: hsl(120, 100%, 40%);">+ stage ("Checkout") {</span><br><span style="color: hsl(120, 100%, 40%);">+ /*</span><br><span style="color: hsl(120, 100%, 40%);">+ * Jenkins has already automatically checked out the base branch</span><br><span style="color: hsl(120, 100%, 40%);">+ * for this change but we now need to check out the change itself</span><br><span style="color: hsl(120, 100%, 40%);">+ * and rebase it on the current base branch. If the rebase fails,</span><br><span style="color: hsl(120, 100%, 40%);">+ * that's an indication to the user that they'll need to sort their</span><br><span style="color: hsl(120, 100%, 40%);">+ * change out.</span><br><span style="color: hsl(120, 100%, 40%);">+ *</span><br><span style="color: hsl(120, 100%, 40%);">+ * The Gerrit Trigger provides all the URLs and refspecs to</span><br><span style="color: hsl(120, 100%, 40%);">+ * check out the change.</span><br><span style="color: hsl(120, 100%, 40%);">+ */</span><br><span style="color: hsl(120, 100%, 40%);">+ checkout scm: [$class: 'GitSCM',</span><br><span style="color: hsl(120, 100%, 40%);">+ branches: [[name: env.GERRIT_BRANCH ]],</span><br><span style="color: hsl(120, 100%, 40%);">+ extensions: [</span><br><span style="color: hsl(120, 100%, 40%);">+ [$class: 'CleanBeforeCheckout'],</span><br><span style="color: hsl(120, 100%, 40%);">+ [$class: 'PreBuildMerge', options: [</span><br><span style="color: hsl(120, 100%, 40%);">+ mergeRemote: env.GERRIT_NAME,</span><br><span style="color: hsl(120, 100%, 40%);">+ mergeTarget: env.GERRIT_BRANCH ]</span><br><span style="color: hsl(120, 100%, 40%);">+ ],</span><br><span style="color: hsl(120, 100%, 40%);">+ [$class: 'CloneOption',</span><br><span style="color: hsl(120, 100%, 40%);">+ noTags: true,</span><br><span style="color: hsl(120, 100%, 40%);">+ depth: 10,</span><br><span style="color: hsl(120, 100%, 40%);">+ honorRefspec: true,</span><br><span style="color: hsl(120, 100%, 40%);">+ shallow: true</span><br><span style="color: hsl(120, 100%, 40%);">+ ],</span><br><span style="color: hsl(120, 100%, 40%);">+ [$class: 'BuildChooserSetting',</span><br><span style="color: hsl(120, 100%, 40%);">+ buildChooser: [$class: 'GerritTriggerBuildChooser']</span><br><span style="color: hsl(120, 100%, 40%);">+ ]</span><br><span style="color: hsl(120, 100%, 40%);">+ ],</span><br><span style="color: hsl(120, 100%, 40%);">+ userRemoteConfigs: [</span><br><span style="color: hsl(120, 100%, 40%);">+ [name: env.GERRIT_NAME, refspec: env.GERRIT_REFSPEC, url: env.GIT_URL ]</span><br><span style="color: hsl(120, 100%, 40%);">+ ]</span><br><span style="color: hsl(120, 100%, 40%);">+ ]</span><br><span style="color: hsl(120, 100%, 40%);">+ }</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+ def images = env.DOCKER_IMAGES.split(' ')</span><br><span style="color: hsl(120, 100%, 40%);">+ def r = currentBuild.startTimeInMillis % images.length</span><br><span style="color: hsl(120, 100%, 40%);">+ def ri = images[(int)r]</span><br><span style="color: hsl(120, 100%, 40%);">+ def randomImage = env.DOCKER_REGISTRY + "/" + ri</span><br><span style="color: hsl(120, 100%, 40%);">+ def dockerOptions = "-v /srv/jenkins:/srv/jenkins:rw -v /srv/cache:/srv/cache:rw --entrypoint=''"</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+ stage ("Build") {</span><br><span style="color: hsl(120, 100%, 40%);">+ docker.image(randomImage).inside(dockerOptions + " --name ${BUILD_TAG}-build") {</span><br><span style="color: hsl(120, 100%, 40%);">+ echo 'Building..'</span><br><span style="color: hsl(120, 100%, 40%);">+ sh './tests/CI/buildAsterisk.sh'</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+ archiveArtifacts allowEmptyArchive: true, defaultExcludes: false, fingerprint: false,</span><br><span style="color: hsl(120, 100%, 40%);">+ artifacts: "tests/CI/output/*"</span><br><span style="color: hsl(120, 100%, 40%);">+ }</span><br><span style="color: hsl(120, 100%, 40%);">+ }</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+ def testGroups = readJSON file: "tests/CI/gateTestGroups.json"</span><br><span style="color: hsl(120, 100%, 40%);">+ def parallelTasks = [ : ]</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+ for (def testGroup in testGroups) {</span><br><span style="color: hsl(120, 100%, 40%);">+ /*</span><br><span style="color: hsl(120, 100%, 40%);">+ * Because each task is a Groovy closure, we need to</span><br><span style="color: hsl(120, 100%, 40%);">+ * keep local references to some variables.</span><br><span style="color: hsl(120, 100%, 40%);">+ */</span><br><span style="color: hsl(120, 100%, 40%);">+ def groupName = testGroup.name</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+ parallelTasks[groupName] = {</span><br><span style="color: hsl(120, 100%, 40%);">+ stage (groupName) {</span><br><span style="color: hsl(120, 100%, 40%);">+ def groupDir = testGroup.dir</span><br><span style="color: hsl(120, 100%, 40%);">+ def groupTestcmd = testGroup.testcmd</span><br><span style="color: hsl(120, 100%, 40%);">+ def testsuiteUrl = env.GIT_URL.replaceAll(/${GERRIT_PROJECT}$/, "testsuite")</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+ docker.image(randomImage).inside("${dockerOptions} --name ${BUILD_TAG}-${groupName}") {</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+ lock("${JOB_NAME}.${NODE_NAME}.installer") {</span><br><span style="color: hsl(120, 100%, 40%);">+ sh 'sudo ./tests/CI/installAsterisk.sh'</span><br><span style="color: hsl(120, 100%, 40%);">+ }</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+ checkout scm: [$class: 'GitSCM',</span><br><span style="color: hsl(120, 100%, 40%);">+ branches: [[name: "${BRANCH_NAME}"]],</span><br><span style="color: hsl(120, 100%, 40%);">+ extensions: [</span><br><span style="color: hsl(120, 100%, 40%);">+ [$class: 'CleanBeforeCheckout'],</span><br><span style="color: hsl(120, 100%, 40%);">+ [$class: 'RelativeTargetDirectory', relativeTargetDir: groupDir],</span><br><span style="color: hsl(120, 100%, 40%);">+ [$class: 'CloneOption',</span><br><span style="color: hsl(120, 100%, 40%);">+ noTags: true,</span><br><span style="color: hsl(120, 100%, 40%);">+ depth: 10,</span><br><span style="color: hsl(120, 100%, 40%);">+ honorRefspec: true,</span><br><span style="color: hsl(120, 100%, 40%);">+ shallow: true</span><br><span style="color: hsl(120, 100%, 40%);">+ ],</span><br><span style="color: hsl(120, 100%, 40%);">+ ],</span><br><span style="color: hsl(120, 100%, 40%);">+ userRemoteConfigs: [[name: env.GERRIT_NAME, url: testsuiteUrl]]</span><br><span style="color: hsl(120, 100%, 40%);">+ ]</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+ sh "tests/CI/runTestsuite.sh --testsuite-dir='${groupDir}' --test-command='${groupTestcmd}'"</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+ archiveArtifacts allowEmptyArchive: true, defaultExcludes: false, fingerprint: true,</span><br><span style="color: hsl(120, 100%, 40%);">+ artifacts: "${groupDir}**"</span><br><span style="color: hsl(120, 100%, 40%);">+</span><br><span style="color: hsl(120, 100%, 40%);">+ junit testResults: "${groupDir}",</span><br><span style="color: hsl(120, 100%, 40%);">+ healthScaleFactor: 1.0,</span><br><span style="color: hsl(120, 100%, 40%);">+ keepLongStdio: true</span><br><span style="color: hsl(120, 100%, 40%);">+ }</span><br><span style="color: hsl(120, 100%, 40%);">+ }</span><br><span style="color: hsl(120, 100%, 40%);">+ }</span><br><span style="color: hsl(120, 100%, 40%);">+ }</span><br><span style="color: hsl(120, 100%, 40%);">+ parallel parallelTasks</span><br><span style="color: hsl(120, 100%, 40%);">+ }</span><br><span style="color: hsl(120, 100%, 40%);">+ }</span><br><span style="color: hsl(120, 100%, 40%);">+ }</span><br><span style="color: hsl(120, 100%, 40%);">+ }</span><br><span style="color: hsl(120, 100%, 40%);">+ post {</span><br><span style="color: hsl(120, 100%, 40%);">+ always {</span><br><span style="color: hsl(120, 100%, 40%);">+ sh "sudo make distclean || : "</span><br><span style="color: hsl(120, 100%, 40%);">+ sh "sudo rm -rf tests/CI/output || : "</span><br><span style="color: hsl(120, 100%, 40%);">+ }</span><br><span style="color: hsl(120, 100%, 40%);">+ /*</span><br><span style="color: hsl(120, 100%, 40%);">+ * The Gerrit Trigger will automatically post the "Verified" results back</span><br><span style="color: hsl(120, 100%, 40%);">+ * to Gerrit but the verification publisher publishes extra stuff in the</span><br><span style="color: hsl(120, 100%, 40%);">+ * "Code Review" section of the review.</span><br><span style="color: hsl(120, 100%, 40%);">+ */</span><br><span style="color: hsl(120, 100%, 40%);">+ success {</span><br><span style="color: hsl(120, 100%, 40%);">+ gerritverificationpublisher verifyStatusCategory: 'Passed',</span><br><span style="color: hsl(120, 100%, 40%);">+ verifyStatusURL: '', verifyStatusComment: 'OK',</span><br><span style="color: hsl(120, 100%, 40%);">+ verifyStatusName: 'Jenkins2', verifyStatusReporter: '',</span><br><span style="color: hsl(120, 100%, 40%);">+ verifyStatusRerun: 'regate'</span><br><span style="color: hsl(120, 100%, 40%);">+ }</span><br><span style="color: hsl(120, 100%, 40%);">+ failure {</span><br><span style="color: hsl(120, 100%, 40%);">+ gerritverificationpublisher verifyStatusCategory: 'Failed',</span><br><span style="color: hsl(120, 100%, 40%);">+ verifyStatusURL: '', verifyStatusComment: 'You\'re really screwed',</span><br><span style="color: hsl(120, 100%, 40%);">+ verifyStatusName: 'Jenkins2', verifyStatusReporter: '',</span><br><span style="color: hsl(120, 100%, 40%);">+ verifyStatusRerun: 'regate'</span><br><span style="color: hsl(120, 100%, 40%);">+ }</span><br><span style="color: hsl(120, 100%, 40%);">+ unstable {</span><br><span style="color: hsl(120, 100%, 40%);">+ gerritverificationpublisher verifyStatusCategory: 'Failed',</span><br><span style="color: hsl(120, 100%, 40%);">+ verifyStatusURL: '', verifyStatusComment: 'You\'re screwed',</span><br><span style="color: hsl(120, 100%, 40%);">+ verifyStatusName: 'Jenkins2', verifyStatusReporter: '',</span><br><span style="color: hsl(120, 100%, 40%);">+ verifyStatusRerun: 'regate'</span><br><span style="color: hsl(120, 100%, 40%);">+ }</span><br><span style="color: hsl(120, 100%, 40%);">+ }</span><br><span style="color: hsl(120, 100%, 40%);">+}</span><br><span>diff --git a/tests/CI/runTestsuite.sh b/tests/CI/runTestsuite.sh</span><br><span>index c96b9a4..26b0934 100755</span><br><span>--- a/tests/CI/runTestsuite.sh</span><br><span>+++ b/tests/CI/runTestsuite.sh</span><br><span>@@ -11,8 +11,6 @@</span><br><span> sudo chown jenkins:users asterisk-test-suite-report.xml</span><br><span> fi</span><br><span> </span><br><span style="color: hsl(0, 100%, 40%);">-runner ${CIDIR}/fixTestResults.py asterisk-test-suite-report.xml asterisk-test-suite-report.xml</span><br><span style="color: hsl(0, 100%, 40%);">-</span><br><span> if [ -f core* ] ; then</span><br><span> echo "*** Found a core file after running unit tests ***"</span><br><span> sudo /var/lib/asterisk/scripts/ast_coredumper --no-default-search core*</span><br><span></span><br></pre><p>To view, visit <a href="https://gerrit.asterisk.org/9419">change 9419</a>. To unsubscribe, or for help writing mail filters, visit <a href="https://gerrit.asterisk.org/settings">settings</a>.</p><div itemscope itemtype="http://schema.org/EmailMessage"><div itemscope itemprop="action" itemtype="http://schema.org/ViewAction"><link itemprop="url" href="https://gerrit.asterisk.org/9419"/><meta itemprop="name" content="View Change"/></div></div>
<div style="display:none"> Gerrit-Project: asterisk </div>
<div style="display:none"> Gerrit-Branch: certified/13.21 </div>
<div style="display:none"> Gerrit-MessageType: newchange </div>
<div style="display:none"> Gerrit-Change-Id: If028ede5f3b127fa274c63ce166bc04ad7c1e5db </div>
<div style="display:none"> Gerrit-Change-Number: 9419 </div>
<div style="display:none"> Gerrit-PatchSet: 1 </div>
<div style="display:none"> Gerrit-Owner: George Joseph <gjoseph@digium.com> </div>