55# Version 0.1
66#
77script_path=$( dirname $( realpath -s $0 ) )
8- source $script_path /functions/imports.sh
8+
9+ if [[ " $TEST_SUITE " == " serverless" ]]; then
10+ # Get Elasticsearch Serverless credentials and endpoint
11+ TEST_ES_SERVER=` buildkite-agent meta-data get " ELASTICSEARCH_URL" `
12+ ES_API_SECRET_KEY=` buildkite-agent meta-data get " ES_API_SECRET_KEY" `
13+ else
14+ # Start Elasticsearch Stack on Docker
15+ source $script_path /functions/imports.sh
16+ echo " --- :elasticsearch: Starting Elasticsearch"
17+ DETACH=true bash $script_path /run-elasticsearch.sh
18+ fi
19+
920set -euo pipefail
1021repo=` pwd`
1122
12- echo " --- :elasticsearch: Starting Elasticsearch"
13- DETACH=true bash $script_path /run-elasticsearch.sh
14-
1523export RUBY_VERSION=${RUBY_VERSION:- 3.1}
1624export BUILDKITE=${BUILDKITE:- false}
1725export TRANSPORT_VERSION=${TRANSPORT_VERSION:- 8}
26+ export QUIET=${QUIET:- false}
27+ export DEBUG=${DEBUG:- false}
1828
1929echo " --- :ruby: Building Docker image"
2030docker build \
@@ -27,20 +37,40 @@ docker build \
2737
2838mkdir -p elasticsearch-api/tmp
2939
30- echo " --- :ruby: Running :yaml: tests"
40+ environment=($( cat << -END
41+ -e "BUILDKITE=${BUILDKITE} "
42+ -e "TRANSPORT_VERSION=${TRANSPORT_VERSION} "
43+ -e "ES_YAML_TESTS_BRANCH=${ES_YAML_TESTS_BRANCH} "
44+ -e "DEBUG=${DEBUG} "
45+ -e "QUIET=${QUIET} "
46+ END
47+ ) )
48+
49+ if [[ " $TEST_SUITE " == " serverless" ]]; then
50+ echo " --- :ruby: Running :yaml: tests"
51+ environment+=($( cat << -END
52+ -e "TEST_ES_SERVER=${TEST_ES_SERVER} "
53+ -e "ES_API_KEY=${ES_API_SECRET_KEY} "
54+ END
55+ ) )
56+ else # Running stack in Docker
57+ echo " --- :ruby: Running $TEST_SUITE tests"
58+ environment+=($( cat << -END
59+ --network="${network_name} "
60+ -e "TEST_ES_SERVER=${elasticsearch_url} "
61+ -e "ELASTIC_PASSWORD=${elastic_password} "
62+ -e "ELASTIC_USER=elastic"
63+ -e "TEST_ES_SERVER=${elasticsearch_url} "
64+ -e "STACK_VERSION=${STACK_VERSION} "
65+ END
66+ ) )
67+ fi
68+
3169docker 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
70+ -u " $( id -u) " \
71+ " ${environment[@]} " \
72+ --volume $repo :/usr/src/app \
73+ --name elasticsearch-ruby \
74+ --rm \
75+ elastic/elasticsearch-ruby \
76+ bundle exec rake test:yaml
0 commit comments