mirror of
https://github.com/elastic/logstash.git
synced 2025-04-23 14:17:58 -04:00
* build full docker image from dockerfiles during docker acceptance tests
(cherry picked from commit fecfc7c602
)
Co-authored-by: João Duarte <jsvd@users.noreply.github.com>
79 lines
2.6 KiB
Bash
Executable file
79 lines
2.6 KiB
Bash
Executable file
#!/usr/bin/env bash
|
|
set -e
|
|
set -x
|
|
|
|
# Since we are using the system jruby, we need to make sure our jvm process
|
|
# uses at least 1g of memory, If we don't do this we can get OOM issues when
|
|
# installing gems. See https://github.com/elastic/logstash/issues/5179
|
|
export JRUBY_OPTS="-J-Xmx1g"
|
|
export GRADLE_OPTS="-Xmx4g -Dorg.gradle.console=plain -Dorg.gradle.daemon=false -Dorg.gradle.logging.level=info -Dfile.encoding=UTF-8"
|
|
|
|
if [ -n "$BUILD_JAVA_HOME" ]; then
|
|
GRADLE_OPTS="$GRADLE_OPTS -Dorg.gradle.java.home=$BUILD_JAVA_HOME"
|
|
fi
|
|
|
|
# Can run either a specific flavor, or all flavors -
|
|
# eg `ci/acceptance_tests.sh oss` will run tests for open source container
|
|
# `ci/acceptance_tests.sh full` will run tests for the default container
|
|
# `ci/acceptance_tests.sh wolfi` will run tests for the wolfi based container
|
|
# `ci/acceptance_tests.sh` will run tests for all containers
|
|
SELECTED_TEST_SUITE=$1
|
|
|
|
# The acceptance test in our CI infrastructure doesn't clear the workspace between run
|
|
# this mean the lock of the Gemfile can be sticky from a previous run, before generating any package
|
|
# we will clear them out to make sure we use the latest version of theses files
|
|
# If we don't do this we will run into gem Conflict error.
|
|
[ -f Gemfile ] && rm Gemfile
|
|
[ -f Gemfile.lock ] && rm Gemfile.lock
|
|
|
|
LS_HOME="$PWD"
|
|
QA_DIR="$PWD/qa"
|
|
|
|
cd $QA_DIR
|
|
bundle check || bundle install
|
|
|
|
echo "Building Logstash artifacts"
|
|
cd $LS_HOME
|
|
|
|
if [[ $SELECTED_TEST_SUITE == "oss" ]]; then
|
|
echo "--- Building $SELECTED_TEST_SUITE docker images"
|
|
cd $LS_HOME
|
|
rake artifact:docker_oss
|
|
echo "--- Acceptance: Installing dependencies"
|
|
cd $QA_DIR
|
|
bundle install
|
|
|
|
echo "--- Acceptance: Running the tests"
|
|
bundle exec rspec docker/spec/oss/*_spec.rb
|
|
elif [[ $SELECTED_TEST_SUITE == "full" ]]; then
|
|
echo "--- Building $SELECTED_TEST_SUITE docker images"
|
|
cd $LS_HOME
|
|
rake artifact:build_docker_full
|
|
echo "--- Acceptance: Installing dependencies"
|
|
cd $QA_DIR
|
|
bundle install
|
|
|
|
echo "--- Acceptance: Running the tests"
|
|
bundle exec rspec docker/spec/full/*_spec.rb
|
|
elif [[ $SELECTED_TEST_SUITE == "wolfi" ]]; then
|
|
echo "--- Building $SELECTED_TEST_SUITE docker images"
|
|
cd $LS_HOME
|
|
rake artifact:docker_wolfi
|
|
echo "--- Acceptance: Installing dependencies"
|
|
cd $QA_DIR
|
|
bundle install
|
|
|
|
echo "--- Acceptance: Running the tests"
|
|
bundle exec rspec docker/spec/wolfi/*_spec.rb
|
|
else
|
|
echo "--- Building all docker images"
|
|
cd $LS_HOME
|
|
rake artifact:docker_only
|
|
|
|
echo "--- Acceptance: Installing dependencies"
|
|
cd $QA_DIR
|
|
bundle install
|
|
|
|
echo "--- Acceptance: Running the tests"
|
|
bundle exec rspec docker/spec/**/*_spec.rb
|
|
fi
|