55# Version 0.1
66#
77script_path=$( dirname $( realpath -s $0 ) )
8- source $script_path /functions/imports.sh
98set -euo pipefail
109repo=` pwd`
1110
12- echo " --- :elasticsearch: Starting Elasticsearch"
13- DETACH=true bash $script_path /run-elasticsearch.sh
11+ if [[ " $TEST_SUITE " == " serverless" ]]; then
12+ # Get Elasticsearch Serverless credentials and endpoint
13+ TEST_ES_SERVER=` buildkite-agent meta-data get " ELASTICSEARCH_URL" `
14+ ES_API_SECRET_KEY=` buildkite-agent meta-data get " ES_API_SECRET_KEY" `
15+ else
16+ # Start Elasticsearch Stack on Docker
17+ source $script_path /functions/imports.sh
18+ echo " --- :elasticsearch: Starting Elasticsearch"
19+ DETACH=true bash $script_path /run-elasticsearch.sh
20+ fi
1421
1522export RUBY_VERSION=${RUBY_VERSION:- 3.1}
1623export BUILDKITE=${BUILDKITE:- false}
1724export TRANSPORT_VERSION=${TRANSPORT_VERSION:- 8}
25+ export QUIET=${QUIET:- false}
26+ export DEBUG=${DEBUG:- false}
1827
1928echo " --- :ruby: Building Docker image"
2029docker build \
@@ -27,20 +36,40 @@ docker build \
2736
2837mkdir -p elasticsearch-api/tmp
2938
30- echo " --- :ruby: Running :yaml: tests"
39+ environment=($( cat << -END
40+ -e "BUILDKITE=${BUILDKITE} "
41+ -e "TRANSPORT_VERSION=${TRANSPORT_VERSION} "
42+ -e "ES_YAML_TESTS_BRANCH=${ES_YAML_TESTS_BRANCH} "
43+ -e "DEBUG=${DEBUG} "
44+ -e "QUIET=${QUIET} "
45+ END
46+ ) )
47+
48+ if [[ " $TEST_SUITE " == " serverless" ]]; then
49+ echo " --- :ruby: Running :yaml: tests"
50+ environment+=($( cat << -END
51+ -e "TEST_ES_SERVER=${TEST_ES_SERVER} "
52+ -e "ES_API_KEY=${ES_API_SECRET_KEY} "
53+ END
54+ ) )
55+ else # Running stack in Docker
56+ echo " --- :ruby: Running $TEST_SUITE tests"
57+ environment+=($( cat << -END
58+ --network="${network_name} "
59+ -e "TEST_ES_SERVER=${elasticsearch_url} "
60+ -e "ELASTIC_PASSWORD=${elastic_password} "
61+ -e "ELASTIC_USER=elastic"
62+ -e "TEST_ES_SERVER=${elasticsearch_url} "
63+ -e "STACK_VERSION=${STACK_VERSION} "
64+ END
65+ ) )
66+ fi
67+
3168docker run \
32- -u " $( id -u) " \
33- --network=" ${network_name} " \
34- --env " TEST_ES_SERVER=${elasticsearch_url} " \
35- --env " ELASTIC_PASSWORD=${elastic_password} " \
36- --env " ELASTIC_USER=elastic" \
37- --env " BUILDKITE=${BUILDKITE} " \
38- --env " TRANSPORT_VERSION=${TRANSPORT_VERSION} " \
39- --env " STACK_VERSION=${STACK_VERSION} " \
40- --env " ES_YAML_TESTS_BRANCH=${ES_YAML_TESTS_BRANCH} " \
41- --env " DEBUG=${DEBUG} " \
42- --volume $repo :/usr/src/app \
43- --name elasticsearch-ruby \
44- --rm \
45- elastic/elasticsearch-ruby \
46- bundle exec rake test:yaml
69+ -u " $( id -u) " \
70+ " ${environment[@]} " \
71+ --volume $repo :/usr/src/app \
72+ --name elasticsearch-ruby \
73+ --rm \
74+ elastic/elasticsearch-ruby \
75+ bundle exec rake test:yaml
0 commit comments