Skip to content

Commit 6475020

Browse files
committed
ci: look for arch-specific snapshots when necessary
1 parent 1d2e3b1 commit 6475020

File tree

1 file changed

+39
-33
lines changed

1 file changed

+39
-33
lines changed

.ci/docker-setup.sh

Lines changed: 39 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,43 @@ set -e
66

77
VERSION_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+
distribution_suffix="${DISTRIBUTION/*/-}${DISTRIBUTION}"
13+
14+
artifact_type="docker-image"
15+
artifact_name_base="${project}${distribution_suffix}-${stack_version}-${artifact_type}"
16+
echo "Downloading snapshot docker artifact: ${artifact_name_base}"
17+
18+
artifact_name_noarch="${artifact_name_base}.tar.gz"
19+
artifact_name_arch="${artifact_name_base}-x86_64.tar.gz"
20+
21+
jq_extract_artifact_url=".build.projects.\"${project}\".packages | (.\"${artifact_name_noarch}\" // .\"${artifact_name_arch}\") | .url"
22+
23+
artifact_list=$(curl --silent "https://artifacts-api.elastic.co/v1/versions/${stack_version}/builds/latest")
24+
artifact_url=$(echo "${artifact_list}" | jq --raw-output "${jq_extract_artifact_url}")
25+
26+
if [[ "${artifact_url}" == "null" ]]; then
27+
echo "Failed to find '${artifact_name_noarch}'"
28+
echo "Failed to find '${artifact_name_arch}'"
29+
echo "Listing:"
30+
echo "${artifact_list}" | jq --raw-output ".build.projects.\"${project}\".packages | keys | map(select(contains(\"${artifact_type}\")))"
31+
return 1
32+
fi
33+
34+
echo "${artifact_url}"
35+
36+
cd /tmp
37+
curl "${artifact_url}" > "${project}-docker-image.tar.gz"
38+
tar xfvz "${project}-docker-image.tar.gz" repositories
39+
echo "Loading ${project} docker image: "
40+
cat repositories
41+
docker load < "${project}-docker-image.tar.gz"
42+
rm "${project}-docker-image.tar.gz"
43+
cd -
44+
}
45+
946
if [ "$ELASTIC_STACK_VERSION" ]; then
1047
echo "Fetching versions from $VERSION_URL"
1148
VERSIONS=$(curl --silent $VERSION_URL)
@@ -23,43 +60,12 @@ if [ "$ELASTIC_STACK_VERSION" ]; then
2360
export ELASTIC_STACK_VERSION=$ELASTIC_STACK_RETRIEVED_VERSION
2461
fi
2562

26-
if [[ "$DISTRIBUTION" = "oss" ]]; then
27-
export DISTRIBUTION_SUFFIX="-oss"
28-
else
29-
export DISTRIBUTION_SUFFIX=""
30-
fi
31-
3263
echo "Testing against version: $ELASTIC_STACK_VERSION"
3364

3465
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-
66+
download_and_load_docker_snapshot_artifact "logstash" || exit 1
4867
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-
68+
download_and_load_docker_snapshot_artifact "elasticsearch" || exit 1
6369
fi
6470
fi
6571

0 commit comments

Comments
 (0)