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}
1826
1927echo " --- :ruby: Building Docker image"
2028docker build \
@@ -27,20 +35,40 @@ docker build \
2735
2836mkdir -p elasticsearch-api/tmp
2937
30- echo " --- :ruby: Running :yaml: tests"
38+ environment=($( cat << -END
39+ -e "BUILDKITE=${BUILDKITE} "
40+ -e "TRANSPORT_VERSION=${TRANSPORT_VERSION} "
41+ -e "ES_YAML_TESTS_BRANCH=${ES_YAML_TESTS_BRANCH} "
42+ -e "DEBUG=${DEBUG} "
43+ -e "QUIET=${QUIET} "
44+ END
45+ ) )
46+
47+ if [[ " $TEST_SUITE " == " serverless" ]]; then
48+ echo " --- :ruby: Running :yaml: tests"
49+ environment+=($( cat << -END
50+ -e "TEST_ES_SERVER=${TEST_ES_SERVER} "
51+ -e "ES_API_KEY=${ES_API_SECRET_KEY} "
52+ END
53+ ) )
54+ else # Running stack in Docker
55+ echo " --- :ruby: Running $TEST_SUITE tests"
56+ environment+=($( cat << -END
57+ --network="${network_name} "
58+ -e "TEST_ES_SERVER=${elasticsearch_url} "
59+ -e "ELASTIC_PASSWORD=${elastic_password} "
60+ -e "ELASTIC_USER=elastic"
61+ -e "TEST_ES_SERVER=${elasticsearch_url} "
62+ -e "STACK_VERSION=${STACK_VERSION} "
63+ END
64+ ) )
65+ fi
66+
3167docker 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
68+ -u " $( id -u) " \
69+ " ${environment[@]} " \
70+ --volume $repo :/usr/src/app \
71+ --name elasticsearch-ruby \
72+ --rm \
73+ elastic/elasticsearch-ruby \
74+ bundle exec rake test:yaml
0 commit comments