From 0245554fb8204d8f0e54a92ab37495007835bbcd Mon Sep 17 00:00:00 2001 From: Jon Date: Fri, 18 Oct 2024 12:45:44 -0500 Subject: [PATCH] [7.17] [ci] Use es snapshot cache for jest integration tests (#196695) (#196879) This ended up backporting the whole feature - also includes https://github.com/elastic/kibana/pull/132940 minus the bazel changes. #196695 --- .buildkite/scripts/common/env.sh | 1 + .buildkite/scripts/copy_es_snapshot_cache.sh | 14 ++++++++++++++ .buildkite/scripts/steps/functional/common.sh | 1 + .buildkite/scripts/steps/test/jest_integration.sh | 1 + 4 files changed, 17 insertions(+) create mode 100755 .buildkite/scripts/copy_es_snapshot_cache.sh diff --git a/.buildkite/scripts/common/env.sh b/.buildkite/scripts/common/env.sh index b3a9711b0086b..2644fb2048669 100755 --- a/.buildkite/scripts/common/env.sh +++ b/.buildkite/scripts/common/env.sh @@ -9,6 +9,7 @@ export KIBANA_DIR export XPACK_DIR="$KIBANA_DIR/x-pack" export CACHE_DIR="$HOME/.kibana" +export ES_CACHE_DIR="$HOME/.es-snapshot-cache" PARENT_DIR="$(cd "$KIBANA_DIR/.."; pwd)" export PARENT_DIR export WORKSPACE="${WORKSPACE:-$PARENT_DIR}" diff --git a/.buildkite/scripts/copy_es_snapshot_cache.sh b/.buildkite/scripts/copy_es_snapshot_cache.sh new file mode 100755 index 0000000000000..d2b325168482a --- /dev/null +++ b/.buildkite/scripts/copy_es_snapshot_cache.sh @@ -0,0 +1,14 @@ +#!/usr/bin/env bash + +set -euo pipefail + +# If cached snapshots are baked into the agent, copy them into our workspace first +# We are doing this rather than simply changing the ES base path because many workers +# run with the workspace mounted in memory or on a local ssd +cacheDir="$ES_CACHE_DIR/cache" +if [[ -d "$cacheDir" ]]; then + mkdir -p .es/cache + echo "--- Copying ES snapshot cache" + echo "Copying cached snapshots from $cacheDir to .es/cache" + cp -R "$cacheDir"/* .es/cache/ +fi diff --git a/.buildkite/scripts/steps/functional/common.sh b/.buildkite/scripts/steps/functional/common.sh index bedd22c53c7ec..42fb42e77f566 100755 --- a/.buildkite/scripts/steps/functional/common.sh +++ b/.buildkite/scripts/steps/functional/common.sh @@ -8,5 +8,6 @@ source .buildkite/scripts/common/util.sh .buildkite/scripts/bootstrap.sh .buildkite/scripts/download_build_artifacts.sh +.buildkite/scripts/copy_es_snapshot_cache.sh is_test_execution_step diff --git a/.buildkite/scripts/steps/test/jest_integration.sh b/.buildkite/scripts/steps/test/jest_integration.sh index 13412881cb6fa..5271d31285b84 100755 --- a/.buildkite/scripts/steps/test/jest_integration.sh +++ b/.buildkite/scripts/steps/test/jest_integration.sh @@ -7,6 +7,7 @@ source .buildkite/scripts/common/util.sh is_test_execution_step .buildkite/scripts/bootstrap.sh +.buildkite/scripts/copy_es_snapshot_cache.sh echo '--- Jest Integration Tests' checks-reporter-with-killswitch "Jest Integration Tests $((BUILDKITE_PARALLEL_JOB+1))" \