mirror of
https://github.com/elastic/logstash.git
synced 2025-04-23 14:17:58 -04:00
This commit modernizes the qa/acceptance (packaging) test framework by moving away from Vagrant and having the tests operate locally. As we are migrating to Buildkite, the expectation is that those tests will run on dedicated vms thus removing the necessity of vagrant. Relates: https://github.com/elastic/ingest-dev/issues/1722
58 lines
1.8 KiB
Bash
Executable file
58 lines
1.8 KiB
Bash
Executable file
#!/usr/bin/env bash
|
|
set -eo pipefail
|
|
|
|
function get_package_type {
|
|
# determines OS packaging system; at the moment either rpm or deb
|
|
source /etc/os-release
|
|
|
|
if [[ $ID == "ubuntu" || $ID == "debian" || $ID_LIKE == "debian" ]]; then
|
|
PACKAGE_TYPE="deb"
|
|
elif [[ $ID_LIKE == *"rhel"* || $ID_LIKE == *"fedora"* || $ID_LIKE == *"suse"* ]]; then
|
|
PACKAGE_TYPE="rpm"
|
|
else
|
|
echo "^^^ +++ Unsupported Linux distribution [$ID]. Acceptance packaging tests only support deb or rpm based distributions. Exiting."
|
|
exit 1
|
|
fi
|
|
}
|
|
|
|
# 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.daemon=false -Dorg.gradle.logging.level=info -Dfile.encoding=UTF-8"
|
|
export OSS=true
|
|
|
|
if [ -n "$BUILD_JAVA_HOME" ]; then
|
|
GRADLE_OPTS="$GRADLE_OPTS -Dorg.gradle.java.home=$BUILD_JAVA_HOME"
|
|
fi
|
|
|
|
LS_HOME="$PWD"
|
|
QA_DIR="$PWD/qa"
|
|
|
|
cd $LS_HOME
|
|
|
|
get_package_type
|
|
|
|
# in CI (Buildkite), packaging artifacts are pre-built from a previous step
|
|
if [[ $BUILDKITE == true ]]; then
|
|
export LS_ARTIFACTS_PATH="$HOME/build"
|
|
echo "--- Downloading artifacts from \"build/*${PACKAGE_TYPE}\" to $LS_ARTIFACTS_PATH"
|
|
set -x
|
|
# also creates build/ under $HOME
|
|
buildkite-agent artifact download "build/*${PACKAGE_TYPE}" $HOME
|
|
set +x
|
|
echo "--- Running gradle"
|
|
./gradlew clean bootstrap
|
|
else
|
|
echo "--- Detected a distribution that supports \033[33m[$PACKAGE_TYPE]\033[0m packages. Running gradle."
|
|
./gradlew clean bootstrap
|
|
echo "--- Building Logstash artifacts"
|
|
rake artifact:$PACKAGE_TYPE
|
|
fi
|
|
|
|
echo "--- Acceptance: Installing dependencies"
|
|
cd $QA_DIR
|
|
bundle install
|
|
|
|
echo "--- Acceptance: Running the tests"
|
|
rake qa:acceptance:all
|