@@ -7,18 +7,39 @@ export PYTHON_CONNECTION_CLASS="${PYTHON_CONNECTION_CLASS:=urllib3}"
7
7
8
8
set -euo pipefail
9
9
10
+ # fetch cloud creds used by qaf
11
+ CLOUD_ACCESS_KEY=$( vault read -field=" $EC_ENV " secret/ci/elastic-elasticsearch-serverless-python/cloud-access)
12
+ echo " {\" api_key\" :{\" $EC_ENV \" :\" $CLOUD_ACCESS_KEY \" }}" > " $( pwd) /cloud.json"
13
+
14
+ # ensure serverless instance is deleted even if script errors
15
+ cleanup () {
16
+ echo -e " --- :elasticsearch: Tear down serverless instance EC_PROJECT_NAME"
17
+ docker run --rm \
18
+ -e EC_REGISTER_BACKEND \
19
+ -e EC_ENV \
20
+ -e EC_REGION \
21
+ -e EC_PROJECT_NAME \
22
+ -e VAULT_TOKEN \
23
+ -v " $( pwd) /cloud.json:/root/.elastic/cloud.json" \
24
+ docker.elastic.co/employees/dolaru/qaf:latest \
25
+ bash -c ' qaf elastic-cloud projects delete'
26
+ }
27
+ trap cleanup EXIT
28
+
10
29
echo -e " --- :elasticsearch: Start serverless instance"
30
+
11
31
deployment=$( docker run --rm \
12
32
-e EC_REGISTER_BACKEND \
13
33
-e EC_ENV \
14
34
-e EC_REGION \
15
35
-e EC_PROJECT_NAME \
36
+ -e VAULT_TOKEN \
37
+ -v " $( pwd) /cloud.json:/root/.elastic/cloud.json" \
16
38
docker.elastic.co/employees/dolaru/qaf:latest \
17
39
bash -c ' qaf elastic-cloud projects create --project-type elasticsearch && \
18
40
qaf elastic-cloud projects describe --as-json --show-credentials' ) \
19
41
20
- ES_API_KEY=$( echo " $deployment " | jq -r ' .credentials.api_key' )
21
- export ES_API_KEY
42
+ ES_API_SECRET_KEY=$( echo " $deployment " | jq -r ' .credentials.api_key' )
22
43
ELASTICSEARCH_URL=$( echo " $deployment " | jq -r ' .elasticsearch.url' )
23
44
export ELASTICSEARCH_URL
24
45
@@ -39,23 +60,18 @@ docker build \
39
60
40
61
echo -e " --- :docker: :python: Run integration tests for Python $PYTHON_VERSION "
41
62
63
+ GITHUB_TOKEN=$( vault read -field=token secret/ci/elastic-elasticsearch-serverless-python/github-token)
64
+ export GITHUB_TOKEN
65
+
42
66
docker run \
43
67
-e ELASTICSEARCH_URL \
44
- -e ES_API_KEY \
68
+ -e " ES_API_KEY= $ES_API_SECRET_KEY " \
45
69
-e PYTHON_CONNECTION_CLASS \
46
70
-e STACK_VERSION \
47
71
-e TEST_SUITE \
72
+ -e GITHUB_TOKEN \
48
73
--name elasticsearch-serverless-python-tests \
49
74
--volume " $( pwd) /junit:/code/elasticsearch-serverless-python/junit" \
50
75
--rm \
51
76
elasticsearch-serverless-python \
52
77
nox -s " test-$PYTHON_VERSION "
53
-
54
- echo -e " --- :elasticsearch: Tear down serverless instance"
55
- deployment=$( docker run --rm \
56
- -e EC_REGISTER_BACKEND \
57
- -e EC_ENV \
58
- -e EC_REGION \
59
- -e EC_PROJECT_NAME \
60
- docker.elastic.co/employees/dolaru/qaf:latest \
61
- bash -c ' qaf elastic-cloud projects delete' ) \
0 commit comments