mirror of
https://github.com/elastic/kibana.git
synced 2025-06-27 18:51:07 -04:00
* [ftr] automatically determine config run order * split lens config into two groups * support ftr configs always running against CI * Split detection_engine_api_integration rule exception list tests * Add configs from previous commit * [ftr] remove testMetadata and maintain a unique lifecycle instance per run * Revert "[ftr] remove testMetadata and maintain a unique lifecycle instance per run" This reverts commitd2b4fdb824
. * Split alerting_api_integration/security_and_spaces tests * Add groups to yaml * Revert "Revert "[ftr] remove testMetadata and maintain a unique lifecycle instance per run"" This reverts commit56232eea68
. * stop ES more forcefully and fix timeout * only cleanup lifecycle phases when the cleanup is totally complete * only use kill when cleaning up an esTestInstance * fix broken import * fix runOptions.alwaysUseSource implementation * fix config access * fix x-pack/ccs config * fix ml import file paths * update kibana build id * revert array.concat() change * fix baseConfig usage * fix pie chart data * split up maps tests * pull in all of group5 so that es archives are loaded correctly * add to ftr configs.yml * fix pie chart data without breaking legacy version * fix more pie_chart stuff in new vis lib * restore normal PR tasks * bump kibana-buildkite-library * remove ciGroup validation * remove the script which is no longer called from checks.sh * [CI] Auto-commit changed files from 'yarn kbn run build -i @kbn/pm' * adapt flaky test runner scripts to handle ftrConfig paths * fix types in alerting_api_integration * improve flaky config parsing and use non-local var name for passing explicit configs to ftr_configs.sh * Split xpack dashboard tests * Add configs * [flaky] remove key from ftr-config steps * [CI] Auto-commit changed files from 'node scripts/eslint --no-cache --fix' * restore cypress builds * remove ciGroups from FTR config files * fixup some docs * add temporary script to hunt for FTR config files * use config.base.js naming for clarity * use script to power ftr_configs.yml * remove usage of removed x-pack/scripts/functional_tests * fix test names in dashboard snapshots * bump kibana-buildkite-library * Try retrying only failed configs * be a little quieter about trying to get testStats from configs with testRunners defined * Remove test code * bump kibana-buildkite-library * update es_snapshot and on_merge jobs too * track duration and exit code for each config and print it at the end of the script * store results in order, rather than by key, in case there are duplicates in $config * bash is hard * fix env source and use +e rather than disabling e for whole file * bash sucks * print config summary in jest jobs too * define results in jest_parallel.sh * simplify config summary print, format times a little better * fix reference to unbound time variable, use better variable name * skip the newline between each result * finish with the nitpicking * sync changes with ftr_configs.sh * refuse to execute config files which aren't listed in the .buildkite/ftr_configs.yml * fix config.edge.js base config import paths * fix some readmes * resolve paths from ftr_configs manifest * fix readConfigFile tests * just allow __fixtures__ configs * list a few more cypress config files * install the main branch of kibana-buildkite-library * split up lens group1 * move ml data_visualizer tests to their own config * fix import paths * fix more imports * install specific commit of buildkite-pipeline-library * sort configs in ftr_configs.yml * bump kibana-buildkite-library * remove temporary script * fix env var for limiting config types * Update docs/developer/contributing/development-functional-tests.asciidoc Co-authored-by: Christiane (Tina) Heiligers <christiane.heiligers@elastic.co> * produce a JUnit report for saved objects field count * apply standard concurrency limits from flaky test runner * support customizing FTR concurrency via the env Co-authored-by: Brian Seeders <brian.seeders@elastic.co> Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com> Co-authored-by: Christiane (Tina) Heiligers <christiane.heiligers@elastic.co>
62 lines
1.4 KiB
Bash
Executable file
62 lines
1.4 KiB
Bash
Executable file
#!/bin/bash
|
|
|
|
set -euo pipefail
|
|
|
|
source .buildkite/scripts/steps/test/test_group_env.sh
|
|
|
|
export JOB=$BUILDKITE_PARALLEL_JOB
|
|
|
|
# a jest failure will result in the script returning an exit code of 10
|
|
exitCode=0
|
|
results=()
|
|
|
|
if [[ "$1" == 'jest.config.js' ]]; then
|
|
# run unit tests in parallel
|
|
parallelism="-w2"
|
|
TEST_TYPE="unit"
|
|
else
|
|
# run integration tests in-band
|
|
parallelism="--runInBand"
|
|
TEST_TYPE="integration"
|
|
fi
|
|
|
|
export TEST_TYPE
|
|
echo "--- downloading jest test run order"
|
|
buildkite-agent artifact download jest_run_order.json .
|
|
configs=$(jq -r 'getpath([env.TEST_TYPE]) | .groups[env.JOB | tonumber].names | .[]' jest_run_order.json)
|
|
|
|
while read -r config; do
|
|
echo "--- $ node scripts/jest --config $config"
|
|
start=$(date +%s)
|
|
|
|
# prevent non-zero exit code from breaking the loop
|
|
set +e;
|
|
NODE_OPTIONS="--max-old-space-size=14336" node ./scripts/jest --config="$config" "$parallelism" --coverage=false --passWithNoTests
|
|
lastCode=$?
|
|
set -e;
|
|
|
|
timeSec=$(($(date +%s)-start))
|
|
if [[ $timeSec -gt 60 ]]; then
|
|
min=$((timeSec/60))
|
|
sec=$((timeSec-(min*60)))
|
|
duration="${min}m ${sec}s"
|
|
else
|
|
duration="${timeSec}s"
|
|
fi
|
|
|
|
results+=("- $config
|
|
duration: ${duration}
|
|
result: ${lastCode}")
|
|
|
|
if [ $lastCode -ne 0 ]; then
|
|
exitCode=10
|
|
echo "Jest exited with code $lastCode"
|
|
echo "^^^ +++"
|
|
fi
|
|
done <<< "$configs"
|
|
|
|
echo "--- Jest configs complete"
|
|
printf "%s\n" "${results[@]}"
|
|
echo ""
|
|
|
|
exit $exitCode
|