From d11d3b4efa7e18cd8527c523b876b5c1a975163c Mon Sep 17 00:00:00 2001 From: Brian Seeders Date: Tue, 7 Jan 2020 16:58:18 -0500 Subject: [PATCH 1/6] WIP removing matrix build support and cleaning stuff up --- .ci/jobs.yml | 36 ---------------- .ci/run.sh | 26 ------------ Jenkinsfile | 4 +- test/scripts/jenkins_accessibility.sh | 19 +-------- test/scripts/jenkins_ci_group.sh | 13 +----- test/scripts/jenkins_firefox_smoke.sh | 18 +------- test/scripts/jenkins_test_setup.sh | 8 +--- test/scripts/jenkins_test_setup_oss.sh | 7 ++++ test/scripts/jenkins_test_setup_xpack.sh | 11 +++++ test/scripts/jenkins_visual_regression.sh | 16 +------ test/scripts/jenkins_xpack_accessibility.sh | 28 +------------ test/scripts/jenkins_xpack_ci_group.sh | 42 +------------------ test/scripts/jenkins_xpack_firefox_smoke.sh | 19 +-------- .../jenkins_xpack_visual_regression.sh | 19 +-------- 14 files changed, 29 insertions(+), 237 deletions(-) delete mode 100644 .ci/jobs.yml create mode 100644 test/scripts/jenkins_test_setup_oss.sh create mode 100644 test/scripts/jenkins_test_setup_xpack.sh diff --git a/.ci/jobs.yml b/.ci/jobs.yml deleted file mode 100644 index a2d8100f78efd..0000000000000 --- a/.ci/jobs.yml +++ /dev/null @@ -1,36 +0,0 @@ -JOB: - - kibana-intake - - x-pack-intake - - kibana-firefoxSmoke - - kibana-ciGroup1 - - kibana-ciGroup2 - - kibana-ciGroup3 - - kibana-ciGroup4 - - kibana-ciGroup5 - - kibana-ciGroup6 - - kibana-ciGroup7 - - kibana-ciGroup8 - - kibana-ciGroup9 - - kibana-ciGroup10 - - kibana-ciGroup11 - - kibana-ciGroup12 - - kibana-accessibility - - kibana-visualRegression - - # make sure all x-pack-ciGroups are listed in test/scripts/jenkins_xpack_ci_group.sh - - x-pack-firefoxSmoke - - x-pack-ciGroup1 - - x-pack-ciGroup2 - - x-pack-ciGroup3 - - x-pack-ciGroup4 - - x-pack-ciGroup5 - - x-pack-ciGroup6 - - x-pack-ciGroup7 - - x-pack-ciGroup8 - - x-pack-ciGroup9 - - x-pack-ciGroup10 - - x-pack-accessibility - - x-pack-visualRegression - -# `~` is yaml for `null` -exclude: ~ diff --git a/.ci/run.sh b/.ci/run.sh index 9f77438be62d0..35038e13549fb 100755 --- a/.ci/run.sh +++ b/.ci/run.sh @@ -14,35 +14,9 @@ case "$JOB" in kibana-intake) ./test/scripts/jenkins_unit.sh ;; -kibana-ciGroup*) - export CI_GROUP="${JOB##kibana-ciGroup}" - ./test/scripts/jenkins_ci_group.sh - ;; -kibana-visualRegression*) - ./test/scripts/jenkins_visual_regression.sh - ;; -kibana-accessibility*) - ./test/scripts/jenkins_accessibility.sh - ;; -kibana-firefoxSmoke*) - ./test/scripts/jenkins_firefox_smoke.sh - ;; x-pack-intake) ./test/scripts/jenkins_xpack.sh ;; -x-pack-ciGroup*) - export CI_GROUP="${JOB##x-pack-ciGroup}" - ./test/scripts/jenkins_xpack_ci_group.sh - ;; -x-pack-visualRegression*) - ./test/scripts/jenkins_xpack_visual_regression.sh - ;; -x-pack-accessibility*) - ./test/scripts/jenkins_xpack_accessibility.sh - ;; -x-pack-firefoxSmoke*) - ./test/scripts/jenkins_xpack_firefox_smoke.sh - ;; *) echo "JOB '$JOB' is not implemented." exit 1 diff --git a/Jenkinsfile b/Jenkinsfile index f6844c7f03fe6..2696ecc573252 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -10,8 +10,8 @@ stage("Kibana Pipeline") { // This stage is just here to help the BlueOcean UI a githubPr.withDefaultPrComments { catchError { parallel([ - 'kibana-intake-agent': kibanaPipeline.legacyJobRunner('kibana-intake'), - 'x-pack-intake-agent': kibanaPipeline.legacyJobRunner('x-pack-intake'), + // 'kibana-intake-agent': kibanaPipeline.legacyJobRunner('kibana-intake'), + // 'x-pack-intake-agent': kibanaPipeline.legacyJobRunner('x-pack-intake'), 'kibana-oss-agent': kibanaPipeline.withWorkers('kibana-oss-tests', { kibanaPipeline.buildOss() }, [ 'oss-firefoxSmoke': kibanaPipeline.getPostBuildWorker('firefoxSmoke', { runbld('./test/scripts/jenkins_firefox_smoke.sh', 'Execute kibana-firefoxSmoke') }), 'oss-ciGroup1': kibanaPipeline.getOssCiGroupWorker(1), diff --git a/test/scripts/jenkins_accessibility.sh b/test/scripts/jenkins_accessibility.sh index 0b3d8dc3f85c2..c122d71b58edb 100755 --- a/test/scripts/jenkins_accessibility.sh +++ b/test/scripts/jenkins_accessibility.sh @@ -1,23 +1,6 @@ #!/usr/bin/env bash -set -e - -if [[ -n "$IS_PIPELINE_JOB" ]] ; then - source src/dev/ci_setup/setup_env.sh -fi - -export TEST_BROWSER_HEADLESS=1 - -if [[ -z "$IS_PIPELINE_JOB" ]] ; then - yarn run grunt functionalTests:ensureAllTestsInCiGroup; - node scripts/build --debug --oss; -else - installDir="$(realpath $PARENT_DIR/kibana/build/oss/kibana-*-SNAPSHOT-linux-x86_64)" - destDir=${installDir}-${CI_WORKER_NUMBER} - cp -R "$installDir" "$destDir" - - export KIBANA_INSTALL_DIR="$destDir" -fi +source test/scripts/jenkins_test_setup_oss.sh checks-reporter-with-killswitch "Kibana accessibility tests" \ node scripts/functional_tests \ diff --git a/test/scripts/jenkins_ci_group.sh b/test/scripts/jenkins_ci_group.sh index 1cb566c908dbf..82d71cbdaae62 100755 --- a/test/scripts/jenkins_ci_group.sh +++ b/test/scripts/jenkins_ci_group.sh @@ -1,17 +1,6 @@ #!/usr/bin/env bash -source test/scripts/jenkins_test_setup.sh - -if [[ -z "$IS_PIPELINE_JOB" ]] ; then - yarn run grunt functionalTests:ensureAllTestsInCiGroup; - node scripts/build --debug --oss; -else - installDir="$(realpath $PARENT_DIR/kibana/build/oss/kibana-*-SNAPSHOT-linux-x86_64)" - destDir=${installDir}-${CI_WORKER_NUMBER} - cp -R "$installDir" "$destDir" - - export KIBANA_INSTALL_DIR="$destDir" -fi +source test/scripts/jenkins_test_setup_oss.sh checks-reporter-with-killswitch "Functional tests / Group ${CI_GROUP}" yarn run grunt "run:functionalTests_ciGroup${CI_GROUP}"; diff --git a/test/scripts/jenkins_firefox_smoke.sh b/test/scripts/jenkins_firefox_smoke.sh index 9a31f5f43d224..0129d4f1bce9f 100755 --- a/test/scripts/jenkins_firefox_smoke.sh +++ b/test/scripts/jenkins_firefox_smoke.sh @@ -1,22 +1,6 @@ #!/usr/bin/env bash -source test/scripts/jenkins_test_setup.sh - -if [[ -z "$IS_PIPELINE_JOB" ]] ; then - node scripts/build --debug --oss; - linuxBuild="$(find "$KIBANA_DIR/target" -name 'kibana-oss-*-linux-x86_64.tar.gz')" - installDir="$PARENT_DIR/install/kibana" - mkdir -p "$installDir" - tar -xzf "$linuxBuild" -C "$installDir" --strip=1 -else - installDir="$(realpath $PARENT_DIR/kibana/build/oss/kibana-*-SNAPSHOT-linux-x86_64)" - destDir=${installDir}-${CI_WORKER_NUMBER} - cp -R "$installDir" "$destDir" - - export KIBANA_INSTALL_DIR="$destDir" -fi - -export TEST_BROWSER_HEADLESS=1 +source test/scripts/jenkins_test_setup_oss.sh checks-reporter-with-killswitch "Firefox smoke test" \ node scripts/functional_tests \ diff --git a/test/scripts/jenkins_test_setup.sh b/test/scripts/jenkins_test_setup.sh index e2dd0bc276bb6..f6bbc038f2ca9 100644 --- a/test/scripts/jenkins_test_setup.sh +++ b/test/scripts/jenkins_test_setup.sh @@ -2,10 +2,6 @@ set -e function post_work() { set +e - if [[ -z "$IS_PIPELINE_JOB" ]] ; then - node "$KIBANA_DIR/scripts/report_failed_tests" - fi - if [[ -z "$REMOVE_KIBANA_INSTALL_DIR" && -z "$KIBANA_INSTALL_DIR" && -d "$KIBANA_INSTALL_DIR" ]]; then rm -rf "$REMOVE_KIBANA_INSTALL_DIR" fi @@ -15,6 +11,4 @@ trap 'post_work' EXIT export TEST_BROWSER_HEADLESS=1 -if [[ -n "$IS_PIPELINE_JOB" ]] ; then - source src/dev/ci_setup/setup_env.sh -fi +source src/dev/ci_setup/setup_env.sh diff --git a/test/scripts/jenkins_test_setup_oss.sh b/test/scripts/jenkins_test_setup_oss.sh new file mode 100644 index 0000000000000..a8ac521b33471 --- /dev/null +++ b/test/scripts/jenkins_test_setup_oss.sh @@ -0,0 +1,7 @@ +source test/scripts/jenkins_test_setup.sh + +installDir="$(realpath $PARENT_DIR/kibana/build/oss/kibana-*-SNAPSHOT-linux-x86_64)" +destDir=${installDir}-${CI_WORKER_NUMBER} +cp -R "$installDir" "$destDir" + +export KIBANA_INSTALL_DIR="$destDir" diff --git a/test/scripts/jenkins_test_setup_xpack.sh b/test/scripts/jenkins_test_setup_xpack.sh new file mode 100644 index 0000000000000..5fb5feb701454 --- /dev/null +++ b/test/scripts/jenkins_test_setup_xpack.sh @@ -0,0 +1,11 @@ +#!/usr/bin/env bash + +source test/scripts/jenkins_test_setup.sh + +installDir="$PARENT_DIR/install/kibana" +destDir="${installDir}-${CI_WORKER_NUMBER}" +cp -R "$installDir" "$destDir" + +export KIBANA_INSTALL_DIR="$destDir" + +cd "$XPACK_DIR" diff --git a/test/scripts/jenkins_visual_regression.sh b/test/scripts/jenkins_visual_regression.sh index 9ca1c0f08d2c9..dda966dea98d0 100755 --- a/test/scripts/jenkins_visual_regression.sh +++ b/test/scripts/jenkins_visual_regression.sh @@ -1,22 +1,8 @@ #!/usr/bin/env bash -source test/scripts/jenkins_test_setup.sh +source test/scripts/jenkins_test_setup_xpack.sh source "$KIBANA_DIR/src/dev/ci_setup/setup_percy.sh" -if [[ -z "$IS_PIPELINE_JOB" ]] ; then - node scripts/build --debug --oss; - linuxBuild="$(find "$KIBANA_DIR/target" -name 'kibana-oss-*-linux-x86_64.tar.gz')" - installDir="$PARENT_DIR/install/kibana" - mkdir -p "$installDir" - tar -xzf "$linuxBuild" -C "$installDir" --strip=1 -else - installDir="$(realpath $PARENT_DIR/kibana/build/oss/kibana-*-SNAPSHOT-linux-x86_64)" - destDir=${installDir}-${CI_WORKER_NUMBER} - cp -R "$installDir" "$destDir" - - export KIBANA_INSTALL_DIR="$destDir" -fi - checks-reporter-with-killswitch "Kibana visual regression tests" \ yarn run percy exec -t 500 \ node scripts/functional_tests \ diff --git a/test/scripts/jenkins_xpack_accessibility.sh b/test/scripts/jenkins_xpack_accessibility.sh index af813c3c40f84..a3c03dd780886 100755 --- a/test/scripts/jenkins_xpack_accessibility.sh +++ b/test/scripts/jenkins_xpack_accessibility.sh @@ -1,32 +1,6 @@ #!/usr/bin/env bash -set -e - -if [[ -n "$IS_PIPELINE_JOB" ]] ; then - source src/dev/ci_setup/setup_env.sh -fi - -if [[ -z "$IS_PIPELINE_JOB" ]] ; then - echo " -> building and extracting default Kibana distributable for use in functional tests" - node scripts/build --debug --no-oss - - linuxBuild="$(find "$KIBANA_DIR/target" -name 'kibana-*-linux-x86_64.tar.gz')" - installDir="$PARENT_DIR/install/kibana" - - mkdir -p "$installDir" - tar -xzf "$linuxBuild" -C "$installDir" --strip=1 - - export KIBANA_INSTALL_DIR="$installDir" -else - installDir="$PARENT_DIR/install/kibana" - destDir="${installDir}-${CI_WORKER_NUMBER}" - cp -R "$installDir" "$destDir" - - export KIBANA_INSTALL_DIR="$destDir" -fi - -export TEST_BROWSER_HEADLESS=1 -cd "$XPACK_DIR" +source test/scripts/jenkins_test_setup_xpack.sh checks-reporter-with-killswitch "X-Pack accessibility tests" \ node scripts/functional_tests \ diff --git a/test/scripts/jenkins_xpack_ci_group.sh b/test/scripts/jenkins_xpack_ci_group.sh index fba05f8f252d7..2ef4e0ad0e24e 100755 --- a/test/scripts/jenkins_xpack_ci_group.sh +++ b/test/scripts/jenkins_xpack_ci_group.sh @@ -1,46 +1,6 @@ #!/usr/bin/env bash -source test/scripts/jenkins_test_setup.sh - -if [[ -z "$IS_PIPELINE_JOB" ]] ; then - echo " -> Ensuring all functional tests are in a ciGroup" - cd "$XPACK_DIR" - node scripts/functional_tests --assert-none-excluded \ - --include-tag ciGroup1 \ - --include-tag ciGroup2 \ - --include-tag ciGroup3 \ - --include-tag ciGroup4 \ - --include-tag ciGroup5 \ - --include-tag ciGroup6 \ - --include-tag ciGroup7 \ - --include-tag ciGroup8 \ - --include-tag ciGroup9 \ - --include-tag ciGroup10 -fi - -cd "$KIBANA_DIR" - -if [[ -z "$IS_PIPELINE_JOB" ]] ; then - echo " -> building and extracting default Kibana distributable for use in functional tests" - node scripts/build --debug --no-oss - - linuxBuild="$(find "$KIBANA_DIR/target" -name 'kibana-*-linux-x86_64.tar.gz')" - installDir="$PARENT_DIR/install/kibana" - - mkdir -p "$installDir" - tar -xzf "$linuxBuild" -C "$installDir" --strip=1 - - export KIBANA_INSTALL_DIR="$installDir" -else - installDir="$PARENT_DIR/install/kibana" - destDir="${installDir}-${CI_WORKER_NUMBER}" - cp -R "$installDir" "$destDir" - - export KIBANA_INSTALL_DIR="$destDir" -fi - -echo " -> Running functional and api tests" -cd "$XPACK_DIR" +source test/scripts/jenkins_test_setup_xpack.sh checks-reporter-with-killswitch "X-Pack Chrome Functional tests / Group ${CI_GROUP}" \ node scripts/functional_tests \ diff --git a/test/scripts/jenkins_xpack_firefox_smoke.sh b/test/scripts/jenkins_xpack_firefox_smoke.sh index 43220459bcb97..5fe8b41cc0010 100755 --- a/test/scripts/jenkins_xpack_firefox_smoke.sh +++ b/test/scripts/jenkins_xpack_firefox_smoke.sh @@ -1,23 +1,6 @@ #!/usr/bin/env bash -source test/scripts/jenkins_test_setup.sh - -if [[ -z "$IS_PIPELINE_JOB" ]] ; then - node scripts/build --debug --no-oss; - linuxBuild="$(find "$KIBANA_DIR/target" -name 'kibana-*-linux-x86_64.tar.gz')" - installDir="$PARENT_DIR/install/kibana" - mkdir -p "$installDir" - tar -xzf "$linuxBuild" -C "$installDir" --strip=1 - export KIBANA_INSTALL_DIR="$installDir" -else - installDir="$PARENT_DIR/install/kibana" - destDir="${installDir}-${CI_WORKER_NUMBER}" - cp -R "$installDir" "$destDir" - - export KIBANA_INSTALL_DIR="$destDir" -fi - -cd "$XPACK_DIR" +source test/scripts/jenkins_test_setup_xpack.sh checks-reporter-with-killswitch "X-Pack firefox smoke test" \ node scripts/functional_tests \ diff --git a/test/scripts/jenkins_xpack_visual_regression.sh b/test/scripts/jenkins_xpack_visual_regression.sh index 5699f9e5ee7c1..6e3d4dd7c249b 100755 --- a/test/scripts/jenkins_xpack_visual_regression.sh +++ b/test/scripts/jenkins_xpack_visual_regression.sh @@ -1,25 +1,8 @@ #!/usr/bin/env bash -source test/scripts/jenkins_test_setup.sh +source test/scripts/jenkins_test_setup_xpack.sh source "$KIBANA_DIR/src/dev/ci_setup/setup_percy.sh" -if [[ -z "$IS_PIPELINE_JOB" ]] ; then - node scripts/build --debug --no-oss; - linuxBuild="$(find "$KIBANA_DIR/target" -name 'kibana-*-linux-x86_64.tar.gz')" - installDir="$PARENT_DIR/install/kibana" - mkdir -p "$installDir" - tar -xzf "$linuxBuild" -C "$installDir" --strip=1 - export KIBANA_INSTALL_DIR="$installDir" -else - installDir="$PARENT_DIR/install/kibana" - destDir="${installDir}-${CI_WORKER_NUMBER}" - cp -R "$installDir" "$destDir" - - export KIBANA_INSTALL_DIR="$destDir" -fi - -cd "$XPACK_DIR" - checks-reporter-with-killswitch "X-Pack visual regression tests" \ yarn run percy exec -t 500 \ node scripts/functional_tests \ From b55fd36f519f6c8cdc5fbb2ee24418a9be5eb318 Mon Sep 17 00:00:00 2001 From: Brian Seeders Date: Wed, 8 Jan 2020 13:57:58 -0500 Subject: [PATCH 2/6] Bring back jobs.yml for now --- .ci/jobs.yml | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 .ci/jobs.yml diff --git a/.ci/jobs.yml b/.ci/jobs.yml new file mode 100644 index 0000000000000..3add92aadd256 --- /dev/null +++ b/.ci/jobs.yml @@ -0,0 +1,38 @@ +# This file is needed by functionalTests:ensureAllTestsInCiGroup for the list of ciGroups. That must be changed before this file can be removed + +JOB: + - kibana-intake + - x-pack-intake + - kibana-firefoxSmoke + - kibana-ciGroup1 + - kibana-ciGroup2 + - kibana-ciGroup3 + - kibana-ciGroup4 + - kibana-ciGroup5 + - kibana-ciGroup6 + - kibana-ciGroup7 + - kibana-ciGroup8 + - kibana-ciGroup9 + - kibana-ciGroup10 + - kibana-ciGroup11 + - kibana-ciGroup12 + - kibana-accessibility + - kibana-visualRegression + + # make sure all x-pack-ciGroups are listed in test/scripts/jenkins_xpack_ci_group.sh + - x-pack-firefoxSmoke + - x-pack-ciGroup1 + - x-pack-ciGroup2 + - x-pack-ciGroup3 + - x-pack-ciGroup4 + - x-pack-ciGroup5 + - x-pack-ciGroup6 + - x-pack-ciGroup7 + - x-pack-ciGroup8 + - x-pack-ciGroup9 + - x-pack-ciGroup10 + - x-pack-accessibility + - x-pack-visualRegression + +# `~` is yaml for `null` +exclude: ~ From 221a73d66cabacd773d14ee0cac5de4780f896bf Mon Sep 17 00:00:00 2001 From: Brian Seeders Date: Fri, 17 Jan 2020 16:24:08 -0500 Subject: [PATCH 3/6] Move intake to pipeline and clean up a bit --- .ci/es-snapshots/Jenkinsfile_verify_es | 4 +- .ci/run.sh | 24 -------- Jenkinsfile | 4 +- test/scripts/jenkins_test_setup.sh | 2 + test/scripts/jenkins_test_setup_oss.sh | 2 + vars/kibanaPipeline.groovy | 85 +++++++++++++------------- 6 files changed, 50 insertions(+), 71 deletions(-) delete mode 100755 .ci/run.sh diff --git a/.ci/es-snapshots/Jenkinsfile_verify_es b/.ci/es-snapshots/Jenkinsfile_verify_es index 3d5ec75fa0e72..38195cf80118b 100644 --- a/.ci/es-snapshots/Jenkinsfile_verify_es +++ b/.ci/es-snapshots/Jenkinsfile_verify_es @@ -26,8 +26,8 @@ timeout(time: 120, unit: 'MINUTES') { withEnv(["ES_SNAPSHOT_MANIFEST=${SNAPSHOT_MANIFEST}"]) { parallel([ // TODO we just need to run integration tests from intake? - 'kibana-intake-agent': kibanaPipeline.legacyJobRunner('kibana-intake'), - 'x-pack-intake-agent': kibanaPipeline.legacyJobRunner('x-pack-intake'), + 'kibana-intake-agent': kibanaPipeline.legacyJobRunner('kibana-intake'), // TODO change these + 'x-pack-intake-agent': kibanaPipeline.legacyJobRunner('x-pack-intake'), // TODO change these 'kibana-oss-agent': kibanaPipeline.withWorkers('kibana-oss-tests', { kibanaPipeline.buildOss() }, [ 'oss-ciGroup1': kibanaPipeline.getOssCiGroupWorker(1), 'oss-ciGroup2': kibanaPipeline.getOssCiGroupWorker(2), diff --git a/.ci/run.sh b/.ci/run.sh deleted file mode 100755 index 35038e13549fb..0000000000000 --- a/.ci/run.sh +++ /dev/null @@ -1,24 +0,0 @@ -#!/usr/bin/env bash - -set -e - -# move to Kibana root -cd "$(dirname "$0")/.." - -source src/dev/ci_setup/load_env_keys.sh -source src/dev/ci_setup/extract_bootstrap_cache.sh -source src/dev/ci_setup/setup.sh -source src/dev/ci_setup/checkout_sibling_es.sh - -case "$JOB" in -kibana-intake) - ./test/scripts/jenkins_unit.sh - ;; -x-pack-intake) - ./test/scripts/jenkins_xpack.sh - ;; -*) - echo "JOB '$JOB' is not implemented." - exit 1 - ;; -esac diff --git a/Jenkinsfile b/Jenkinsfile index 2696ecc573252..a9b09d61163b1 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -10,8 +10,8 @@ stage("Kibana Pipeline") { // This stage is just here to help the BlueOcean UI a githubPr.withDefaultPrComments { catchError { parallel([ - // 'kibana-intake-agent': kibanaPipeline.legacyJobRunner('kibana-intake'), - // 'x-pack-intake-agent': kibanaPipeline.legacyJobRunner('x-pack-intake'), + 'kibana-intake-agent': kibanaPipeline.intakeWorker('kibana-intake', './test/scripts/jenkins_unit.sh'), + 'x-pack-intake-agent': kibanaPipeline.intakeWorker('x-pack-intake', './test/scripts/jenkins_xpack.sh'), 'kibana-oss-agent': kibanaPipeline.withWorkers('kibana-oss-tests', { kibanaPipeline.buildOss() }, [ 'oss-firefoxSmoke': kibanaPipeline.getPostBuildWorker('firefoxSmoke', { runbld('./test/scripts/jenkins_firefox_smoke.sh', 'Execute kibana-firefoxSmoke') }), 'oss-ciGroup1': kibanaPipeline.getOssCiGroupWorker(1), diff --git a/test/scripts/jenkins_test_setup.sh b/test/scripts/jenkins_test_setup.sh index f6bbc038f2ca9..49ee8a6b526ca 100644 --- a/test/scripts/jenkins_test_setup.sh +++ b/test/scripts/jenkins_test_setup.sh @@ -1,3 +1,5 @@ +#!/usr/bin/env bash + set -e function post_work() { diff --git a/test/scripts/jenkins_test_setup_oss.sh b/test/scripts/jenkins_test_setup_oss.sh index 3ba51da88daf4..9e68272053221 100644 --- a/test/scripts/jenkins_test_setup_oss.sh +++ b/test/scripts/jenkins_test_setup_oss.sh @@ -1,3 +1,5 @@ +#!/usr/bin/env bash + source test/scripts/jenkins_test_setup.sh if [[ -z "$CODE_COVERAGE" ]] ; then diff --git a/vars/kibanaPipeline.groovy b/vars/kibanaPipeline.groovy index 5c6be70514c61..1c389416fffa3 100644 --- a/vars/kibanaPipeline.groovy +++ b/vars/kibanaPipeline.groovy @@ -2,7 +2,7 @@ def withWorkers(machineName, preWorkerClosure = {}, workerClosures = [:]) { return { jobRunner('tests-xl', true) { withGcsArtifactUpload(machineName, { - try { + withPostBuildReporting { doSetup() preWorkerClosure() @@ -26,24 +26,53 @@ def withWorkers(machineName, preWorkerClosure = {}, workerClosures = [:]) { } parallel(workers) - } finally { - catchError { - runErrorReporter() - } - - catchError { - runbld.junit() - } - - catchError { - publishJunit() - } } }) } } } +def withWorker(machineName, label, Closure closure) { + return { + jobRunner(label, false) { + withGcsArtifactUpload(machineName) { + withPostBuildReporting { + doSetup() + closure() + } + } + } + } +} + +def intakeWorker(jobName, String script) { + return withWorker(machineName, 'linux && immutable') { + withEnv([ + "JOB=${jobName}", + ]) { + runbld(script, "Execute ${jobName}") + } + } +} + +def withPostBuildReporting(Closure closure) { + try { + closure() + } finally { + catchError { + runErrorReporter() + } + + catchError { + runbld.junit() + } + + catchError { + publishJunit() + } + } +} + def getPostBuildWorker(name, closure) { return { workerNumber -> def kibanaPort = "61${workerNumber}1" @@ -86,34 +115,6 @@ def getXpackCiGroupWorker(ciGroup) { }) } -def legacyJobRunner(name) { - return { - parallel([ - "${name}": { - withEnv([ - "JOB=${name}", - ]) { - jobRunner('linux && immutable', false) { - withGcsArtifactUpload(name, { - try { - runbld('.ci/run.sh', "Execute ${name}", true) - } finally { - catchError { - runErrorReporter() - } - - catchError { - publishJunit() - } - } - }) - } - } - } - ]) - } -} - def jobRunner(label, useRamDisk, closure) { node(label) { agentInfo.print() @@ -164,8 +165,6 @@ def jobRunner(label, useRamDisk, closure) { } } -// TODO what should happen if GCS, Junit, or email publishing fails? Unstable build? Failed build? - def uploadGcsArtifact(uploadPrefix, pattern) { googleStorageUpload( credentialsId: 'kibana-ci-gcs-plugin', From 4884203cc5cd4c373a5e753c7afccd700481a152 Mon Sep 17 00:00:00 2001 From: Brian Seeders Date: Fri, 17 Jan 2020 16:25:34 -0500 Subject: [PATCH 4/6] Fix variable name --- vars/kibanaPipeline.groovy | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/vars/kibanaPipeline.groovy b/vars/kibanaPipeline.groovy index 1c389416fffa3..d5468c4fc5056 100644 --- a/vars/kibanaPipeline.groovy +++ b/vars/kibanaPipeline.groovy @@ -46,7 +46,7 @@ def withWorker(machineName, label, Closure closure) { } def intakeWorker(jobName, String script) { - return withWorker(machineName, 'linux && immutable') { + return withWorker(jobName, 'linux && immutable') { withEnv([ "JOB=${jobName}", ]) { From 8428d3bbd21d57e1b256a55fb806f8d14a46df18 Mon Sep 17 00:00:00 2001 From: Brian Seeders Date: Fri, 17 Jan 2020 16:42:10 -0500 Subject: [PATCH 5/6] Fix intake test setup --- test/scripts/jenkins_unit.sh | 4 +--- test/scripts/jenkins_xpack.sh | 14 ++++++-------- 2 files changed, 7 insertions(+), 11 deletions(-) diff --git a/test/scripts/jenkins_unit.sh b/test/scripts/jenkins_unit.sh index a8b5e8e4fdf97..fe67594ad8ac2 100755 --- a/test/scripts/jenkins_unit.sh +++ b/test/scripts/jenkins_unit.sh @@ -1,8 +1,6 @@ #!/usr/bin/env bash -set -e - -export TEST_BROWSER_HEADLESS=1 +source test/scripts/jenkins_test_setup.sh if [[ -z "$CODE_COVERAGE" ]] ; then "$(FORCE_COLOR=0 yarn bin)/grunt" jenkins:unit --dev; diff --git a/test/scripts/jenkins_xpack.sh b/test/scripts/jenkins_xpack.sh index e0055085d9b37..e076bd43e1c6e 100755 --- a/test/scripts/jenkins_xpack.sh +++ b/test/scripts/jenkins_xpack.sh @@ -1,8 +1,6 @@ #!/usr/bin/env bash -set -e - -export TEST_BROWSER_HEADLESS=1 +source test/scripts/jenkins_test_setup.sh if [[ -z "$CODE_COVERAGE" ]] ; then echo " -> Running mocha tests" @@ -10,26 +8,26 @@ if [[ -z "$CODE_COVERAGE" ]] ; then checks-reporter-with-killswitch "X-Pack Karma Tests" yarn test:browser echo "" echo "" - + echo " -> Running jest tests" cd "$XPACK_DIR" checks-reporter-with-killswitch "X-Pack Jest" node scripts/jest --ci --verbose echo "" echo "" - + echo " -> Running SIEM cyclic dependency test" cd "$XPACK_DIR" checks-reporter-with-killswitch "X-Pack SIEM cyclic dependency test" node legacy/plugins/siem/scripts/check_circular_deps echo "" echo "" - + # FAILING: https://github.com/elastic/kibana/issues/44250 # echo " -> Running jest contracts tests" # cd "$XPACK_DIR" # SLAPSHOT_ONLINE=true CONTRACT_ONLINE=true node scripts/jest_contract.js --ci --verbose # echo "" # echo "" - + # echo " -> Running jest integration tests" # cd "$XPACK_DIR" # node scripts/jest_integration --ci --verbose @@ -48,4 +46,4 @@ else ../target/kibana-coverage/jest/xpack-coverage-final.json echo "" echo "" -fi \ No newline at end of file +fi From 41112457aa748c5e5d35c3a80471e4c711da2d97 Mon Sep 17 00:00:00 2001 From: Brian Seeders Date: Wed, 22 Jan 2020 15:08:28 -0500 Subject: [PATCH 6/6] Remove last references to legacyJobRunner --- .ci/Jenkinsfile_coverage | 4 ++-- .ci/es-snapshots/Jenkinsfile_verify_es | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.ci/Jenkinsfile_coverage b/.ci/Jenkinsfile_coverage index d9ec1861c9979..01c18b10d0804 100644 --- a/.ci/Jenkinsfile_coverage +++ b/.ci/Jenkinsfile_coverage @@ -16,14 +16,14 @@ stage("Kibana Pipeline") { // This stage is just here to help the BlueOcean UI a withEnv([ 'NODE_ENV=test' // Needed for jest tests only ]) { - kibanaPipeline.legacyJobRunner('kibana-intake')() + kibanaPipeline.intakeWorker('kibana-intake', './test/scripts/jenkins_unit.sh')() } }, 'x-pack-intake-agent': { withEnv([ 'NODE_ENV=test' // Needed for jest tests only ]) { - kibanaPipeline.legacyJobRunner('x-pack-intake')() + kibanaPipeline.intakeWorker('x-pack-intake', './test/scripts/jenkins_xpack.sh')() } }, 'kibana-oss-agent': kibanaPipeline.withWorkers('kibana-oss-tests', { kibanaPipeline.buildOss() }, [ diff --git a/.ci/es-snapshots/Jenkinsfile_verify_es b/.ci/es-snapshots/Jenkinsfile_verify_es index 38195cf80118b..30d52a56547bd 100644 --- a/.ci/es-snapshots/Jenkinsfile_verify_es +++ b/.ci/es-snapshots/Jenkinsfile_verify_es @@ -26,8 +26,8 @@ timeout(time: 120, unit: 'MINUTES') { withEnv(["ES_SNAPSHOT_MANIFEST=${SNAPSHOT_MANIFEST}"]) { parallel([ // TODO we just need to run integration tests from intake? - 'kibana-intake-agent': kibanaPipeline.legacyJobRunner('kibana-intake'), // TODO change these - 'x-pack-intake-agent': kibanaPipeline.legacyJobRunner('x-pack-intake'), // TODO change these + 'kibana-intake-agent': kibanaPipeline.intakeWorker('kibana-intake', './test/scripts/jenkins_unit.sh'), + 'x-pack-intake-agent': kibanaPipeline.intakeWorker('x-pack-intake', './test/scripts/jenkins_xpack.sh'), 'kibana-oss-agent': kibanaPipeline.withWorkers('kibana-oss-tests', { kibanaPipeline.buildOss() }, [ 'oss-ciGroup1': kibanaPipeline.getOssCiGroupWorker(1), 'oss-ciGroup2': kibanaPipeline.getOssCiGroupWorker(2),