66
77VERSION_URL=" https://raw.githubusercontent.com/elastic/logstash/master/ci/logstash_releases.json"
88
9+ download_and_load_docker_snapshot_artifact () {
10+ project=" ${1} "
11+ stack_version=" ${ELASTIC_STACK_VERSION} "
12+ case " ${DISTRIBUTION} " in
13+ default) distribution_suffix=" " ;; # default has no suffix
14+ * ) distribution_suffix=" ${DISTRIBUTION/*/ -}${DISTRIBUTION} " ;;
15+ esac
16+
17+ artifact_type=" docker-image"
18+ artifact_name_base=" ${project}${distribution_suffix} -${stack_version} -${artifact_type} "
19+ echo " Downloading snapshot docker artifact: ${artifact_name_base} "
20+
21+ artifact_name_noarch=" ${artifact_name_base} .tar.gz"
22+ artifact_name_arch=" ${artifact_name_base} -x86_64.tar.gz"
23+
24+ jq_extract_artifact_url=" .build.projects.\" ${project} \" .packages | (.\" ${artifact_name_noarch} \" // .\" ${artifact_name_arch} \" ) | .url"
25+
26+ artifact_list=$( curl --silent " https://artifacts-api.elastic.co/v1/versions/${stack_version} /builds/latest" )
27+ artifact_url=$( echo " ${artifact_list} " | jq --raw-output " ${jq_extract_artifact_url} " )
28+
29+ if [[ " ${artifact_url} " == " null" ]]; then
30+ echo " Failed to find '${artifact_name_noarch} '"
31+ echo " Failed to find '${artifact_name_arch} '"
32+ echo " Listing:"
33+ echo " ${artifact_list} " | jq --raw-output " .build.projects.\" ${project} \" .packages | keys | map(select(contains(\" ${artifact_type} \" )))"
34+ return 1
35+ fi
36+
37+ echo " ${artifact_url} "
38+
39+ cd /tmp
40+ curl " ${artifact_url} " > " ${project} -docker-image.tar.gz"
41+ tar xfvz " ${project} -docker-image.tar.gz" repositories
42+ echo " Loading ${project} docker image: "
43+ cat repositories
44+ docker load < " ${project} -docker-image.tar.gz"
45+ rm " ${project} -docker-image.tar.gz"
46+ cd -
47+ }
48+
949if [ " $ELASTIC_STACK_VERSION " ]; then
1050 echo " Fetching versions from $VERSION_URL "
1151 VERSIONS=$( curl --silent $VERSION_URL )
@@ -23,43 +63,12 @@ if [ "$ELASTIC_STACK_VERSION" ]; then
2363 export ELASTIC_STACK_VERSION=$ELASTIC_STACK_RETRIEVED_VERSION
2464 fi
2565
26- if [[ " $DISTRIBUTION " = " oss" ]]; then
27- export DISTRIBUTION_SUFFIX=" -oss"
28- else
29- export DISTRIBUTION_SUFFIX=" "
30- fi
31-
3266 echo " Testing against version: $ELASTIC_STACK_VERSION "
3367
3468 if [[ " $ELASTIC_STACK_VERSION " = * " -SNAPSHOT" ]]; then
35- cd /tmp
36-
37- jq=" .build.projects.\" logstash\" .packages.\" logstash$DISTRIBUTION_SUFFIX -$ELASTIC_STACK_VERSION -docker-image.tar.gz\" .url"
38- result=$( curl --silent https://artifacts-api.elastic.co/v1/versions/$ELASTIC_STACK_VERSION /builds/latest | jq -r $jq )
39- echo $result
40- curl $result > logstash-docker-image.tar.gz
41- tar xfvz logstash-docker-image.tar.gz repositories
42- echo " Loading docker image: "
43- cat repositories
44- docker load < logstash-docker-image.tar.gz
45- rm logstash-docker-image.tar.gz
46- cd -
47-
69+ download_and_load_docker_snapshot_artifact " logstash" || exit 1
4870 if [ " $INTEGRATION " == " true" ]; then
49-
50- cd /tmp
51-
52- jq=" .build.projects.\" elasticsearch\" .packages.\" elasticsearch$DISTRIBUTION_SUFFIX -$ELASTIC_STACK_VERSION -docker-image.tar.gz\" .url"
53- result=$( curl --silent https://artifacts-api.elastic.co/v1/versions/$ELASTIC_STACK_VERSION /builds/latest | jq -r $jq )
54- echo $result
55- curl $result > elasticsearch-docker-image.tar.gz
56- tar xfvz elasticsearch-docker-image.tar.gz repositories
57- echo " Loading docker image: "
58- cat repositories
59- docker load < elasticsearch-docker-image.tar.gz
60- rm elasticsearch-docker-image.tar.gz
61- cd -
62-
71+ download_and_load_docker_snapshot_artifact " elasticsearch" || exit 1
6372 fi
6473 fi
6574
0 commit comments