From 60ae0395dcd4d23dc4d7c62e246a68899602e418 Mon Sep 17 00:00:00 2001 From: Sayali Gaikawad Date: Fri, 2 Feb 2024 16:27:44 -0800 Subject: [PATCH 1/2] Enable label handling for integ-test workflows Signed-off-by: Sayali Gaikawad --- jenkins/opensearch/integ-test.jenkinsfile | 23 +-- tests/jenkins/TestOpenSearchIntegTest.groovy | 52 +++++-- .../opensearch/integ-test.jenkinsfile.txt | 136 +++++++++--------- 3 files changed, 126 insertions(+), 85 deletions(-) diff --git a/jenkins/opensearch/integ-test.jenkinsfile b/jenkins/opensearch/integ-test.jenkinsfile index 885807c7e5..12cda4f87f 100644 --- a/jenkins/opensearch/integ-test.jenkinsfile +++ b/jenkins/opensearch/integ-test.jenkinsfile @@ -7,7 +7,7 @@ * compatible open source license. */ -lib = library(identifier: 'jenkins@6.1.0', retriever: modernSCM([ +lib = library(identifier: 'jenkins@6.3.0', retriever: modernSCM([ $class: 'GitSCMSource', remote: 'https://github.com/opensearch-project/opensearch-build-libraries.git', @@ -210,14 +210,13 @@ pipeline { localPath: "${WORKSPACE}/${distribution}", switchUserNonRoot: "${switch_user_non_root}" ) - String closeCommentMessage = "Closing the issue as the Integration Test passed for ${local_component}
Version: ${version}
Distribution: ${distribution}
Architecture: ${architecture}
Platform: ${platform}

Please check the logs: ${RUN_DISPLAY_URL}

*" if (env.updateGithubIssues.toBoolean()) { - closeGithubIssue( + updateGitHubIssueLabels( repoUrl: buildManifestObj.getRepo("${local_component}"), - issueTitle: "[AUTOCUT] Integration Test failed for ${local_component}: ${version} ${distribution} distribution", - closeComment: closeCommentMessage, - label: "autocut,v${version},integ-test-failure" - ) + issueTitle: "[AUTOCUT] Integration Test failed for ${local_component}: ${version}", + label: "${platform}:${distribution}:${architecture}", + action: "remove" + ) } } } catch (e) { @@ -226,10 +225,16 @@ pipeline { if (env.updateGithubIssues.toBoolean()) { createGithubIssue( repoUrl: buildManifestObj.getRepo("${local_component}"), - issueTitle: "[AUTOCUT] Integration Test failed for ${local_component}: ${version} ${distribution} distribution", + issueTitle: "[AUTOCUT] Integration Test failed for ${local_component}: ${version}", issueBody: issueBodyMessage, - label: "autocut,v${version},integ-test-failure" + label: "autocut,v${version}" ) + updateGitHubIssueLabels( + repoUrl: buildManifestObj.getRepo("${local_component}"), + issueTitle: "[AUTOCUT] Integration Test failed for ${local_component}: ${version}", + label: "integ-test-failure,${platform}:${distribution}:${architecture}", + action: "add" + ) } throw new Exception("Error running integtest for component ${local_component}", e) } finally { diff --git a/tests/jenkins/TestOpenSearchIntegTest.groovy b/tests/jenkins/TestOpenSearchIntegTest.groovy index 38bd6ab67d..94c6425781 100644 --- a/tests/jenkins/TestOpenSearchIntegTest.groovy +++ b/tests/jenkins/TestOpenSearchIntegTest.groovy @@ -12,6 +12,7 @@ import static com.lesfurets.jenkins.unit.global.lib.LibraryConfiguration.library import static com.lesfurets.jenkins.unit.global.lib.GitSource.gitSource import static com.lesfurets.jenkins.unit.MethodCall.callArgsToString import static org.hamcrest.CoreMatchers.hasItem +import static org.hamcrest.CoreMatchers.not import static org.hamcrest.CoreMatchers.equalTo import static org.hamcrest.MatcherAssert.assertThat import static org.junit.jupiter.api.Assertions.assertThrows @@ -24,7 +25,7 @@ class TestOpenSearchIntegTest extends BuildPipelineTest { helper.registerSharedLibrary( library().name('jenkins') - .defaultVersion('6.1.0') + .defaultVersion('6.3.0') .allowOverride(true) .implicit(true) .targetPath('vars') @@ -123,21 +124,21 @@ class TestOpenSearchIntegTest extends BuildPipelineTest { } helper.addShMock("""env PATH=\$PATH JAVA_HOME=/opt/java/openjdk-17 ./test.sh integ-test manifests/tests/jenkins/data/opensearch-3.0.0-test.yml --component k-NN --test-run-id 234 --paths opensearch=/tmp/workspace/tar --base-path DUMMY_PUBLIC_ARTIFACT_URL/dummy_job/3.0.0/9010/linux/x64/tar """) { script -> return [stdout: "Error running integtest for component k-NN, creating Github issue", exitValue: 1]} - helper.addShMock("""gh issue list --repo https://github.com/opensearch-project/k-NN.git -S "[AUTOCUT] Integration Test failed for k-NN: 3.0.0 tar distribution in:title" --label autocut,v3.0.0,integ-test-failure --json number --jq '.[0].number'""") { script -> + helper.addShMock("""gh issue list --repo https://github.com/opensearch-project/k-NN.git -S "[AUTOCUT] Integration Test failed for k-NN: 3.0.0 in:title" --label autocut,v3.0.0 --json number --jq '.[0].number'""") { script -> return [stdout: "", exitValue: 0] } - helper.addShMock("""gh issue list --repo https://github.com/opensearch-project/k-NN.git -S "[AUTOCUT] Integration Test failed for k-NN: 3.0.0 tar distribution in:title is:closed closed:>=2023-10-24" --label autocut,v3.0.0,integ-test-failure --json number --jq '.[0].number'""") { script -> + helper.addShMock("""gh issue list --repo https://github.com/opensearch-project/k-NN.git -S "[AUTOCUT] Integration Test failed for k-NN: 3.0.0 in:title is:closed closed:>=2023-10-24" --label autocut,v3.0.0 --json number --jq '.[0].number'""") { script -> return [stdout: "", exitValue: 0] } assertThrows(Exception) { runScript('jenkins/opensearch/integ-test.jenkinsfile') } assertJobStatusFailure() - assertThat(getCommandExecutions('sh', 'script'), hasItem('{script=gh issue create --title \"[AUTOCUT] Integration Test failed for k-NN: 3.0.0 tar distribution\" --body \"The integration test failed at distribution level for component k-NN
Version: 3.0.0
Distribution: tar
Architecture: x64
Platform: linux

Please check the logs: https://some/url/redirect

* Test-report manifest:*
- https://ci.opensearch.org/ci/dbc/dummy_job/3.0.0/9010/linux/x64/tar/test-results/234/integ-test/test-report.yml

_Note: Steps to reproduce, additional logs and other files can be found within the above test-report manifest.
Instructions of this test-report manifest can be found [here](https://github.com/opensearch-project/opensearch-build/tree/main/src/report_workflow#guide-on-test-report-manifest-from-ci)._\" --label autocut,v3.0.0,integ-test-failure --label \"untriaged\" --repo https://github.com/opensearch-project/k-NN.git, returnStdout=true}')) + assertThat(getCommandExecutions('sh', 'script'), hasItem('{script=gh issue create --title \"[AUTOCUT] Integration Test failed for k-NN: 3.0.0\" --body \"The integration test failed at distribution level for component k-NN
Version: 3.0.0
Distribution: tar
Architecture: x64
Platform: linux

Please check the logs: https://some/url/redirect

* Test-report manifest:*
- https://ci.opensearch.org/ci/dbc/dummy_job/3.0.0/9010/linux/x64/tar/test-results/234/integ-test/test-report.yml

_Note: Steps to reproduce, additional logs and other files can be found within the above test-report manifest.
Instructions of this test-report manifest can be found [here](https://github.com/opensearch-project/opensearch-build/tree/main/src/report_workflow#guide-on-test-report-manifest-from-ci)._\" --label autocut,v3.0.0 --label \"untriaged\" --repo https://github.com/opensearch-project/k-NN.git, returnStdout=true}')) } @Test - void CheckCloseGHissue() { + void CheckNotClosingGHissue() { addParam('UPDATE_GITHUB_ISSUES', true) helper.addShMock("date -d \"5 days ago\" +'%Y-%m-%d'") { script -> return [stdout: "2023-10-24", exitValue: 0] @@ -146,8 +147,8 @@ class TestOpenSearchIntegTest extends BuildPipelineTest { return [stdout: "Completed running integtest for component k-NN", exitValue: 0] } runScript('jenkins/opensearch/integ-test.jenkinsfile') - assertThat(getCommandExecutions('sh', 'script'), hasItem("{script=gh issue list --repo https://github.com/opensearch-project/k-NN.git -S \"[AUTOCUT] Integration Test failed for k-NN: 3.0.0 tar distribution in:title\" --label autocut,v3.0.0,integ-test-failure --json number --jq '.[0].number', returnStdout=true}")) - assertThat(getCommandExecutions('sh', 'script'), hasItem("{script=gh issue close bbb\nccc -R opensearch-project/k-NN --comment \"Closing the issue as the Integration Test passed for k-NN
Version: 3.0.0
Distribution: tar
Architecture: x64
Platform: linux

Please check the logs: https://some/url/redirect

*\", returnStdout=true}")) + assertThat(getCommandExecutions('sh', 'script'), not(hasItem("{script=gh issue list --repo https://github.com/opensearch-project/k-NN.git -S \"[AUTOCUT] Integration Test failed for k-NN: 3.0.0 in:title\" --label autocut,v3.0.0 --json number --jq '.[0].number', returnStdout=true}"))) + assertThat(getCommandExecutions('sh', 'script'), not(hasItem("{script=gh issue close bbb\nccc -R opensearch-project/k-NN --comment \"Closing the issue as the Integration Test passed for k-NN
Version: 3.0.0
Distribution: tar
Architecture: x64
Platform: linux

Please check the logs: https://some/url/redirect

*\", returnStdout=true}"))) } @Test @@ -162,7 +163,7 @@ class TestOpenSearchIntegTest extends BuildPipelineTest { } assertJobStatusFailure() assertThat(getCommandExecutions('println', 'Issue'), hasItem('Issue already exists, adding a comment')) - assertThat(getCommandExecutions('sh', 'script'), hasItem("{script=gh issue list --repo https://github.com/opensearch-project/k-NN.git -S \"[AUTOCUT] Integration Test failed for k-NN: 3.0.0 tar distribution in:title\" --label autocut,v3.0.0,integ-test-failure --json number --jq '.[0].number', returnStdout=true}")) + assertThat(getCommandExecutions('sh', 'script'), hasItem("{script=gh issue list --repo https://github.com/opensearch-project/k-NN.git -S \"[AUTOCUT] Integration Test failed for k-NN: 3.0.0 in:title\" --label autocut,v3.0.0 --json number --jq '.[0].number', returnStdout=true}")) assertThat(getCommandExecutions('sh', 'script'), hasItem("{script=gh issue comment bbb\nccc --repo https://github.com/opensearch-project/k-NN.git --body \"The integration test failed at distribution level for component k-NN
Version: 3.0.0
Distribution: tar
Architecture: x64
Platform: linux

Please check the logs: https://some/url/redirect

* Test-report manifest:*
- https://ci.opensearch.org/ci/dbc/dummy_job/3.0.0/9010/linux/x64/tar/test-results/234/integ-test/test-report.yml

_Note: Steps to reproduce, additional logs and other files can be found within the above test-report manifest.
Instructions of this test-report manifest can be found [here](https://github.com/opensearch-project/opensearch-build/tree/main/src/report_workflow#guide-on-test-report-manifest-from-ci)._\", returnStdout=true}")) } @@ -178,6 +179,41 @@ class TestOpenSearchIntegTest extends BuildPipelineTest { assertThat(getCommandExecutions('sh', 'gh issue').size(), equalTo(0)) } + @Test + void verifyLabelRemoval() { + addParam('UPDATE_GITHUB_ISSUES', true) + helper.addShMock("""gh issue list --repo https://github.com/opensearch-project/k-NN.git -S "[AUTOCUT] Integration Test failed for k-NN: 3.0.0 in:title" --json number --jq '.[0].number'""") { script -> + return [stdout: "67", exitValue: 0] + } + helper.addShMock("""gh label list --repo https://github.com/opensearch-project/k-NN.git -S linux:tar:x64 --json name --jq '.[0].name'""") { script -> + return [stdout: "linux:tar:x64", exitValue: 0] + } + helper.addShMock("""env PATH=\$PATH JAVA_HOME=/opt/java/openjdk-17 ./test.sh integ-test manifests/tests/jenkins/data/opensearch-3.0.0-test.yml --component k-NN --test-run-id 234 --paths opensearch=/tmp/workspace/tar --base-path DUMMY_PUBLIC_ARTIFACT_URL/dummy_job/3.0.0/8184/linux/x64/tar""") { script -> + return [stdout: "Completed running integtest for component k-NN", exitValue: 0] + } + runScript('jenkins/opensearch/integ-test.jenkinsfile') + assertThat(getCommandExecutions('sh', 'gh issue'), hasItem('{script=gh issue edit 67 -R https://github.com/opensearch-project/k-NN.git --remove-label \"linux:tar:x64\", returnStdout=true}')) + } + + @Test + void verifyLabelAddition() { + addParam('UPDATE_GITHUB_ISSUES', true) + helper.addShMock("""env PATH=\$PATH JAVA_HOME=/opt/java/openjdk-17 ./test.sh integ-test manifests/tests/jenkins/data/opensearch-3.0.0-test.yml --component k-NN --test-run-id 234 --paths opensearch=/tmp/workspace/tar --base-path DUMMY_PUBLIC_ARTIFACT_URL/dummy_job/3.0.0/9010/linux/x64/tar """) { script -> + return [stdout: "Error running integtest for component k-NN, creating Github issue", exitValue: 1]} + helper.addShMock("""gh issue list --repo https://github.com/opensearch-project/k-NN.git -S "[AUTOCUT] Integration Test failed for k-NN: 3.0.0 in:title" --json number --jq '.[0].number'""") { script -> + return [stdout: "99", exitValue: 0] + } + helper.addShMock("""gh label list --repo https://github.com/opensearch-project/k-NN.git -S linux:tar:x64 --json name --jq '.[0].name'""") { script -> + return [stdout: "no labels in opensearch-project/k-NN matched your search", exitValue: 0] + } + assertThrows(Exception) { + runScript('jenkins/opensearch/integ-test.jenkinsfile') + } + assertJobStatusFailure() + assertThat(getCommandExecutions('sh', 'label'), hasItem("{script=gh label create linux:tar:x64 --repo https://github.com/opensearch-project/k-NN.git, returnStdout=true}")) + assertThat(getCommandExecutions('sh', 'gh issue'), hasItem('{script=gh issue edit 99 -R https://github.com/opensearch-project/k-NN.git --add-label \"linux:tar:x64\", returnStdout=true}')) + } + def getCommandExecutions(methodName, command) { def shCommands = helper.callStack.findAll { call -> diff --git a/tests/jenkins/jenkinsjob-regression-files/opensearch/integ-test.jenkinsfile.txt b/tests/jenkins/jenkinsjob-regression-files/opensearch/integ-test.jenkinsfile.txt index db5df81191..ac9e008900 100644 --- a/tests/jenkins/jenkinsjob-regression-files/opensearch/integ-test.jenkinsfile.txt +++ b/tests/jenkins/jenkinsjob-regression-files/opensearch/integ-test.jenkinsfile.txt @@ -1,6 +1,6 @@ integ-test.run() integ-test.modernSCM({$class=GitSCMSource, remote=https://github.com/opensearch-project/opensearch-build-libraries.git}) - integ-test.library({identifier=jenkins@6.1.0, retriever=null}) + integ-test.library({identifier=jenkins@6.3.0, retriever=null}) integ-test.pipeline(groovy.lang.Closure) integ-test.credentials(jenkins-artifact-bucket-name) integ-test.timeout({time=4, unit=HOURS}) @@ -17,7 +17,7 @@ integ-test.fileExists(manifests/tests/jenkins/data/opensearch-3.0.0-test.yml) integ-test.downloadBuildManifest({url=https://ci.opensearch.org/ci/dbc/distribution-build-opensearch/3.0.0/9010/linux/x64/tar/dist/opensearch/opensearch-3.0.0-linux-x64.tar.gz, path=tests/jenkins/data/opensearch-3.0.0-build.yml}) downloadBuildManifest.legacySCM(groovy.lang.Closure) - downloadBuildManifest.library({identifier=jenkins@6.1.0, retriever=null}) + downloadBuildManifest.library({identifier=jenkins@6.3.0, retriever=null}) downloadBuildManifest.sh(curl -sSL https://ci.opensearch.org/ci/dbc/distribution-build-opensearch/3.0.0/9010/linux/x64/tar/dist/opensearch/opensearch-3.0.0-linux-x64.tar.gz --output tests/jenkins/data/opensearch-3.0.0-build.yml) downloadBuildManifest.readYaml({file=tests/jenkins/data/opensearch-3.0.0-build.yml}) BuildManifest.asBoolean() @@ -35,7 +35,7 @@ integ-test.script(groovy.lang.Closure) integ-test.downloadBuildManifest({url=https://ci.opensearch.org/ci/dbc/distribution-build-opensearch/3.0.0/9010/linux/x64/tar/dist/opensearch/opensearch-3.0.0-linux-x64.tar.gz, path=tests/jenkins/data/opensearch-3.0.0-build.yml}) downloadBuildManifest.legacySCM(groovy.lang.Closure) - downloadBuildManifest.library({identifier=jenkins@6.1.0, retriever=null}) + downloadBuildManifest.library({identifier=jenkins@6.3.0, retriever=null}) downloadBuildManifest.sh(curl -sSL https://ci.opensearch.org/ci/dbc/distribution-build-opensearch/3.0.0/9010/linux/x64/tar/dist/opensearch/opensearch-3.0.0-linux-x64.tar.gz --output tests/jenkins/data/opensearch-3.0.0-build.yml) downloadBuildManifest.readYaml({file=tests/jenkins/data/opensearch-3.0.0-build.yml}) BuildManifest.asBoolean() @@ -79,7 +79,7 @@ integ-test.sh(rm -rf test-results) integ-test.runIntegTestScript({jobName=distribution-build-opensearch, componentName=ml-commons, buildManifest=tests/jenkins/data/opensearch-3.0.0-build.yml, testManifest=manifests/tests/jenkins/data/opensearch-3.0.0-test.yml, localPath=/tmp/workspace/tar, switchUserNonRoot=false}) runIntegTestScript.legacySCM(groovy.lang.Closure) - runIntegTestScript.library({identifier=jenkins@6.1.0, retriever=null}) + runIntegTestScript.library({identifier=jenkins@6.3.0, retriever=null}) runIntegTestScript.readYaml({file=tests/jenkins/data/opensearch-3.0.0-build.yml}) BuildManifest.asBoolean() BuildManifest.getArtifactArchitecture() @@ -88,7 +88,7 @@ runIntegTestScript.echo(Start integTest on: tar x64 linux) runIntegTestScript.detectTestDockerAgent({testManifest=manifests/tests/jenkins/data/opensearch-3.0.0-test.yml}) detectTestDockerAgent.legacySCM(groovy.lang.Closure) - detectTestDockerAgent.library({identifier=jenkins@6.1.0, retriever=null}) + detectTestDockerAgent.library({identifier=jenkins@6.3.0, retriever=null}) detectTestDockerAgent.readYaml({file=manifests/tests/jenkins/data/opensearch-3.0.0-test.yml}) TestManifest.asBoolean() detectTestDockerAgent.echo(Using Docker image opensearchstaging/ci-runner:ci-runner-centos7-opensearch-build-v3 (-e JAVA_HOME=/opt/java/openjdk-17)) @@ -105,16 +105,16 @@ runIntegTestScript.echo(Run command: env PATH=$PATH JAVA_HOME=/opt/java/openjdk-17 ./test.sh integ-test manifests/tests/jenkins/data/opensearch-3.0.0-test.yml --component ml-commons --test-run-id 234 --paths opensearch=/tmp/workspace/tar --base-path DUMMY_PUBLIC_ARTIFACT_URL/dummy_job/3.0.0/9010/linux/x64/tar ) runIntegTestScript.sh(env PATH=$PATH JAVA_HOME=/opt/java/openjdk-17 ./test.sh integ-test manifests/tests/jenkins/data/opensearch-3.0.0-test.yml --component ml-commons --test-run-id 234 --paths opensearch=/tmp/workspace/tar --base-path DUMMY_PUBLIC_ARTIFACT_URL/dummy_job/3.0.0/9010/linux/x64/tar ) BuildManifest.getRepo(ml-commons) - integ-test.closeGithubIssue({repoUrl=https://github.com/opensearch-project/ml-commons.git, issueTitle=[AUTOCUT] Integration Test failed for ml-commons: 3.0.0 tar distribution, closeComment=Closing the issue as the Integration Test passed for ml-commons
Version: 3.0.0
Distribution: tar
Architecture: x64
Platform: linux

Please check the logs: https://some/url/redirect

*, label=autocut,v3.0.0,integ-test-failure}) - closeGithubIssue.usernamePassword({credentialsId=jenkins-github-bot-token, passwordVariable=GITHUB_TOKEN, usernameVariable=GITHUB_USER}) - closeGithubIssue.withCredentials([[GITHUB_USER, GITHUB_TOKEN]], groovy.lang.Closure) - closeGithubIssue.sh({script=gh issue list --repo https://github.com/opensearch-project/ml-commons.git -S "[AUTOCUT] Integration Test failed for ml-commons: 3.0.0 tar distribution in:title" --label autocut,v3.0.0,integ-test-failure --json number --jq '.[0].number', returnStdout=true}) - closeGithubIssue.sh({script=gh issue close bbb -ccc -R opensearch-project/ml-commons --comment "Closing the issue as the Integration Test passed for ml-commons
Version: 3.0.0
Distribution: tar
Architecture: x64
Platform: linux

Please check the logs: https://some/url/redirect

*", returnStdout=true}) + integ-test.updateGitHubIssueLabels({repoUrl=https://github.com/opensearch-project/ml-commons.git, issueTitle=[AUTOCUT] Integration Test failed for ml-commons: 3.0.0, label=linux:tar:x64, action=remove}) + updateGitHubIssueLabels.usernamePassword({credentialsId=jenkins-github-bot-token, passwordVariable=GITHUB_TOKEN, usernameVariable=GITHUB_USER}) + updateGitHubIssueLabels.withCredentials([[GITHUB_USER, GITHUB_TOKEN]], groovy.lang.Closure) + updateGitHubIssueLabels.sh({script=gh issue list --repo https://github.com/opensearch-project/ml-commons.git -S "[AUTOCUT] Integration Test failed for ml-commons: 3.0.0 in:title" --json number --jq '.[0].number', returnStdout=true}) + updateGitHubIssueLabels.sh({script=gh label list --repo https://github.com/opensearch-project/ml-commons.git -S linux:tar:x64 --json name --jq '.[0].name', returnStdout=true}) + updateGitHubIssueLabels.println(linux:tar:x64 label does not exist. Skipping the label removal) integ-test.echo(Completed running integtest for component ml-commons) integ-test.uploadTestResults({buildManifestFileName=tests/jenkins/data/opensearch-3.0.0-build.yml, jobName=dummy_job}) uploadTestResults.legacySCM(groovy.lang.Closure) - uploadTestResults.library({identifier=jenkins@6.1.0, retriever=null}) + uploadTestResults.library({identifier=jenkins@6.3.0, retriever=null}) uploadTestResults.readYaml({file=tests/jenkins/data/opensearch-3.0.0-build.yml}) BuildManifest.asBoolean() uploadTestResults.echo(Build Id: 9010) @@ -140,7 +140,7 @@ ccc -R opensearch-project/ml-commons --comment "Closing the issue as the Integra integ-test.sh(rm -rf test-results) integ-test.runIntegTestScript({jobName=distribution-build-opensearch, componentName=anomaly-detection, buildManifest=tests/jenkins/data/opensearch-3.0.0-build.yml, testManifest=manifests/tests/jenkins/data/opensearch-3.0.0-test.yml, localPath=/tmp/workspace/tar, switchUserNonRoot=false}) runIntegTestScript.legacySCM(groovy.lang.Closure) - runIntegTestScript.library({identifier=jenkins@6.1.0, retriever=null}) + runIntegTestScript.library({identifier=jenkins@6.3.0, retriever=null}) runIntegTestScript.readYaml({file=tests/jenkins/data/opensearch-3.0.0-build.yml}) BuildManifest.asBoolean() BuildManifest.getArtifactArchitecture() @@ -149,7 +149,7 @@ ccc -R opensearch-project/ml-commons --comment "Closing the issue as the Integra runIntegTestScript.echo(Start integTest on: tar x64 linux) runIntegTestScript.detectTestDockerAgent({testManifest=manifests/tests/jenkins/data/opensearch-3.0.0-test.yml}) detectTestDockerAgent.legacySCM(groovy.lang.Closure) - detectTestDockerAgent.library({identifier=jenkins@6.1.0, retriever=null}) + detectTestDockerAgent.library({identifier=jenkins@6.3.0, retriever=null}) detectTestDockerAgent.readYaml({file=manifests/tests/jenkins/data/opensearch-3.0.0-test.yml}) TestManifest.asBoolean() detectTestDockerAgent.echo(Using Docker image opensearchstaging/ci-runner:ci-runner-centos7-opensearch-build-v3 (-e JAVA_HOME=/opt/java/openjdk-17)) @@ -166,16 +166,16 @@ ccc -R opensearch-project/ml-commons --comment "Closing the issue as the Integra runIntegTestScript.echo(Run command: env PATH=$PATH JAVA_HOME=/opt/java/openjdk-17 ./test.sh integ-test manifests/tests/jenkins/data/opensearch-3.0.0-test.yml --component anomaly-detection --test-run-id 234 --paths opensearch=/tmp/workspace/tar --base-path DUMMY_PUBLIC_ARTIFACT_URL/dummy_job/3.0.0/9010/linux/x64/tar ) runIntegTestScript.sh(env PATH=$PATH JAVA_HOME=/opt/java/openjdk-17 ./test.sh integ-test manifests/tests/jenkins/data/opensearch-3.0.0-test.yml --component anomaly-detection --test-run-id 234 --paths opensearch=/tmp/workspace/tar --base-path DUMMY_PUBLIC_ARTIFACT_URL/dummy_job/3.0.0/9010/linux/x64/tar ) BuildManifest.getRepo(anomaly-detection) - integ-test.closeGithubIssue({repoUrl=https://github.com/opensearch-project/anomaly-detection.git, issueTitle=[AUTOCUT] Integration Test failed for anomaly-detection: 3.0.0 tar distribution, closeComment=Closing the issue as the Integration Test passed for anomaly-detection
Version: 3.0.0
Distribution: tar
Architecture: x64
Platform: linux

Please check the logs: https://some/url/redirect

*, label=autocut,v3.0.0,integ-test-failure}) - closeGithubIssue.usernamePassword({credentialsId=jenkins-github-bot-token, passwordVariable=GITHUB_TOKEN, usernameVariable=GITHUB_USER}) - closeGithubIssue.withCredentials([[GITHUB_USER, GITHUB_TOKEN]], groovy.lang.Closure) - closeGithubIssue.sh({script=gh issue list --repo https://github.com/opensearch-project/anomaly-detection.git -S "[AUTOCUT] Integration Test failed for anomaly-detection: 3.0.0 tar distribution in:title" --label autocut,v3.0.0,integ-test-failure --json number --jq '.[0].number', returnStdout=true}) - closeGithubIssue.sh({script=gh issue close bbb -ccc -R opensearch-project/anomaly-detection --comment "Closing the issue as the Integration Test passed for anomaly-detection
Version: 3.0.0
Distribution: tar
Architecture: x64
Platform: linux

Please check the logs: https://some/url/redirect

*", returnStdout=true}) + integ-test.updateGitHubIssueLabels({repoUrl=https://github.com/opensearch-project/anomaly-detection.git, issueTitle=[AUTOCUT] Integration Test failed for anomaly-detection: 3.0.0, label=linux:tar:x64, action=remove}) + updateGitHubIssueLabels.usernamePassword({credentialsId=jenkins-github-bot-token, passwordVariable=GITHUB_TOKEN, usernameVariable=GITHUB_USER}) + updateGitHubIssueLabels.withCredentials([[GITHUB_USER, GITHUB_TOKEN]], groovy.lang.Closure) + updateGitHubIssueLabels.sh({script=gh issue list --repo https://github.com/opensearch-project/anomaly-detection.git -S "[AUTOCUT] Integration Test failed for anomaly-detection: 3.0.0 in:title" --json number --jq '.[0].number', returnStdout=true}) + updateGitHubIssueLabels.sh({script=gh label list --repo https://github.com/opensearch-project/anomaly-detection.git -S linux:tar:x64 --json name --jq '.[0].name', returnStdout=true}) + updateGitHubIssueLabels.println(linux:tar:x64 label does not exist. Skipping the label removal) integ-test.echo(Completed running integtest for component anomaly-detection) integ-test.uploadTestResults({buildManifestFileName=tests/jenkins/data/opensearch-3.0.0-build.yml, jobName=dummy_job}) uploadTestResults.legacySCM(groovy.lang.Closure) - uploadTestResults.library({identifier=jenkins@6.1.0, retriever=null}) + uploadTestResults.library({identifier=jenkins@6.3.0, retriever=null}) uploadTestResults.readYaml({file=tests/jenkins/data/opensearch-3.0.0-build.yml}) BuildManifest.asBoolean() uploadTestResults.echo(Build Id: 9010) @@ -201,7 +201,7 @@ ccc -R opensearch-project/anomaly-detection --comment "Closing the issue as the integ-test.sh(rm -rf test-results) integ-test.runIntegTestScript({jobName=distribution-build-opensearch, componentName=neural-search, buildManifest=tests/jenkins/data/opensearch-3.0.0-build.yml, testManifest=manifests/tests/jenkins/data/opensearch-3.0.0-test.yml, localPath=/tmp/workspace/tar, switchUserNonRoot=false}) runIntegTestScript.legacySCM(groovy.lang.Closure) - runIntegTestScript.library({identifier=jenkins@6.1.0, retriever=null}) + runIntegTestScript.library({identifier=jenkins@6.3.0, retriever=null}) runIntegTestScript.readYaml({file=tests/jenkins/data/opensearch-3.0.0-build.yml}) BuildManifest.asBoolean() BuildManifest.getArtifactArchitecture() @@ -210,7 +210,7 @@ ccc -R opensearch-project/anomaly-detection --comment "Closing the issue as the runIntegTestScript.echo(Start integTest on: tar x64 linux) runIntegTestScript.detectTestDockerAgent({testManifest=manifests/tests/jenkins/data/opensearch-3.0.0-test.yml}) detectTestDockerAgent.legacySCM(groovy.lang.Closure) - detectTestDockerAgent.library({identifier=jenkins@6.1.0, retriever=null}) + detectTestDockerAgent.library({identifier=jenkins@6.3.0, retriever=null}) detectTestDockerAgent.readYaml({file=manifests/tests/jenkins/data/opensearch-3.0.0-test.yml}) TestManifest.asBoolean() detectTestDockerAgent.echo(Using Docker image opensearchstaging/ci-runner:ci-runner-centos7-opensearch-build-v3 (-e JAVA_HOME=/opt/java/openjdk-17)) @@ -227,16 +227,16 @@ ccc -R opensearch-project/anomaly-detection --comment "Closing the issue as the runIntegTestScript.echo(Run command: env PATH=$PATH JAVA_HOME=/opt/java/openjdk-17 ./test.sh integ-test manifests/tests/jenkins/data/opensearch-3.0.0-test.yml --component neural-search --test-run-id 234 --paths opensearch=/tmp/workspace/tar --base-path DUMMY_PUBLIC_ARTIFACT_URL/dummy_job/3.0.0/9010/linux/x64/tar ) runIntegTestScript.sh(env PATH=$PATH JAVA_HOME=/opt/java/openjdk-17 ./test.sh integ-test manifests/tests/jenkins/data/opensearch-3.0.0-test.yml --component neural-search --test-run-id 234 --paths opensearch=/tmp/workspace/tar --base-path DUMMY_PUBLIC_ARTIFACT_URL/dummy_job/3.0.0/9010/linux/x64/tar ) BuildManifest.getRepo(neural-search) - integ-test.closeGithubIssue({repoUrl=https://github.com/opensearch-project/neural-search.git, issueTitle=[AUTOCUT] Integration Test failed for neural-search: 3.0.0 tar distribution, closeComment=Closing the issue as the Integration Test passed for neural-search
Version: 3.0.0
Distribution: tar
Architecture: x64
Platform: linux

Please check the logs: https://some/url/redirect

*, label=autocut,v3.0.0,integ-test-failure}) - closeGithubIssue.usernamePassword({credentialsId=jenkins-github-bot-token, passwordVariable=GITHUB_TOKEN, usernameVariable=GITHUB_USER}) - closeGithubIssue.withCredentials([[GITHUB_USER, GITHUB_TOKEN]], groovy.lang.Closure) - closeGithubIssue.sh({script=gh issue list --repo https://github.com/opensearch-project/neural-search.git -S "[AUTOCUT] Integration Test failed for neural-search: 3.0.0 tar distribution in:title" --label autocut,v3.0.0,integ-test-failure --json number --jq '.[0].number', returnStdout=true}) - closeGithubIssue.sh({script=gh issue close bbb -ccc -R opensearch-project/neural-search --comment "Closing the issue as the Integration Test passed for neural-search
Version: 3.0.0
Distribution: tar
Architecture: x64
Platform: linux

Please check the logs: https://some/url/redirect

*", returnStdout=true}) + integ-test.updateGitHubIssueLabels({repoUrl=https://github.com/opensearch-project/neural-search.git, issueTitle=[AUTOCUT] Integration Test failed for neural-search: 3.0.0, label=linux:tar:x64, action=remove}) + updateGitHubIssueLabels.usernamePassword({credentialsId=jenkins-github-bot-token, passwordVariable=GITHUB_TOKEN, usernameVariable=GITHUB_USER}) + updateGitHubIssueLabels.withCredentials([[GITHUB_USER, GITHUB_TOKEN]], groovy.lang.Closure) + updateGitHubIssueLabels.sh({script=gh issue list --repo https://github.com/opensearch-project/neural-search.git -S "[AUTOCUT] Integration Test failed for neural-search: 3.0.0 in:title" --json number --jq '.[0].number', returnStdout=true}) + updateGitHubIssueLabels.sh({script=gh label list --repo https://github.com/opensearch-project/neural-search.git -S linux:tar:x64 --json name --jq '.[0].name', returnStdout=true}) + updateGitHubIssueLabels.println(linux:tar:x64 label does not exist. Skipping the label removal) integ-test.echo(Completed running integtest for component neural-search) integ-test.uploadTestResults({buildManifestFileName=tests/jenkins/data/opensearch-3.0.0-build.yml, jobName=dummy_job}) uploadTestResults.legacySCM(groovy.lang.Closure) - uploadTestResults.library({identifier=jenkins@6.1.0, retriever=null}) + uploadTestResults.library({identifier=jenkins@6.3.0, retriever=null}) uploadTestResults.readYaml({file=tests/jenkins/data/opensearch-3.0.0-build.yml}) BuildManifest.asBoolean() uploadTestResults.echo(Build Id: 9010) @@ -262,7 +262,7 @@ ccc -R opensearch-project/neural-search --comment "Closing the issue as the Inte integ-test.sh(rm -rf test-results) integ-test.runIntegTestScript({jobName=distribution-build-opensearch, componentName=security-analytics, buildManifest=tests/jenkins/data/opensearch-3.0.0-build.yml, testManifest=manifests/tests/jenkins/data/opensearch-3.0.0-test.yml, localPath=/tmp/workspace/tar, switchUserNonRoot=false}) runIntegTestScript.legacySCM(groovy.lang.Closure) - runIntegTestScript.library({identifier=jenkins@6.1.0, retriever=null}) + runIntegTestScript.library({identifier=jenkins@6.3.0, retriever=null}) runIntegTestScript.readYaml({file=tests/jenkins/data/opensearch-3.0.0-build.yml}) BuildManifest.asBoolean() BuildManifest.getArtifactArchitecture() @@ -271,7 +271,7 @@ ccc -R opensearch-project/neural-search --comment "Closing the issue as the Inte runIntegTestScript.echo(Start integTest on: tar x64 linux) runIntegTestScript.detectTestDockerAgent({testManifest=manifests/tests/jenkins/data/opensearch-3.0.0-test.yml}) detectTestDockerAgent.legacySCM(groovy.lang.Closure) - detectTestDockerAgent.library({identifier=jenkins@6.1.0, retriever=null}) + detectTestDockerAgent.library({identifier=jenkins@6.3.0, retriever=null}) detectTestDockerAgent.readYaml({file=manifests/tests/jenkins/data/opensearch-3.0.0-test.yml}) TestManifest.asBoolean() detectTestDockerAgent.echo(Using Docker image opensearchstaging/ci-runner:ci-runner-centos7-opensearch-build-v3 (-e JAVA_HOME=/opt/java/openjdk-17)) @@ -288,16 +288,16 @@ ccc -R opensearch-project/neural-search --comment "Closing the issue as the Inte runIntegTestScript.echo(Run command: env PATH=$PATH JAVA_HOME=/opt/java/openjdk-17 ./test.sh integ-test manifests/tests/jenkins/data/opensearch-3.0.0-test.yml --component security-analytics --test-run-id 234 --paths opensearch=/tmp/workspace/tar --base-path DUMMY_PUBLIC_ARTIFACT_URL/dummy_job/3.0.0/9010/linux/x64/tar ) runIntegTestScript.sh(env PATH=$PATH JAVA_HOME=/opt/java/openjdk-17 ./test.sh integ-test manifests/tests/jenkins/data/opensearch-3.0.0-test.yml --component security-analytics --test-run-id 234 --paths opensearch=/tmp/workspace/tar --base-path DUMMY_PUBLIC_ARTIFACT_URL/dummy_job/3.0.0/9010/linux/x64/tar ) BuildManifest.getRepo(security-analytics) - integ-test.closeGithubIssue({repoUrl=https://github.com/opensearch-project/security-analytics.git, issueTitle=[AUTOCUT] Integration Test failed for security-analytics: 3.0.0 tar distribution, closeComment=Closing the issue as the Integration Test passed for security-analytics
Version: 3.0.0
Distribution: tar
Architecture: x64
Platform: linux

Please check the logs: https://some/url/redirect

*, label=autocut,v3.0.0,integ-test-failure}) - closeGithubIssue.usernamePassword({credentialsId=jenkins-github-bot-token, passwordVariable=GITHUB_TOKEN, usernameVariable=GITHUB_USER}) - closeGithubIssue.withCredentials([[GITHUB_USER, GITHUB_TOKEN]], groovy.lang.Closure) - closeGithubIssue.sh({script=gh issue list --repo https://github.com/opensearch-project/security-analytics.git -S "[AUTOCUT] Integration Test failed for security-analytics: 3.0.0 tar distribution in:title" --label autocut,v3.0.0,integ-test-failure --json number --jq '.[0].number', returnStdout=true}) - closeGithubIssue.sh({script=gh issue close bbb -ccc -R opensearch-project/security-analytics --comment "Closing the issue as the Integration Test passed for security-analytics
Version: 3.0.0
Distribution: tar
Architecture: x64
Platform: linux

Please check the logs: https://some/url/redirect

*", returnStdout=true}) + integ-test.updateGitHubIssueLabels({repoUrl=https://github.com/opensearch-project/security-analytics.git, issueTitle=[AUTOCUT] Integration Test failed for security-analytics: 3.0.0, label=linux:tar:x64, action=remove}) + updateGitHubIssueLabels.usernamePassword({credentialsId=jenkins-github-bot-token, passwordVariable=GITHUB_TOKEN, usernameVariable=GITHUB_USER}) + updateGitHubIssueLabels.withCredentials([[GITHUB_USER, GITHUB_TOKEN]], groovy.lang.Closure) + updateGitHubIssueLabels.sh({script=gh issue list --repo https://github.com/opensearch-project/security-analytics.git -S "[AUTOCUT] Integration Test failed for security-analytics: 3.0.0 in:title" --json number --jq '.[0].number', returnStdout=true}) + updateGitHubIssueLabels.sh({script=gh label list --repo https://github.com/opensearch-project/security-analytics.git -S linux:tar:x64 --json name --jq '.[0].name', returnStdout=true}) + updateGitHubIssueLabels.println(linux:tar:x64 label does not exist. Skipping the label removal) integ-test.echo(Completed running integtest for component security-analytics) integ-test.uploadTestResults({buildManifestFileName=tests/jenkins/data/opensearch-3.0.0-build.yml, jobName=dummy_job}) uploadTestResults.legacySCM(groovy.lang.Closure) - uploadTestResults.library({identifier=jenkins@6.1.0, retriever=null}) + uploadTestResults.library({identifier=jenkins@6.3.0, retriever=null}) uploadTestResults.readYaml({file=tests/jenkins/data/opensearch-3.0.0-build.yml}) BuildManifest.asBoolean() uploadTestResults.echo(Build Id: 9010) @@ -323,7 +323,7 @@ ccc -R opensearch-project/security-analytics --comment "Closing the issue as the integ-test.sh(rm -rf test-results) integ-test.runIntegTestScript({jobName=distribution-build-opensearch, componentName=security, buildManifest=tests/jenkins/data/opensearch-3.0.0-build.yml, testManifest=manifests/tests/jenkins/data/opensearch-3.0.0-test.yml, localPath=/tmp/workspace/tar, switchUserNonRoot=false}) runIntegTestScript.legacySCM(groovy.lang.Closure) - runIntegTestScript.library({identifier=jenkins@6.1.0, retriever=null}) + runIntegTestScript.library({identifier=jenkins@6.3.0, retriever=null}) runIntegTestScript.readYaml({file=tests/jenkins/data/opensearch-3.0.0-build.yml}) BuildManifest.asBoolean() BuildManifest.getArtifactArchitecture() @@ -332,7 +332,7 @@ ccc -R opensearch-project/security-analytics --comment "Closing the issue as the runIntegTestScript.echo(Start integTest on: tar x64 linux) runIntegTestScript.detectTestDockerAgent({testManifest=manifests/tests/jenkins/data/opensearch-3.0.0-test.yml}) detectTestDockerAgent.legacySCM(groovy.lang.Closure) - detectTestDockerAgent.library({identifier=jenkins@6.1.0, retriever=null}) + detectTestDockerAgent.library({identifier=jenkins@6.3.0, retriever=null}) detectTestDockerAgent.readYaml({file=manifests/tests/jenkins/data/opensearch-3.0.0-test.yml}) TestManifest.asBoolean() detectTestDockerAgent.echo(Using Docker image opensearchstaging/ci-runner:ci-runner-centos7-opensearch-build-v3 (-e JAVA_HOME=/opt/java/openjdk-17)) @@ -349,16 +349,16 @@ ccc -R opensearch-project/security-analytics --comment "Closing the issue as the runIntegTestScript.echo(Run command: env PATH=$PATH JAVA_HOME=/opt/java/openjdk-17 ./test.sh integ-test manifests/tests/jenkins/data/opensearch-3.0.0-test.yml --component security --test-run-id 234 --paths opensearch=/tmp/workspace/tar --base-path DUMMY_PUBLIC_ARTIFACT_URL/dummy_job/3.0.0/9010/linux/x64/tar ) runIntegTestScript.sh(env PATH=$PATH JAVA_HOME=/opt/java/openjdk-17 ./test.sh integ-test manifests/tests/jenkins/data/opensearch-3.0.0-test.yml --component security --test-run-id 234 --paths opensearch=/tmp/workspace/tar --base-path DUMMY_PUBLIC_ARTIFACT_URL/dummy_job/3.0.0/9010/linux/x64/tar ) BuildManifest.getRepo(security) - integ-test.closeGithubIssue({repoUrl=https://github.com/opensearch-project/security.git, issueTitle=[AUTOCUT] Integration Test failed for security: 3.0.0 tar distribution, closeComment=Closing the issue as the Integration Test passed for security
Version: 3.0.0
Distribution: tar
Architecture: x64
Platform: linux

Please check the logs: https://some/url/redirect

*, label=autocut,v3.0.0,integ-test-failure}) - closeGithubIssue.usernamePassword({credentialsId=jenkins-github-bot-token, passwordVariable=GITHUB_TOKEN, usernameVariable=GITHUB_USER}) - closeGithubIssue.withCredentials([[GITHUB_USER, GITHUB_TOKEN]], groovy.lang.Closure) - closeGithubIssue.sh({script=gh issue list --repo https://github.com/opensearch-project/security.git -S "[AUTOCUT] Integration Test failed for security: 3.0.0 tar distribution in:title" --label autocut,v3.0.0,integ-test-failure --json number --jq '.[0].number', returnStdout=true}) - closeGithubIssue.sh({script=gh issue close bbb -ccc -R opensearch-project/security --comment "Closing the issue as the Integration Test passed for security
Version: 3.0.0
Distribution: tar
Architecture: x64
Platform: linux

Please check the logs: https://some/url/redirect

*", returnStdout=true}) + integ-test.updateGitHubIssueLabels({repoUrl=https://github.com/opensearch-project/security.git, issueTitle=[AUTOCUT] Integration Test failed for security: 3.0.0, label=linux:tar:x64, action=remove}) + updateGitHubIssueLabels.usernamePassword({credentialsId=jenkins-github-bot-token, passwordVariable=GITHUB_TOKEN, usernameVariable=GITHUB_USER}) + updateGitHubIssueLabels.withCredentials([[GITHUB_USER, GITHUB_TOKEN]], groovy.lang.Closure) + updateGitHubIssueLabels.sh({script=gh issue list --repo https://github.com/opensearch-project/security.git -S "[AUTOCUT] Integration Test failed for security: 3.0.0 in:title" --json number --jq '.[0].number', returnStdout=true}) + updateGitHubIssueLabels.sh({script=gh label list --repo https://github.com/opensearch-project/security.git -S linux:tar:x64 --json name --jq '.[0].name', returnStdout=true}) + updateGitHubIssueLabels.println(linux:tar:x64 label does not exist. Skipping the label removal) integ-test.echo(Completed running integtest for component security) integ-test.uploadTestResults({buildManifestFileName=tests/jenkins/data/opensearch-3.0.0-build.yml, jobName=dummy_job}) uploadTestResults.legacySCM(groovy.lang.Closure) - uploadTestResults.library({identifier=jenkins@6.1.0, retriever=null}) + uploadTestResults.library({identifier=jenkins@6.3.0, retriever=null}) uploadTestResults.readYaml({file=tests/jenkins/data/opensearch-3.0.0-build.yml}) BuildManifest.asBoolean() uploadTestResults.echo(Build Id: 9010) @@ -384,7 +384,7 @@ ccc -R opensearch-project/security --comment "Closing the issue as the Integrati integ-test.sh(rm -rf test-results) integ-test.runIntegTestScript({jobName=distribution-build-opensearch, componentName=k-NN, buildManifest=tests/jenkins/data/opensearch-3.0.0-build.yml, testManifest=manifests/tests/jenkins/data/opensearch-3.0.0-test.yml, localPath=/tmp/workspace/tar, switchUserNonRoot=false}) runIntegTestScript.legacySCM(groovy.lang.Closure) - runIntegTestScript.library({identifier=jenkins@6.1.0, retriever=null}) + runIntegTestScript.library({identifier=jenkins@6.3.0, retriever=null}) runIntegTestScript.readYaml({file=tests/jenkins/data/opensearch-3.0.0-build.yml}) BuildManifest.asBoolean() BuildManifest.getArtifactArchitecture() @@ -393,7 +393,7 @@ ccc -R opensearch-project/security --comment "Closing the issue as the Integrati runIntegTestScript.echo(Start integTest on: tar x64 linux) runIntegTestScript.detectTestDockerAgent({testManifest=manifests/tests/jenkins/data/opensearch-3.0.0-test.yml}) detectTestDockerAgent.legacySCM(groovy.lang.Closure) - detectTestDockerAgent.library({identifier=jenkins@6.1.0, retriever=null}) + detectTestDockerAgent.library({identifier=jenkins@6.3.0, retriever=null}) detectTestDockerAgent.readYaml({file=manifests/tests/jenkins/data/opensearch-3.0.0-test.yml}) TestManifest.asBoolean() detectTestDockerAgent.echo(Using Docker image opensearchstaging/ci-runner:ci-runner-centos7-opensearch-build-v3 (-e JAVA_HOME=/opt/java/openjdk-17)) @@ -410,16 +410,16 @@ ccc -R opensearch-project/security --comment "Closing the issue as the Integrati runIntegTestScript.echo(Run command: env PATH=$PATH JAVA_HOME=/opt/java/openjdk-17 ./test.sh integ-test manifests/tests/jenkins/data/opensearch-3.0.0-test.yml --component k-NN --test-run-id 234 --paths opensearch=/tmp/workspace/tar --base-path DUMMY_PUBLIC_ARTIFACT_URL/dummy_job/3.0.0/9010/linux/x64/tar ) runIntegTestScript.sh(env PATH=$PATH JAVA_HOME=/opt/java/openjdk-17 ./test.sh integ-test manifests/tests/jenkins/data/opensearch-3.0.0-test.yml --component k-NN --test-run-id 234 --paths opensearch=/tmp/workspace/tar --base-path DUMMY_PUBLIC_ARTIFACT_URL/dummy_job/3.0.0/9010/linux/x64/tar ) BuildManifest.getRepo(k-NN) - integ-test.closeGithubIssue({repoUrl=https://github.com/opensearch-project/k-NN.git, issueTitle=[AUTOCUT] Integration Test failed for k-NN: 3.0.0 tar distribution, closeComment=Closing the issue as the Integration Test passed for k-NN
Version: 3.0.0
Distribution: tar
Architecture: x64
Platform: linux

Please check the logs: https://some/url/redirect

*, label=autocut,v3.0.0,integ-test-failure}) - closeGithubIssue.usernamePassword({credentialsId=jenkins-github-bot-token, passwordVariable=GITHUB_TOKEN, usernameVariable=GITHUB_USER}) - closeGithubIssue.withCredentials([[GITHUB_USER, GITHUB_TOKEN]], groovy.lang.Closure) - closeGithubIssue.sh({script=gh issue list --repo https://github.com/opensearch-project/k-NN.git -S "[AUTOCUT] Integration Test failed for k-NN: 3.0.0 tar distribution in:title" --label autocut,v3.0.0,integ-test-failure --json number --jq '.[0].number', returnStdout=true}) - closeGithubIssue.sh({script=gh issue close bbb -ccc -R opensearch-project/k-NN --comment "Closing the issue as the Integration Test passed for k-NN
Version: 3.0.0
Distribution: tar
Architecture: x64
Platform: linux

Please check the logs: https://some/url/redirect

*", returnStdout=true}) + integ-test.updateGitHubIssueLabels({repoUrl=https://github.com/opensearch-project/k-NN.git, issueTitle=[AUTOCUT] Integration Test failed for k-NN: 3.0.0, label=linux:tar:x64, action=remove}) + updateGitHubIssueLabels.usernamePassword({credentialsId=jenkins-github-bot-token, passwordVariable=GITHUB_TOKEN, usernameVariable=GITHUB_USER}) + updateGitHubIssueLabels.withCredentials([[GITHUB_USER, GITHUB_TOKEN]], groovy.lang.Closure) + updateGitHubIssueLabels.sh({script=gh issue list --repo https://github.com/opensearch-project/k-NN.git -S "[AUTOCUT] Integration Test failed for k-NN: 3.0.0 in:title" --json number --jq '.[0].number', returnStdout=true}) + updateGitHubIssueLabels.sh({script=gh label list --repo https://github.com/opensearch-project/k-NN.git -S linux:tar:x64 --json name --jq '.[0].name', returnStdout=true}) + updateGitHubIssueLabels.println(linux:tar:x64 label does not exist. Skipping the label removal) integ-test.echo(Completed running integtest for component k-NN) integ-test.uploadTestResults({buildManifestFileName=tests/jenkins/data/opensearch-3.0.0-build.yml, jobName=dummy_job}) uploadTestResults.legacySCM(groovy.lang.Closure) - uploadTestResults.library({identifier=jenkins@6.1.0, retriever=null}) + uploadTestResults.library({identifier=jenkins@6.3.0, retriever=null}) uploadTestResults.readYaml({file=tests/jenkins/data/opensearch-3.0.0-build.yml}) BuildManifest.asBoolean() uploadTestResults.echo(Build Id: 9010) @@ -445,7 +445,7 @@ ccc -R opensearch-project/k-NN --comment "Closing the issue as the Integration T integ-test.sh(rm -rf test-results) integ-test.runIntegTestScript({jobName=distribution-build-opensearch, componentName=notifications, buildManifest=tests/jenkins/data/opensearch-3.0.0-build.yml, testManifest=manifests/tests/jenkins/data/opensearch-3.0.0-test.yml, localPath=/tmp/workspace/tar, switchUserNonRoot=false}) runIntegTestScript.legacySCM(groovy.lang.Closure) - runIntegTestScript.library({identifier=jenkins@6.1.0, retriever=null}) + runIntegTestScript.library({identifier=jenkins@6.3.0, retriever=null}) runIntegTestScript.readYaml({file=tests/jenkins/data/opensearch-3.0.0-build.yml}) BuildManifest.asBoolean() BuildManifest.getArtifactArchitecture() @@ -454,7 +454,7 @@ ccc -R opensearch-project/k-NN --comment "Closing the issue as the Integration T runIntegTestScript.echo(Start integTest on: tar x64 linux) runIntegTestScript.detectTestDockerAgent({testManifest=manifests/tests/jenkins/data/opensearch-3.0.0-test.yml}) detectTestDockerAgent.legacySCM(groovy.lang.Closure) - detectTestDockerAgent.library({identifier=jenkins@6.1.0, retriever=null}) + detectTestDockerAgent.library({identifier=jenkins@6.3.0, retriever=null}) detectTestDockerAgent.readYaml({file=manifests/tests/jenkins/data/opensearch-3.0.0-test.yml}) TestManifest.asBoolean() detectTestDockerAgent.echo(Using Docker image opensearchstaging/ci-runner:ci-runner-centos7-opensearch-build-v3 (-e JAVA_HOME=/opt/java/openjdk-17)) @@ -471,16 +471,16 @@ ccc -R opensearch-project/k-NN --comment "Closing the issue as the Integration T runIntegTestScript.echo(Run command: env PATH=$PATH JAVA_HOME=/opt/java/openjdk-17 ./test.sh integ-test manifests/tests/jenkins/data/opensearch-3.0.0-test.yml --component notifications --test-run-id 234 --paths opensearch=/tmp/workspace/tar --base-path DUMMY_PUBLIC_ARTIFACT_URL/dummy_job/3.0.0/9010/linux/x64/tar ) runIntegTestScript.sh(env PATH=$PATH JAVA_HOME=/opt/java/openjdk-17 ./test.sh integ-test manifests/tests/jenkins/data/opensearch-3.0.0-test.yml --component notifications --test-run-id 234 --paths opensearch=/tmp/workspace/tar --base-path DUMMY_PUBLIC_ARTIFACT_URL/dummy_job/3.0.0/9010/linux/x64/tar ) BuildManifest.getRepo(notifications) - integ-test.closeGithubIssue({repoUrl=https://github.com/opensearch-project/notifications.git, issueTitle=[AUTOCUT] Integration Test failed for notifications: 3.0.0 tar distribution, closeComment=Closing the issue as the Integration Test passed for notifications
Version: 3.0.0
Distribution: tar
Architecture: x64
Platform: linux

Please check the logs: https://some/url/redirect

*, label=autocut,v3.0.0,integ-test-failure}) - closeGithubIssue.usernamePassword({credentialsId=jenkins-github-bot-token, passwordVariable=GITHUB_TOKEN, usernameVariable=GITHUB_USER}) - closeGithubIssue.withCredentials([[GITHUB_USER, GITHUB_TOKEN]], groovy.lang.Closure) - closeGithubIssue.sh({script=gh issue list --repo https://github.com/opensearch-project/notifications.git -S "[AUTOCUT] Integration Test failed for notifications: 3.0.0 tar distribution in:title" --label autocut,v3.0.0,integ-test-failure --json number --jq '.[0].number', returnStdout=true}) - closeGithubIssue.sh({script=gh issue close bbb -ccc -R opensearch-project/notifications --comment "Closing the issue as the Integration Test passed for notifications
Version: 3.0.0
Distribution: tar
Architecture: x64
Platform: linux

Please check the logs: https://some/url/redirect

*", returnStdout=true}) + integ-test.updateGitHubIssueLabels({repoUrl=https://github.com/opensearch-project/notifications.git, issueTitle=[AUTOCUT] Integration Test failed for notifications: 3.0.0, label=linux:tar:x64, action=remove}) + updateGitHubIssueLabels.usernamePassword({credentialsId=jenkins-github-bot-token, passwordVariable=GITHUB_TOKEN, usernameVariable=GITHUB_USER}) + updateGitHubIssueLabels.withCredentials([[GITHUB_USER, GITHUB_TOKEN]], groovy.lang.Closure) + updateGitHubIssueLabels.sh({script=gh issue list --repo https://github.com/opensearch-project/notifications.git -S "[AUTOCUT] Integration Test failed for notifications: 3.0.0 in:title" --json number --jq '.[0].number', returnStdout=true}) + updateGitHubIssueLabels.sh({script=gh label list --repo https://github.com/opensearch-project/notifications.git -S linux:tar:x64 --json name --jq '.[0].name', returnStdout=true}) + updateGitHubIssueLabels.println(linux:tar:x64 label does not exist. Skipping the label removal) integ-test.echo(Completed running integtest for component notifications) integ-test.uploadTestResults({buildManifestFileName=tests/jenkins/data/opensearch-3.0.0-build.yml, jobName=dummy_job}) uploadTestResults.legacySCM(groovy.lang.Closure) - uploadTestResults.library({identifier=jenkins@6.1.0, retriever=null}) + uploadTestResults.library({identifier=jenkins@6.3.0, retriever=null}) uploadTestResults.readYaml({file=tests/jenkins/data/opensearch-3.0.0-build.yml}) BuildManifest.asBoolean() uploadTestResults.echo(Build Id: 9010) @@ -503,13 +503,13 @@ ccc -R opensearch-project/notifications --comment "Closing the issue as the Inte integ-test.checkout(groovy.lang.Closure) integ-test.downloadBuildManifest({url=https://ci.opensearch.org/ci/dbc/distribution-build-opensearch/3.0.0/9010/linux/x64/tar/dist/opensearch/opensearch-3.0.0-linux-x64.tar.gz, path=tests/jenkins/data/opensearch-3.0.0-build.yml}) downloadBuildManifest.legacySCM(groovy.lang.Closure) - downloadBuildManifest.library({identifier=jenkins@6.1.0, retriever=null}) + downloadBuildManifest.library({identifier=jenkins@6.3.0, retriever=null}) downloadBuildManifest.sh(curl -sSL https://ci.opensearch.org/ci/dbc/distribution-build-opensearch/3.0.0/9010/linux/x64/tar/dist/opensearch/opensearch-3.0.0-linux-x64.tar.gz --output tests/jenkins/data/opensearch-3.0.0-build.yml) downloadBuildManifest.readYaml({file=tests/jenkins/data/opensearch-3.0.0-build.yml}) BuildManifest.asBoolean() integ-test.createUploadTestReportManifest({testManifest=manifests/tests/jenkins/data/opensearch-3.0.0-test.yml, buildManifest=tests/jenkins/data/opensearch-3.0.0-build.yml, testRunID=234, testType=integ-test, componentName=}) createUploadTestReportManifest.legacySCM(groovy.lang.Closure) - createUploadTestReportManifest.library({identifier=jenkins@6.1.0, retriever=null}) + createUploadTestReportManifest.library({identifier=jenkins@6.3.0, retriever=null}) createUploadTestReportManifest.readYaml({file=manifests/tests/jenkins/data/opensearch-3.0.0-test.yml}) TestManifest.asBoolean() createUploadTestReportManifest.readYaml({file=tests/jenkins/data/opensearch-3.0.0-build.yml}) From 29b444d93ff84621c0e130ae42e109adbd0b7a04 Mon Sep 17 00:00:00 2001 From: Sayali Gaikawad Date: Fri, 2 Feb 2024 17:02:23 -0800 Subject: [PATCH 2/2] Add for OSD Signed-off-by: Sayali Gaikawad --- .../integ-test.jenkinsfile | 23 ++++---- .../TestOpenSearchDashboardsIntegTest.groovy | 54 +++++++++++++++---- tests/jenkins/TestOpenSearchIntegTest.groovy | 3 +- .../integ-test.jenkinsfile.txt | 42 +++++++-------- 4 files changed, 80 insertions(+), 42 deletions(-) diff --git a/jenkins/opensearch-dashboards/integ-test.jenkinsfile b/jenkins/opensearch-dashboards/integ-test.jenkinsfile index 115f872107..80bc94732e 100644 --- a/jenkins/opensearch-dashboards/integ-test.jenkinsfile +++ b/jenkins/opensearch-dashboards/integ-test.jenkinsfile @@ -7,7 +7,7 @@ * compatible open source license. */ -lib = library(identifier: 'jenkins@5.11.1', retriever: modernSCM([ +lib = library(identifier: 'jenkins@6.3.0', retriever: modernSCM([ $class: 'GitSCMSource', remote: 'https://github.com/opensearch-project/opensearch-build-libraries.git', @@ -256,14 +256,13 @@ pipeline { localPath: "${WORKSPACE}/${distribution}", switchUserNonRoot: "${switch_user_non_root}" ) - String closeCommentMessage = "Closing the issue as the Integration Test passed for ${local_component}
Version: ${version}
Distribution: ${distribution}
Architecture: ${architecture}
Platform: ${platform}

Please check the logs: ${RUN_DISPLAY_URL}

*" if (env.updateGithubIssues.toBoolean()) { - closeGithubIssue( + updateGitHubIssueLabels( repoUrl: buildManifestObj.getRepo("${local_component}"), - issueTitle: "[AUTOCUT] Integration Test failed for ${local_component}: ${version} ${distribution} distribution", - closeComment: closeCommentMessage, - label: "autocut,v${version},integ-test-failure" - ) + issueTitle: "[AUTOCUT] Integration Test failed for ${local_component}: ${version}", + label: "${platform}:${distribution}:${architecture}", + action: "remove" + ) } } } catch (e) { @@ -272,10 +271,16 @@ pipeline { if (env.updateGithubIssues.toBoolean()) { createGithubIssue( repoUrl: buildManifestObj.getRepo("${local_component}"), - issueTitle: "[AUTOCUT] Integration Test failed for ${local_component}: ${version} ${distribution} distribution", + issueTitle: "[AUTOCUT] Integration Test failed for ${local_component}: ${version}", issueBody: issueBodyMessage, - label: "autocut,v${version},integ-test-failure" + label: "autocut,v${version}" ) + updateGitHubIssueLabels( + repoUrl: buildManifestObj.getRepo("${local_component}"), + issueTitle: "[AUTOCUT] Integration Test failed for ${local_component}: ${version}", + label: "integ-test-failure,${platform}:${distribution}:${architecture}", + action: "add" + ) } throw new Exception("Error running integtest for component ${local_component}", e) } finally { diff --git a/tests/jenkins/TestOpenSearchDashboardsIntegTest.groovy b/tests/jenkins/TestOpenSearchDashboardsIntegTest.groovy index ed6c9d3eea..2f46820a1e 100644 --- a/tests/jenkins/TestOpenSearchDashboardsIntegTest.groovy +++ b/tests/jenkins/TestOpenSearchDashboardsIntegTest.groovy @@ -13,6 +13,7 @@ import static com.lesfurets.jenkins.unit.MethodCall.callArgsToString import static com.lesfurets.jenkins.unit.global.lib.GitSource.gitSource import static org.hamcrest.CoreMatchers.hasItem import static org.hamcrest.CoreMatchers.equalTo +import static org.hamcrest.CoreMatchers.not import static org.hamcrest.CoreMatchers.hasItems import static org.hamcrest.MatcherAssert.assertThat import static org.junit.jupiter.api.Assertions.assertThrows @@ -25,7 +26,7 @@ class TestOpenSearchDashboardsIntegTest extends BuildPipelineTest { helper.registerSharedLibrary( library().name('jenkins') - .defaultVersion('5.11.1') + .defaultVersion('6.3.0') .allowOverride(true) .implicit(true) .targetPath('vars') @@ -139,10 +140,10 @@ class TestOpenSearchDashboardsIntegTest extends BuildPipelineTest { helper.addShMock("date -d \"3 days ago\" +'%Y-%m-%d'") { script -> return [stdout: "2023-10-24", exitValue: 0] } - helper.addShMock("""gh issue list --repo https://github.com/opensearch-project/dashboards-visualizations.git -S "[AUTOCUT] Integration Test failed for ganttChartDashboards: 3.0.0 tar distribution in:title" --label autocut,v3.0.0,integ-test-failure --json number --jq '.[0].number'""") { script -> + helper.addShMock("""gh issue list --repo https://github.com/opensearch-project/dashboards-visualizations.git -S "[AUTOCUT] Integration Test failed for ganttChartDashboards: 3.0.0 in:title" --label autocut,v3.0.0 --json number --jq '.[0].number'""") { script -> return [stdout: "", exitValue: 0] } - helper.addShMock("""gh issue list --repo https://github.com/opensearch-project/dashboards-visualizations.git -S "[AUTOCUT] Integration Test failed for ganttChartDashboards: 3.0.0 tar distribution in:title is:closed closed:>=2023-10-24" --label autocut,v3.0.0,integ-test-failure --json number --jq '.[0].number'""") { script -> + helper.addShMock("""gh issue list --repo https://github.com/opensearch-project/dashboards-visualizations.git -S "[AUTOCUT] Integration Test failed for ganttChartDashboards: 3.0.0 in:title is:closed closed:>=2023-10-24" --label autocut,v3.0.0 --json number --jq '.[0].number'""") { script -> return [stdout: "", exitValue: 0] } helper.addShMock('env PATH=$PATH ./test.sh integ-test manifests/tests/jenkins/data/opensearch-dashboards-3.0.0-test.yml --component ganttChartDashboards --test-run-id 215 --paths opensearch=/tmp/workspace/tar opensearch-dashboards=/tmp/workspace/tar --base-path DUMMY_PUBLIC_ARTIFACT_URL/dummy_job/3.0.0/215/linux/x64/tar ', '', 1) @@ -150,24 +151,23 @@ class TestOpenSearchDashboardsIntegTest extends BuildPipelineTest { runScript('jenkins/opensearch-dashboards/integ-test.jenkinsfile') } assertJobStatusFailure() - assertThat(getCommandExecutions('sh', 'script'), hasItem("{script=gh issue list --repo https://github.com/opensearch-project/dashboards-observability.git -S \"[AUTOCUT] Integration Test failed for observabilityDashboards: 3.0.0 tar distribution in:title\" --label autocut,v3.0.0,integ-test-failure --json number --jq '.[0].number', returnStdout=true}")) + assertThat(getCommandExecutions('sh', 'script'), hasItem("{script=gh issue list --repo https://github.com/opensearch-project/dashboards-observability.git -S \"[AUTOCUT] Integration Test failed for observabilityDashboards: 3.0.0 in:title\" --json number --jq '.[0].number', returnStdout=true}")) } @Test - void CheckCloseGHissue() { + void CheckNotClosingGHissue() { addParam('UPDATE_GITHUB_ISSUES', true) helper.addShMock("date -d \"3 days ago\" +'%Y-%m-%d'") { script -> return [stdout: "2023-10-24", exitValue: 0] } helper.addShMock('env PATH=$PATH ./test.sh integ-test manifests/tests/jenkins/data/opensearch-dashboards-3.0.0-test.yml --component observabilityDashboards --test-run-id 215 --paths opensearch=/tmp/workspace/tar opensearch-dashboards=/tmp/workspace/tar --base-path DUMMY_PUBLIC_ARTIFACT_URL/dummy_job/3.0.0/215/linux/x64/tar ', '', 1) - helper.addShMock('gh issue list --repo https://github.com/opensearch-project/dashboards-visualization.git -S "[AUTOCUT] Integration Test failed for ganttChartDashboards: 3.0.0 tar distribution in:title" --label autocut,v3.0.0,integ-test-failure', '', 0) + helper.addShMock('gh issue list --repo https://github.com/opensearch-project/dashboards-visualization.git -S "[AUTOCUT] Integration Test failed for ganttChartDashboards: 3.0.0 in:title" --label autocut,v3.0.0', '', 0) assertThrows(Exception) { runScript('jenkins/opensearch-dashboards/integ-test.jenkinsfile') } assertJobStatusFailure() runScript('jenkins/opensearch-dashboards/integ-test.jenkinsfile') - assertThat(getCommandExecutions('sh', 'script'), hasItem("{script=gh issue list --repo https://github.com/opensearch-project/dashboards-visualizations.git -S \"[AUTOCUT] Integration Test failed for ganttChartDashboards: 3.0.0 tar distribution in:title\" --label autocut,v3.0.0,integ-test-failure --json number --jq '.[0].number', returnStdout=true}")) - assertThat(getCommandExecutions('sh', 'script'), hasItem("{script=gh issue close bbb\nccc -R opensearch-project/dashboards-visualizations --comment \"Closing the issue as the Integration Test passed for ganttChartDashboards
Version: 3.0.0
Distribution: tar
Architecture: x64
Platform: linux

Please check the logs: https://some/url/redirect

*\", returnStdout=true}")) + assertThat(getCommandExecutions('sh', 'script'), not(hasItem("{script=gh issue close bbb\nccc -R opensearch-project/dashboards-visualizations --comment \"Closing the issue as the Integration Test passed for ganttChartDashboards
Version: 3.0.0
Distribution: tar
Architecture: x64
Platform: linux

Please check the logs: https://some/url/redirect

*\", returnStdout=true}"))) } @Test @@ -176,10 +176,10 @@ class TestOpenSearchDashboardsIntegTest extends BuildPipelineTest { helper.addShMock("date -d \"3 days ago\" +'%Y-%m-%d'") { script -> return [stdout: "2023-10-24", exitValue: 0] } - helper.addShMock("""gh issue list --repo https://github.com/opensearch-project/dashboards-observability.git -S "[AUTOCUT] Integration Test failed for observabilityDashboards: 3.0.0 tar distribution in:title is:closed closed:>=2023-10-24" --label autocut,v3.0.0,integ-test-failure --json number --jq '.[0].number'""") { script -> + helper.addShMock("""gh issue list --repo https://github.com/opensearch-project/dashboards-observability.git -S "[AUTOCUT] Integration Test failed for observabilityDashboards: 3.0.0 in:title is:closed closed:>=2023-10-24" --label autocut,v3.0.0 --json number --jq '.[0].number'""") { script -> return [stdout: "", exitValue: 0] } - helper.addShMock("""gh issue list --repo https://github.com/opensearch-project/sql.git -S "[AUTOCUT] Integration Test failed for observabilityDashboards: 3.0.0 tar distribution in:title" --label autocut,v3.0.0,integ-test-failure --json number --jq '.[0].number'""") { script -> + helper.addShMock("""gh issue list --repo https://github.com/opensearch-project/sql.git -S "[AUTOCUT] Integration Test failed for observabilityDashboards: 3.0.0 in:title" --label autocut,v3.0.0 --json number --jq '.[0].number'""") { script -> return [stdout: "22", exitValue: 0] } helper.addShMock('env PATH=$PATH ./test.sh integ-test manifests/tests/jenkins/data/opensearch-dashboards-3.0.0-test.yml --component observabilityDashboards --test-run-id 215 --paths opensearch=/tmp/workspace/tar opensearch-dashboards=/tmp/workspace/tar --base-path DUMMY_PUBLIC_ARTIFACT_URL/dummy_job/3.0.0/215/linux/x64/tar ', '', 1) @@ -202,6 +202,40 @@ class TestOpenSearchDashboardsIntegTest extends BuildPipelineTest { assertThat(getCommandExecutions('sh', 'gh issue').size(), equalTo(0)) } + @Test + void verifyLabelRemoval() { + addParam('UPDATE_GITHUB_ISSUES', true) + helper.addShMock("""gh issue list --repo https://github.com/opensearch-project/dashboards-observability.git -S "[AUTOCUT] Integration Test failed for observabilityDashboards: 3.0.0 in:title" --json number --jq '.[0].number'""") { script -> + return [stdout: '65', exitValue: 0] + } + helper.addShMock("""gh label list --repo https://github.com/opensearch-project/dashboards-observability.git -S linux:tar:x64 --json name --jq '.[0].name'""") { script -> + return [stdout: 'linux:tar:x64', exitValue: 0] + } + helper.addShMock('env PATH=$PATH ./test.sh integ-test manifests/tests/jenkins/data/opensearch-dashboards-3.0.0-test.yml --component observabilityDashboards --test-run-id 215 --paths opensearch=/tmp/workspace/tar opensearch-dashboards=/tmp/workspace/tar --base-path DUMMY_PUBLIC_ARTIFACT_URL/dummy_job/3.0.0/215/linux/x64/tar ') { script -> + return [stdout: 'Completed running integtest for component observabilityDashboards', exitValue: 0] + } + runScript('jenkins/opensearch-dashboards/integ-test.jenkinsfile') + assertThat(getCommandExecutions('sh', 'gh issue'), hasItem('{script=gh issue edit 65 -R https://github.com/opensearch-project/dashboards-observability.git --remove-label \"linux:tar:x64\", returnStdout=true}')) + } + + @Test + void verifyLabelAddition() { + addParam('UPDATE_GITHUB_ISSUES', true) + helper.addShMock('env PATH=$PATH ./test.sh integ-test manifests/tests/jenkins/data/opensearch-dashboards-3.0.0-test.yml --component observabilityDashboards --test-run-id 215 --paths opensearch=/tmp/workspace/tar opensearch-dashboards=/tmp/workspace/tar --base-path DUMMY_PUBLIC_ARTIFACT_URL/dummy_job/3.0.0/215/linux/x64/tar ') { script -> + return [stdout: 'Error running integtest for component observabilityDashboards, creating Github issue', exitValue: 127]} + helper.addShMock("""gh issue list --repo https://github.com/opensearch-project/dashboards-observability.git -S "[AUTOCUT] Integration Test failed for observabilityDashboards: 3.0.0 in:title" --json number --jq '.[0].number'""") { script -> + return [stdout: '99', exitValue: 0] + } + helper.addShMock("""gh label list --repo https://github.com/opensearch-project/dashboards-observability.git -S linux:tar:x64 --json name --jq '.[0].name'""") { script -> + return [stdout: 'no labels in opensearch-project/dashboards-observability matched your search', exitValue: 0] + } + assertThrows(Exception) { + runScript('jenkins/opensearch/integ-test.jenkinsfile') + } + assertThat(getCommandExecutions('sh', 'label'), hasItem('{script=gh label create linux:tar:x64 --repo https://github.com/opensearch-project/dashboards-observability.git, returnStdout=true}')) + assertThat(getCommandExecutions('sh', 'gh issue'), hasItem('{script=gh issue edit 99 -R https://github.com/opensearch-project/dashboards-observability.git --add-label \"linux:tar:x64\", returnStdout=true}')) + } + def getCommandExecutions(methodName, command) { def shCommands = helper.callStack.findAll { call -> diff --git a/tests/jenkins/TestOpenSearchIntegTest.groovy b/tests/jenkins/TestOpenSearchIntegTest.groovy index 94c6425781..d1816add67 100644 --- a/tests/jenkins/TestOpenSearchIntegTest.groovy +++ b/tests/jenkins/TestOpenSearchIntegTest.groovy @@ -147,7 +147,6 @@ class TestOpenSearchIntegTest extends BuildPipelineTest { return [stdout: "Completed running integtest for component k-NN", exitValue: 0] } runScript('jenkins/opensearch/integ-test.jenkinsfile') - assertThat(getCommandExecutions('sh', 'script'), not(hasItem("{script=gh issue list --repo https://github.com/opensearch-project/k-NN.git -S \"[AUTOCUT] Integration Test failed for k-NN: 3.0.0 in:title\" --label autocut,v3.0.0 --json number --jq '.[0].number', returnStdout=true}"))) assertThat(getCommandExecutions('sh', 'script'), not(hasItem("{script=gh issue close bbb\nccc -R opensearch-project/k-NN --comment \"Closing the issue as the Integration Test passed for k-NN
Version: 3.0.0
Distribution: tar
Architecture: x64
Platform: linux

Please check the logs: https://some/url/redirect

*\", returnStdout=true}"))) } @@ -163,7 +162,7 @@ class TestOpenSearchIntegTest extends BuildPipelineTest { } assertJobStatusFailure() assertThat(getCommandExecutions('println', 'Issue'), hasItem('Issue already exists, adding a comment')) - assertThat(getCommandExecutions('sh', 'script'), hasItem("{script=gh issue list --repo https://github.com/opensearch-project/k-NN.git -S \"[AUTOCUT] Integration Test failed for k-NN: 3.0.0 in:title\" --label autocut,v3.0.0 --json number --jq '.[0].number', returnStdout=true}")) + assertThat(getCommandExecutions('sh', 'script'), hasItem("{script=gh issue list --repo https://github.com/opensearch-project/k-NN.git -S \"[AUTOCUT] Integration Test failed for k-NN: 3.0.0 in:title\" --json number --jq '.[0].number', returnStdout=true}")) assertThat(getCommandExecutions('sh', 'script'), hasItem("{script=gh issue comment bbb\nccc --repo https://github.com/opensearch-project/k-NN.git --body \"The integration test failed at distribution level for component k-NN
Version: 3.0.0
Distribution: tar
Architecture: x64
Platform: linux

Please check the logs: https://some/url/redirect

* Test-report manifest:*
- https://ci.opensearch.org/ci/dbc/dummy_job/3.0.0/9010/linux/x64/tar/test-results/234/integ-test/test-report.yml

_Note: Steps to reproduce, additional logs and other files can be found within the above test-report manifest.
Instructions of this test-report manifest can be found [here](https://github.com/opensearch-project/opensearch-build/tree/main/src/report_workflow#guide-on-test-report-manifest-from-ci)._\", returnStdout=true}")) } diff --git a/tests/jenkins/jenkinsjob-regression-files/opensearch-dashboards/integ-test.jenkinsfile.txt b/tests/jenkins/jenkinsjob-regression-files/opensearch-dashboards/integ-test.jenkinsfile.txt index 59c6d63c37..c94d6899f8 100644 --- a/tests/jenkins/jenkinsjob-regression-files/opensearch-dashboards/integ-test.jenkinsfile.txt +++ b/tests/jenkins/jenkinsjob-regression-files/opensearch-dashboards/integ-test.jenkinsfile.txt @@ -1,6 +1,6 @@ integ-test.run() integ-test.modernSCM({$class=GitSCMSource, remote=https://github.com/opensearch-project/opensearch-build-libraries.git}) - integ-test.library({identifier=jenkins@5.11.1, retriever=null}) + integ-test.library({identifier=jenkins@6.3.0, retriever=null}) integ-test.pipeline(groovy.lang.Closure) integ-test.credentials(jenkins-artifact-bucket-name) integ-test.timeout({time=5, unit=HOURS}) @@ -13,13 +13,13 @@ integ-test.fileExists(manifests/tests/jenkins/data/opensearch-dashboards-3.0.0-test.yml) integ-test.downloadBuildManifest({url=https://ci.opensearch.org/ci/dbc/distribution-build-opensearch-dashboards/3.0.0/215/linux/x64/tar/builds/opensearch-dashboards/opensearch-dashboards-3.0.0-linux-x64.tar.gz, path=tests/jenkins/data/opensearch-dashboards-3.0.0-build.yml}) downloadBuildManifest.legacySCM(groovy.lang.Closure) - downloadBuildManifest.library({identifier=jenkins@5.11.1, retriever=null}) + downloadBuildManifest.library({identifier=jenkins@6.3.0, retriever=null}) downloadBuildManifest.sh(curl -sSL https://ci.opensearch.org/ci/dbc/distribution-build-opensearch-dashboards/3.0.0/215/linux/x64/tar/builds/opensearch-dashboards/opensearch-dashboards-3.0.0-linux-x64.tar.gz --output tests/jenkins/data/opensearch-dashboards-3.0.0-build.yml) downloadBuildManifest.readYaml({file=tests/jenkins/data/opensearch-dashboards-3.0.0-build.yml}) BuildManifest.asBoolean() integ-test.downloadBuildManifest({url=https://ci.opensearch.org/ci/dbc/distribution-build-opensearch/3.0.0/215/linux/x64/tar/dist/opensearch/opensearch-3.0.0-linux-x64.tar.gz, path=tests/jenkins/data/opensearch-3.0.0-build.yml}) downloadBuildManifest.legacySCM(groovy.lang.Closure) - downloadBuildManifest.library({identifier=jenkins@5.11.1, retriever=null}) + downloadBuildManifest.library({identifier=jenkins@6.3.0, retriever=null}) downloadBuildManifest.sh(curl -sSL https://ci.opensearch.org/ci/dbc/distribution-build-opensearch/3.0.0/215/linux/x64/tar/dist/opensearch/opensearch-3.0.0-linux-x64.tar.gz --output tests/jenkins/data/opensearch-3.0.0-build.yml) downloadBuildManifest.readYaml({file=tests/jenkins/data/opensearch-3.0.0-build.yml}) BuildManifest.asBoolean() @@ -43,7 +43,7 @@ integ-test.script(groovy.lang.Closure) integ-test.downloadBuildManifest({url=https://ci.opensearch.org/ci/dbc/distribution-build-opensearch-dashboards/3.0.0/215/linux/x64/tar/builds/opensearch-dashboards/opensearch-dashboards-3.0.0-linux-x64.tar.gz, path=tests/jenkins/data/opensearch-dashboards-3.0.0-build.yml}) downloadBuildManifest.legacySCM(groovy.lang.Closure) - downloadBuildManifest.library({identifier=jenkins@5.11.1, retriever=null}) + downloadBuildManifest.library({identifier=jenkins@6.3.0, retriever=null}) downloadBuildManifest.sh(curl -sSL https://ci.opensearch.org/ci/dbc/distribution-build-opensearch-dashboards/3.0.0/215/linux/x64/tar/builds/opensearch-dashboards/opensearch-dashboards-3.0.0-linux-x64.tar.gz --output tests/jenkins/data/opensearch-dashboards-3.0.0-build.yml) downloadBuildManifest.readYaml({file=tests/jenkins/data/opensearch-dashboards-3.0.0-build.yml}) BuildManifest.asBoolean() @@ -85,7 +85,7 @@ integ-test.sh(rm -rf test-results) integ-test.runIntegTestScript({jobName=distribution-build-opensearch-dashboards, componentName=ganttChartDashboards, buildManifest=tests/jenkins/data/opensearch-dashboards-3.0.0-build.yml, testManifest=manifests/tests/jenkins/data/opensearch-dashboards-3.0.0-test.yml, localPath=/tmp/workspace/tar, switchUserNonRoot=false}) runIntegTestScript.legacySCM(groovy.lang.Closure) - runIntegTestScript.library({identifier=jenkins@5.11.1, retriever=null}) + runIntegTestScript.library({identifier=jenkins@6.3.0, retriever=null}) runIntegTestScript.readYaml({file=tests/jenkins/data/opensearch-dashboards-3.0.0-build.yml}) BuildManifest.asBoolean() BuildManifest.getArtifactArchitecture() @@ -106,7 +106,7 @@ integ-test.echo(Completed running integtest for component ganttChartDashboards) integ-test.uploadTestResults({buildManifestFileName=tests/jenkins/data/opensearch-dashboards-3.0.0-build.yml, jobName=dummy_job}) uploadTestResults.legacySCM(groovy.lang.Closure) - uploadTestResults.library({identifier=jenkins@5.11.1, retriever=null}) + uploadTestResults.library({identifier=jenkins@6.3.0, retriever=null}) uploadTestResults.readYaml({file=tests/jenkins/data/opensearch-dashboards-3.0.0-build.yml}) BuildManifest.asBoolean() uploadTestResults.echo(Build Id: 215) @@ -132,7 +132,7 @@ integ-test.sh(rm -rf test-results) integ-test.runIntegTestScript({jobName=distribution-build-opensearch-dashboards, componentName=indexManagementDashboards, buildManifest=tests/jenkins/data/opensearch-dashboards-3.0.0-build.yml, testManifest=manifests/tests/jenkins/data/opensearch-dashboards-3.0.0-test.yml, localPath=/tmp/workspace/tar, switchUserNonRoot=false}) runIntegTestScript.legacySCM(groovy.lang.Closure) - runIntegTestScript.library({identifier=jenkins@5.11.1, retriever=null}) + runIntegTestScript.library({identifier=jenkins@6.3.0, retriever=null}) runIntegTestScript.readYaml({file=tests/jenkins/data/opensearch-dashboards-3.0.0-build.yml}) BuildManifest.asBoolean() BuildManifest.getArtifactArchitecture() @@ -153,7 +153,7 @@ integ-test.echo(Completed running integtest for component indexManagementDashboards) integ-test.uploadTestResults({buildManifestFileName=tests/jenkins/data/opensearch-dashboards-3.0.0-build.yml, jobName=dummy_job}) uploadTestResults.legacySCM(groovy.lang.Closure) - uploadTestResults.library({identifier=jenkins@5.11.1, retriever=null}) + uploadTestResults.library({identifier=jenkins@6.3.0, retriever=null}) uploadTestResults.readYaml({file=tests/jenkins/data/opensearch-dashboards-3.0.0-build.yml}) BuildManifest.asBoolean() uploadTestResults.echo(Build Id: 215) @@ -179,7 +179,7 @@ integ-test.sh(rm -rf test-results) integ-test.runIntegTestScript({jobName=distribution-build-opensearch-dashboards, componentName=anomalyDetectionDashboards, buildManifest=tests/jenkins/data/opensearch-dashboards-3.0.0-build.yml, testManifest=manifests/tests/jenkins/data/opensearch-dashboards-3.0.0-test.yml, localPath=/tmp/workspace/tar, switchUserNonRoot=false}) runIntegTestScript.legacySCM(groovy.lang.Closure) - runIntegTestScript.library({identifier=jenkins@5.11.1, retriever=null}) + runIntegTestScript.library({identifier=jenkins@6.3.0, retriever=null}) runIntegTestScript.readYaml({file=tests/jenkins/data/opensearch-dashboards-3.0.0-build.yml}) BuildManifest.asBoolean() BuildManifest.getArtifactArchitecture() @@ -200,7 +200,7 @@ integ-test.echo(Completed running integtest for component anomalyDetectionDashboards) integ-test.uploadTestResults({buildManifestFileName=tests/jenkins/data/opensearch-dashboards-3.0.0-build.yml, jobName=dummy_job}) uploadTestResults.legacySCM(groovy.lang.Closure) - uploadTestResults.library({identifier=jenkins@5.11.1, retriever=null}) + uploadTestResults.library({identifier=jenkins@6.3.0, retriever=null}) uploadTestResults.readYaml({file=tests/jenkins/data/opensearch-dashboards-3.0.0-build.yml}) BuildManifest.asBoolean() uploadTestResults.echo(Build Id: 215) @@ -226,7 +226,7 @@ integ-test.sh(rm -rf test-results) integ-test.runIntegTestScript({jobName=distribution-build-opensearch-dashboards, componentName=OpenSearch-Dashboards, buildManifest=tests/jenkins/data/opensearch-dashboards-3.0.0-build.yml, testManifest=manifests/tests/jenkins/data/opensearch-dashboards-3.0.0-test.yml, localPath=/tmp/workspace/tar, switchUserNonRoot=false}) runIntegTestScript.legacySCM(groovy.lang.Closure) - runIntegTestScript.library({identifier=jenkins@5.11.1, retriever=null}) + runIntegTestScript.library({identifier=jenkins@6.3.0, retriever=null}) runIntegTestScript.readYaml({file=tests/jenkins/data/opensearch-dashboards-3.0.0-build.yml}) BuildManifest.asBoolean() BuildManifest.getArtifactArchitecture() @@ -247,7 +247,7 @@ integ-test.echo(Completed running integtest for component OpenSearch-Dashboards) integ-test.uploadTestResults({buildManifestFileName=tests/jenkins/data/opensearch-dashboards-3.0.0-build.yml, jobName=dummy_job}) uploadTestResults.legacySCM(groovy.lang.Closure) - uploadTestResults.library({identifier=jenkins@5.11.1, retriever=null}) + uploadTestResults.library({identifier=jenkins@6.3.0, retriever=null}) uploadTestResults.readYaml({file=tests/jenkins/data/opensearch-dashboards-3.0.0-build.yml}) BuildManifest.asBoolean() uploadTestResults.echo(Build Id: 215) @@ -273,7 +273,7 @@ integ-test.sh(rm -rf test-results) integ-test.runIntegTestScript({jobName=distribution-build-opensearch-dashboards, componentName=reportsDashboards, buildManifest=tests/jenkins/data/opensearch-dashboards-3.0.0-build.yml, testManifest=manifests/tests/jenkins/data/opensearch-dashboards-3.0.0-test.yml, localPath=/tmp/workspace/tar, switchUserNonRoot=false}) runIntegTestScript.legacySCM(groovy.lang.Closure) - runIntegTestScript.library({identifier=jenkins@5.11.1, retriever=null}) + runIntegTestScript.library({identifier=jenkins@6.3.0, retriever=null}) runIntegTestScript.readYaml({file=tests/jenkins/data/opensearch-dashboards-3.0.0-build.yml}) BuildManifest.asBoolean() BuildManifest.getArtifactArchitecture() @@ -294,7 +294,7 @@ integ-test.echo(Completed running integtest for component reportsDashboards) integ-test.uploadTestResults({buildManifestFileName=tests/jenkins/data/opensearch-dashboards-3.0.0-build.yml, jobName=dummy_job}) uploadTestResults.legacySCM(groovy.lang.Closure) - uploadTestResults.library({identifier=jenkins@5.11.1, retriever=null}) + uploadTestResults.library({identifier=jenkins@6.3.0, retriever=null}) uploadTestResults.readYaml({file=tests/jenkins/data/opensearch-dashboards-3.0.0-build.yml}) BuildManifest.asBoolean() uploadTestResults.echo(Build Id: 215) @@ -320,7 +320,7 @@ integ-test.sh(rm -rf test-results) integ-test.runIntegTestScript({jobName=distribution-build-opensearch-dashboards, componentName=queryWorkbenchDashboards, buildManifest=tests/jenkins/data/opensearch-dashboards-3.0.0-build.yml, testManifest=manifests/tests/jenkins/data/opensearch-dashboards-3.0.0-test.yml, localPath=/tmp/workspace/tar, switchUserNonRoot=false}) runIntegTestScript.legacySCM(groovy.lang.Closure) - runIntegTestScript.library({identifier=jenkins@5.11.1, retriever=null}) + runIntegTestScript.library({identifier=jenkins@6.3.0, retriever=null}) runIntegTestScript.readYaml({file=tests/jenkins/data/opensearch-dashboards-3.0.0-build.yml}) BuildManifest.asBoolean() BuildManifest.getArtifactArchitecture() @@ -341,7 +341,7 @@ integ-test.echo(Completed running integtest for component queryWorkbenchDashboards) integ-test.uploadTestResults({buildManifestFileName=tests/jenkins/data/opensearch-dashboards-3.0.0-build.yml, jobName=dummy_job}) uploadTestResults.legacySCM(groovy.lang.Closure) - uploadTestResults.library({identifier=jenkins@5.11.1, retriever=null}) + uploadTestResults.library({identifier=jenkins@6.3.0, retriever=null}) uploadTestResults.readYaml({file=tests/jenkins/data/opensearch-dashboards-3.0.0-build.yml}) BuildManifest.asBoolean() uploadTestResults.echo(Build Id: 215) @@ -367,7 +367,7 @@ integ-test.sh(rm -rf test-results) integ-test.runIntegTestScript({jobName=distribution-build-opensearch-dashboards, componentName=observabilityDashboards, buildManifest=tests/jenkins/data/opensearch-dashboards-3.0.0-build.yml, testManifest=manifests/tests/jenkins/data/opensearch-dashboards-3.0.0-test.yml, localPath=/tmp/workspace/tar, switchUserNonRoot=false}) runIntegTestScript.legacySCM(groovy.lang.Closure) - runIntegTestScript.library({identifier=jenkins@5.11.1, retriever=null}) + runIntegTestScript.library({identifier=jenkins@6.3.0, retriever=null}) runIntegTestScript.readYaml({file=tests/jenkins/data/opensearch-dashboards-3.0.0-build.yml}) BuildManifest.asBoolean() BuildManifest.getArtifactArchitecture() @@ -388,7 +388,7 @@ integ-test.echo(Completed running integtest for component observabilityDashboards) integ-test.uploadTestResults({buildManifestFileName=tests/jenkins/data/opensearch-dashboards-3.0.0-build.yml, jobName=dummy_job}) uploadTestResults.legacySCM(groovy.lang.Closure) - uploadTestResults.library({identifier=jenkins@5.11.1, retriever=null}) + uploadTestResults.library({identifier=jenkins@6.3.0, retriever=null}) uploadTestResults.readYaml({file=tests/jenkins/data/opensearch-dashboards-3.0.0-build.yml}) BuildManifest.asBoolean() uploadTestResults.echo(Build Id: 215) @@ -411,19 +411,19 @@ integ-test.checkout(groovy.lang.Closure) integ-test.downloadBuildManifest({url=https://ci.opensearch.org/ci/dbc/distribution-build-opensearch-dashboards/3.0.0/215/linux/x64/tar/builds/opensearch-dashboards/opensearch-dashboards-3.0.0-linux-x64.tar.gz, path=tests/jenkins/data/opensearch-dashboards-3.0.0-build.yml}) downloadBuildManifest.legacySCM(groovy.lang.Closure) - downloadBuildManifest.library({identifier=jenkins@5.11.1, retriever=null}) + downloadBuildManifest.library({identifier=jenkins@6.3.0, retriever=null}) downloadBuildManifest.sh(curl -sSL https://ci.opensearch.org/ci/dbc/distribution-build-opensearch-dashboards/3.0.0/215/linux/x64/tar/builds/opensearch-dashboards/opensearch-dashboards-3.0.0-linux-x64.tar.gz --output tests/jenkins/data/opensearch-dashboards-3.0.0-build.yml) downloadBuildManifest.readYaml({file=tests/jenkins/data/opensearch-dashboards-3.0.0-build.yml}) BuildManifest.asBoolean() integ-test.downloadBuildManifest({url=https://ci.opensearch.org/ci/dbc/distribution-build-opensearch/3.0.0/215/linux/x64/tar/dist/opensearch/opensearch-3.0.0-linux-x64.tar.gz, path=tests/jenkins/data/opensearch-3.0.0-build.yml}) downloadBuildManifest.legacySCM(groovy.lang.Closure) - downloadBuildManifest.library({identifier=jenkins@5.11.1, retriever=null}) + downloadBuildManifest.library({identifier=jenkins@6.3.0, retriever=null}) downloadBuildManifest.sh(curl -sSL https://ci.opensearch.org/ci/dbc/distribution-build-opensearch/3.0.0/215/linux/x64/tar/dist/opensearch/opensearch-3.0.0-linux-x64.tar.gz --output tests/jenkins/data/opensearch-3.0.0-build.yml) downloadBuildManifest.readYaml({file=tests/jenkins/data/opensearch-3.0.0-build.yml}) BuildManifest.asBoolean() integ-test.createUploadTestReportManifest({testManifest=manifests/tests/jenkins/data/opensearch-dashboards-3.0.0-test.yml, buildManifest=tests/jenkins/data/opensearch-3.0.0-build.yml, dashboardsBuildManifest=tests/jenkins/data/opensearch-dashboards-3.0.0-build.yml, testRunID=215, testType=integ-test, componentName=}) createUploadTestReportManifest.legacySCM(groovy.lang.Closure) - createUploadTestReportManifest.library({identifier=jenkins@5.11.1, retriever=null}) + createUploadTestReportManifest.library({identifier=jenkins@6.3.0, retriever=null}) createUploadTestReportManifest.readYaml({file=manifests/tests/jenkins/data/opensearch-dashboards-3.0.0-test.yml}) TestManifest.asBoolean() createUploadTestReportManifest.readYaml({file=tests/jenkins/data/opensearch-3.0.0-build.yml})