Skip to content

Commit f6d7974

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

File tree

2 files changed

+52
-33
lines changed

2 files changed

+52
-33
lines changed

.buildkite/pipeline.yml

Lines changed: 4 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -51,29 +51,19 @@ steps:
5151
- touch ~/.elastic/cloud.json
5252
- echo "{\"api_key\":{\"qa\":\"$(vault read -field=qa secret/ci/elastic-elasticsearch-ruby/cloud-access)\"}}" > ~/.elastic/cloud.json
5353
- ./.buildkite/create-serverless.sh
54-
- label: "Run :elasticsearch: Serverless :rspec: Tests :ruby: {{ matrix.ruby_source }} {{ matrix.ruby }}"
54+
- label: "Run :elasticsearch: Serverless :rspec: Tests :ruby:"
5555
key: run-serverless-tests
5656
depends_on:
5757
- step: create-serverless
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: 48 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -5,16 +5,25 @@
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}
26+
export DEBUG=${DEBUG:-false}
1827

1928
echo "--- :ruby: Building Docker image"
2029
docker build \
@@ -27,20 +36,40 @@ docker build \
2736

2837
mkdir -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+
3168
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
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

Comments
 (0)