39 lines
1.1 KiB
Bash
Executable File
39 lines
1.1 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
#
|
|
# Once called Elasticsearch should be up and running
|
|
#
|
|
script_path=$(dirname "$(realpath -s "$0")")
|
|
set -euo pipefail
|
|
repo=$(pwd)
|
|
|
|
export NODE_VERSION=${NODE_VERSION:-20}
|
|
|
|
echo "--- :javascript: Building Docker image"
|
|
docker build \
|
|
--file "$script_path/Dockerfile" \
|
|
--tag elastic/elasticsearch-js \
|
|
--build-arg NODE_VERSION="$NODE_VERSION" \
|
|
.
|
|
|
|
GITHUB_TOKEN=$(vault read -field=token "$GITHUB_TOKEN_PATH")
|
|
export GITHUB_TOKEN
|
|
|
|
echo "--- :javascript: Running tests"
|
|
mkdir -p "$repo/junit-output"
|
|
docker run \
|
|
--network="${network_name}" \
|
|
--env TEST_ES_STACK \
|
|
--env STACK_VERSION \
|
|
--env GITHUB_TOKEN \
|
|
--env "TEST_ES_SERVER=${elasticsearch_url}" \
|
|
--env "ELASTIC_PASSWORD=${elastic_password}" \
|
|
--env "ELASTIC_USER=elastic" \
|
|
--env "BUILDKITE=true" \
|
|
--volume "/usr/src/app/node_modules" \
|
|
--volume "$repo:/usr/src/app" \
|
|
--volume "$repo/junit-output:/junit-output" \
|
|
--name elasticsearch-js \
|
|
--rm \
|
|
elastic/elasticsearch-js \
|
|
bash -c "npm run test:integration; [ -f ./report-junit.xml ] && mv ./report-junit.xml /junit-output/junit-$BUILDKITE_JOB_ID.xml || echo 'No JUnit artifact found'"
|