From 2803127e7caf4fdefc0a559712cc347d1265e19e Mon Sep 17 00:00:00 2001 From: Jonathan Budzenski Date: Thu, 9 Aug 2018 08:48:51 -0500 Subject: [PATCH 1/3] yarnrc --- .yarnrc | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 .yarnrc diff --git a/.yarnrc b/.yarnrc new file mode 100644 index 0000000000000..5aaa88c95b5d5 --- /dev/null +++ b/.yarnrc @@ -0,0 +1,2 @@ +yarn-offline-mirror "../kibana-extra/kibana-offline-mirror" +yarn-offline-mirror-pruning true From 7ae0b46c055d9d7c430014157ea2af46a113bb53 Mon Sep 17 00:00:00 2001 From: Jonathan Budzenski Date: Thu, 9 Aug 2018 10:47:58 -0500 Subject: [PATCH 2/3] add yarn-offline-mirror --- .yarnrc | 1 - packages/kbn-pm/dist/index.js | 9 +++++---- packages/kbn-pm/src/commands/bootstrap.ts | 6 +++++- src/dev/build/tasks/bootstrap_task.js | 2 +- .../build/tasks/install_dependencies_task.js | 2 +- src/dev/ci_setup/git_setup.sh | 4 +++- src/dev/ci_setup/kibana_setup.sh | 17 ++++++++++++++++ src/dev/ci_setup/setup.sh | 20 ------------------- test/scripts/jenkins_selenium.sh | 1 + test/scripts/jenkins_unit.sh | 1 + test/scripts/jenkins_xpack.sh | 2 +- 11 files changed, 35 insertions(+), 30 deletions(-) create mode 100644 src/dev/ci_setup/kibana_setup.sh diff --git a/.yarnrc b/.yarnrc index 5aaa88c95b5d5..3cf6d24d04a7d 100644 --- a/.yarnrc +++ b/.yarnrc @@ -1,2 +1 @@ yarn-offline-mirror "../kibana-extra/kibana-offline-mirror" -yarn-offline-mirror-pruning true diff --git a/packages/kbn-pm/dist/index.js b/packages/kbn-pm/dist/index.js index 468ce592e5e52..8c5555d7f4c5d 100644 --- a/packages/kbn-pm/dist/index.js +++ b/packages/kbn-pm/dist/index.js @@ -26150,6 +26150,9 @@ var subscribeTo = function (result) { } }; } + else if (result && typeof result[__WEBPACK_IMPORTED_MODULE_9__symbol_observable__["a" /* observable */]] === 'function') { + return Object(__WEBPACK_IMPORTED_MODULE_4__subscribeToObservable__["a" /* subscribeToObservable */])(result); + } else if (Object(__WEBPACK_IMPORTED_MODULE_5__isArrayLike__["a" /* isArrayLike */])(result)) { return Object(__WEBPACK_IMPORTED_MODULE_1__subscribeToArray__["a" /* subscribeToArray */])(result); } @@ -26159,9 +26162,6 @@ var subscribeTo = function (result) { else if (result && typeof result[__WEBPACK_IMPORTED_MODULE_8__symbol_iterator__["a" /* iterator */]] === 'function') { return Object(__WEBPACK_IMPORTED_MODULE_3__subscribeToIterable__["a" /* subscribeToIterable */])(result); } - else if (result && typeof result[__WEBPACK_IMPORTED_MODULE_9__symbol_observable__["a" /* observable */]] === 'function') { - return Object(__WEBPACK_IMPORTED_MODULE_4__subscribeToObservable__["a" /* subscribeToObservable */])(result); - } else { var value = Object(__WEBPACK_IMPORTED_MODULE_7__isObject__["a" /* isObject */])(result) ? 'an invalid object' : "'" + result + "'"; var msg = "You provided " + value + " where a stream was expected." @@ -28354,7 +28354,8 @@ const BootstrapCommand = exports.BootstrapCommand = { return _asyncToGenerator(function* () { const batchedProjects = (0, _projects.topologicallyBatchProjects)(projects, projectGraph); const frozenLockfile = options['frozen-lockfile'] === true; - const extraArgs = frozenLockfile ? ['--frozen-lockfile'] : []; + const offline = options.offline === true; + const extraArgs = [frozenLockfile ? '--frozen-lockfile' : '', offline ? '--offline' : ''].filter(Boolean); _log.log.write(_chalk2.default.bold('\nRunning installs in topological order:')); for (const batch of batchedProjects) { for (const project of batch) { diff --git a/packages/kbn-pm/src/commands/bootstrap.ts b/packages/kbn-pm/src/commands/bootstrap.ts index 2d2aa9b040a75..d1ed36b334a08 100644 --- a/packages/kbn-pm/src/commands/bootstrap.ts +++ b/packages/kbn-pm/src/commands/bootstrap.ts @@ -33,7 +33,11 @@ export const BootstrapCommand: ICommand = { const batchedProjects = topologicallyBatchProjects(projects, projectGraph); const frozenLockfile = options['frozen-lockfile'] === true; - const extraArgs = frozenLockfile ? ['--frozen-lockfile'] : []; + const offline = options.offline === true; + const extraArgs = [ + frozenLockfile ? '--frozen-lockfile' : '', + offline ? '--offline' : '', + ].filter(Boolean); log.write(chalk.bold('\nRunning installs in topological order:')); diff --git a/src/dev/build/tasks/bootstrap_task.js b/src/dev/build/tasks/bootstrap_task.js index c8e81a3db4283..a2cedbfc1a10b 100644 --- a/src/dev/build/tasks/bootstrap_task.js +++ b/src/dev/build/tasks/bootstrap_task.js @@ -24,6 +24,6 @@ export const BootstrapTask = { description: 'Running `yarn kbn bootstrap` to make sure all dependencies are up-to-date', async run(config, log) { - await exec(log, 'yarn', ['kbn', 'bootstrap', '--skip-kibana-extra']); + await exec(log, 'yarn', ['kbn', 'bootstrap', '--skip-kibana-extra', '--offline']); }, }; diff --git a/src/dev/build/tasks/install_dependencies_task.js b/src/dev/build/tasks/install_dependencies_task.js index 3c9e096681f26..42b20f409a463 100644 --- a/src/dev/build/tasks/install_dependencies_task.js +++ b/src/dev/build/tasks/install_dependencies_task.js @@ -31,7 +31,7 @@ export const InstallDependenciesTask = { // We're using --no-bin-links to support systems that don't have symlinks. // This is commonly seen in shared folders on virtual machines - const args = ['--production', '--ignore-optional', '--pure-lockfile', '--no-bin-links']; + const args = ['--production', '--ignore-optional', '--pure-lockfile', '--no-bin-links', '--offline']; await exec(log, 'yarn', args, { cwd: build.resolvePath(), diff --git a/src/dev/ci_setup/git_setup.sh b/src/dev/ci_setup/git_setup.sh index b5e6902e2f258..a1dd8edc01ea8 100755 --- a/src/dev/ci_setup/git_setup.sh +++ b/src/dev/ci_setup/git_setup.sh @@ -23,6 +23,7 @@ export KIBANA_DIR="$(cd "$(dirname "$SCRIPT")/../../.."; pwd)" # PARENT_DIR is the directory where we will checkout es and x-pack-es export PARENT_DIR="$(cd "$KIBANA_DIR"/..; pwd)" +export KIBANA_EXTRA_DIR="$PARENT_DIR"/"kibana-extra" function checkout_sibling { project=$1 @@ -31,7 +32,7 @@ function checkout_sibling { useExisting="$(eval "echo "\$$useExistingParamName"")" if [ -z ${useExisting:+x} ]; then - if [ -d "$targetDir" ]; then + if [ -d "$targetDir" ] && [ -n "$(ls "$targetDir")" ]; then echo "I expected a clean workspace but an '${project}' sibling directory already exists in [$PARENT_DIR]!" echo echo "Either define '${useExistingParamName}' or remove the existing '${project}' sibling." @@ -99,3 +100,4 @@ function checkout_sibling { } checkout_sibling "elasticsearch" "${PARENT_DIR}/elasticsearch" "USE_EXISTING_ES" +checkout_sibling "kibana-offline-mirror" "${KIBANA_EXTRA_DIR}/kibana-offline-mirror" "USE_EXISTING_KIBANA_OFFLINE_MIRROR" diff --git a/src/dev/ci_setup/kibana_setup.sh b/src/dev/ci_setup/kibana_setup.sh new file mode 100644 index 0000000000000..ccaa5e91367c0 --- /dev/null +++ b/src/dev/ci_setup/kibana_setup.sh @@ -0,0 +1,17 @@ +### +### install dependencies +### +echo " -- installing node.js dependencies" +yarn kbn bootstrap --offline + + +### +### verify no git modifications +### + +GIT_CHANGES="$(git ls-files --modified)" +if [ "$GIT_CHANGES" ]; then + echo -e "\n${RED}ERROR: 'yarn kbn bootstrap' caused changes to the following files:${C_RESET}\n" + echo -e "$GIT_CHANGES\n" + exit 1 +fi diff --git a/src/dev/ci_setup/setup.sh b/src/dev/ci_setup/setup.sh index 90edbd2268feb..09da585b61722 100755 --- a/src/dev/ci_setup/setup.sh +++ b/src/dev/ci_setup/setup.sh @@ -88,23 +88,3 @@ export PATH="$yarnDir/bin:$PATH" yarnGlobalDir="$(yarn global bin)" export PATH="$PATH:$yarnGlobalDir" hash -r - - -### -### install dependencies -### -echo " -- installing node.js dependencies" -yarn config set cache-folder "$cacheDir/yarn" -yarn kbn bootstrap - - -### -### verify no git modifications -### - -GIT_CHANGES="$(git ls-files --modified)" -if [ "$GIT_CHANGES" ]; then - echo -e "\n${RED}ERROR: 'yarn kbn bootstrap' caused changes to the following files:${C_RESET}\n" - echo -e "$GIT_CHANGES\n" - exit 1 -fi diff --git a/test/scripts/jenkins_selenium.sh b/test/scripts/jenkins_selenium.sh index 7d6b26a59c485..d05a57ffd3aeb 100755 --- a/test/scripts/jenkins_selenium.sh +++ b/test/scripts/jenkins_selenium.sh @@ -4,6 +4,7 @@ set -e source "$(dirname $0)/../../src/dev/ci_setup/setup.sh" source "$(dirname $0)/../../src/dev/ci_setup/git_setup.sh" source "$(dirname $0)/../../src/dev/ci_setup/java_setup.sh" +source "$(dirname $0)/../../src/dev/ci_setup/kibana_setup.sh" node scripts/build --release --debug --oss; diff --git a/test/scripts/jenkins_unit.sh b/test/scripts/jenkins_unit.sh index 0ce41c45110fd..0659c09b35ba4 100755 --- a/test/scripts/jenkins_unit.sh +++ b/test/scripts/jenkins_unit.sh @@ -4,6 +4,7 @@ set -e source "$(dirname $0)/../../src/dev/ci_setup/setup.sh" source "$(dirname $0)/../../src/dev/ci_setup/git_setup.sh" source "$(dirname $0)/../../src/dev/ci_setup/java_setup.sh" +source "$(dirname $0)/../../src/dev/ci_setup/kibana_setup.sh" export TEST_ES_FROM=source xvfb-run "$(FORCE_COLOR=0 yarn bin)/grunt" jenkins:unit --from=source; diff --git a/test/scripts/jenkins_xpack.sh b/test/scripts/jenkins_xpack.sh index b1837d03c8522..685668116dc83 100755 --- a/test/scripts/jenkins_xpack.sh +++ b/test/scripts/jenkins_xpack.sh @@ -6,7 +6,7 @@ set -o pipefail source "$(dirname $0)/../../src/dev/ci_setup/setup.sh" source "$(dirname $0)/../../src/dev/ci_setup/git_setup.sh" source "$(dirname $0)/../../src/dev/ci_setup/java_setup.sh" - +source "$(dirname $0)/../../src/dev/ci_setup/kibana_setup.sh" export XPACK_DIR="$(cd "$(dirname "$0")/../../x-pack"; pwd)" echo "-> XPACK_DIR ${XPACK_DIR}" From 7c0c9777c47f0059cc0198216dc294077fa3f97b Mon Sep 17 00:00:00 2001 From: Jonathan Budzenski Date: Thu, 9 Aug 2018 13:11:02 -0500 Subject: [PATCH 3/3] readd cacheDir --- src/dev/ci_setup/setup.sh | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/dev/ci_setup/setup.sh b/src/dev/ci_setup/setup.sh index 09da585b61722..b2f54401ffa1c 100755 --- a/src/dev/ci_setup/setup.sh +++ b/src/dev/ci_setup/setup.sh @@ -88,3 +88,6 @@ export PATH="$yarnDir/bin:$PATH" yarnGlobalDir="$(yarn global bin)" export PATH="$PATH:$yarnGlobalDir" hash -r + +### configure +yarn config set cache-folder "$cacheDir/yarn"