|
| 1 | +#!/bin/bash |
| 2 | + |
| 3 | +# This is intended to be run the plugin's root directory. `ci/unit/docker-test.sh` |
| 4 | +# Ensure you have Docker installed locally and set the ELASTIC_STACK_VERSION environment variable. |
| 5 | +set -e |
| 6 | + |
| 7 | +VERSION_URL="https://raw.githubusercontent.com/elastic/logstash/master/ci/logstash_releases.json" |
| 8 | + |
| 9 | +if [ "$ELASTIC_STACK_VERSION" ]; then |
| 10 | + echo "Fetching versions from $VERSION_URL" |
| 11 | + VERSIONS=$(curl $VERSION_URL) |
| 12 | + if [[ "$SNAPSHOT" = "true" ]]; then |
| 13 | + ELASTIC_STACK_RETRIEVED_VERSION=$(echo $VERSIONS | jq '.snapshots."'"$ELASTIC_STACK_VERSION"'"') |
| 14 | + echo $ELASTIC_STACK_RETRIEVED_VERSION |
| 15 | + else |
| 16 | + ELASTIC_STACK_RETRIEVED_VERSION=$(echo $VERSIONS | jq '.releases."'"$ELASTIC_STACK_VERSION"'"') |
| 17 | + fi |
| 18 | + if [[ "$ELASTIC_STACK_RETRIEVED_VERSION" != "null" ]]; then |
| 19 | + # remove starting and trailing double quotes |
| 20 | + ELASTIC_STACK_RETRIEVED_VERSION="${ELASTIC_STACK_RETRIEVED_VERSION%\"}" |
| 21 | + ELASTIC_STACK_RETRIEVED_VERSION="${ELASTIC_STACK_RETRIEVED_VERSION#\"}" |
| 22 | + echo "Translated $ELASTIC_STACK_VERSION to ${ELASTIC_STACK_RETRIEVED_VERSION}" |
| 23 | + export ELASTIC_STACK_VERSION=$ELASTIC_STACK_RETRIEVED_VERSION |
| 24 | + fi |
| 25 | + |
| 26 | + echo "Testing against version: $ELASTIC_STACK_VERSION" |
| 27 | + |
| 28 | + if [[ "$ELASTIC_STACK_VERSION" = *"-SNAPSHOT" ]]; then |
| 29 | + cd /tmp |
| 30 | + |
| 31 | + if [[ $ELASTIC_STACK_VERSION == 8* ]]; then |
| 32 | + jq=".build.projects.logstash.packages.\"logstash-$ELASTIC_STACK_VERSION-docker-image.tar.gz\".url" |
| 33 | + else |
| 34 | + jq=".build.projects.\"logstash\".packages.\"logstash-$ELASTIC_STACK_VERSION-docker-image.tar.gz\".url" |
| 35 | + fi |
| 36 | + echo "curl --silent https://artifacts-api.elastic.co/v1/versions/$ELASTIC_STACK_VERSION/builds/latest | jq -r $jq)" |
| 37 | + result=$(curl --silent https://artifacts-api.elastic.co/v1/versions/$ELASTIC_STACK_VERSION/builds/latest | jq -r $jq) |
| 38 | + echo $result |
| 39 | + curl $result > logstash-docker-image.tar.gz |
| 40 | + tar xfvz logstash-docker-image.tar.gz repositories |
| 41 | + echo "Loading docker image: " |
| 42 | + cat repositories |
| 43 | + docker load < logstash-docker-image.tar.gz |
| 44 | + rm logstash-docker-image.tar.gz |
| 45 | + cd - |
| 46 | + fi |
| 47 | + |
| 48 | + if [ -f Gemfile.lock ]; then |
| 49 | + rm Gemfile.lock |
| 50 | + fi |
| 51 | + |
| 52 | + docker-compose -f ci/unit/docker-compose.yml down |
| 53 | + docker-compose -f ci/unit/docker-compose.yml build |
| 54 | + #docker-compose -f ci/unit/docker-compose.yml up --exit-code-from logstash --force-recreate |
| 55 | +else |
| 56 | + echo "Please set the ELASTIC_STACK_VERSION environment variable" |
| 57 | + echo "For example: export ELASTIC_STACK_VERSION=6.2.4" |
| 58 | + exit 1 |
| 59 | +fi |
| 60 | + |
0 commit comments