Skip to content

Commit eb3e1a4

Browse files
committed
[CI] Refactors Serverless and Stack into one script
1 parent bc61d9f commit eb3e1a4

File tree

2 files changed

+50
-32
lines changed

2 files changed

+50
-32
lines changed

.buildkite/pipeline.yml

Lines changed: 3 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -58,22 +58,12 @@ steps:
5858
agents:
5959
provider: "gcp"
6060
env:
61-
RUBY_VERSION: "{{ matrix.ruby }}"
62-
RUBY_SOURCE: "{{ matrix.ruby_source }}"
61+
RUBY_VERSION: "3.4"
62+
RUBY_SOURCE: "ruby"
6363
TEST_SUITE: serverless
6464
ES_YAML_TESTS_BRANCH: main
6565
QUIET: false
66-
matrix:
67-
setup:
68-
ruby:
69-
- '3.4'
70-
ruby_source:
71-
- 'ruby'
72-
adjustments:
73-
- with:
74-
ruby_source: 'jruby'
75-
ruby: '9.4'
76-
command: ./.buildkite/run-serverless-tests.sh
66+
command: ./.buildkite/run-yaml-tests.sh
7767
artifact_paths: "elasticsearch-api/tmp/*"
7868
- label: "Destroy :elasticsearch: Serverless projects"
7969
depends_on:

.buildkite/run-yaml-tests.sh

Lines changed: 47 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -5,16 +5,24 @@
55
# Version 0.1
66
#
77
script_path=$(dirname $(realpath -s $0))
8-
source $script_path/functions/imports.sh
98
set -euo pipefail
109
repo=`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

1522
export RUBY_VERSION=${RUBY_VERSION:-3.1}
1623
export BUILDKITE=${BUILDKITE:-false}
1724
export TRANSPORT_VERSION=${TRANSPORT_VERSION:-8}
25+
export QUIET=${QUIET:-false}
1826

1927
echo "--- :ruby: Building Docker image"
2028
docker build \
@@ -27,20 +35,40 @@ docker build \
2735

2836
mkdir -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+
3167
docker 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

Comments
 (0)