mirror of
https://github.com/elastic/logstash.git
synced 2025-04-22 13:47:21 -04:00
* Ruby code coverage with SimpleCov json formatter * [CI] Send Java and ruby tests to sonarqube simultaneously * Enabled COVERAGE for ruby tests * Enabled COVERAGE for ruby tests * Enabled COVERAGE for ruby tests * Enabled COVERAGE for ruby tests * Enabled COVERAGE for ruby tests * Added compiled classes to artifacts * Test change * Removed test changes * Returned back ENABLE_SONARQUBE condition * Removed debug line * Diable Ruby coverage if ENABLE_SONARQUBE is not true * Run sonar scan on pull requests and onn push to main * Run sonar can on release branches
37 lines
1.4 KiB
Bash
Executable file
37 lines
1.4 KiB
Bash
Executable file
#!/bin/bash -ie
|
|
#Note - ensure that the -e flag is set to properly set the $? status if any command fails
|
|
|
|
# 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.jvmargs=-Xmx4g -Dorg.gradle.daemon=false -Dorg.gradle.logging.level=info -Dfile.encoding=UTF-8"
|
|
|
|
export SPEC_OPTS="--order rand --format documentation"
|
|
export CI=true
|
|
export TEST_DEBUG=true
|
|
# don't rely on bash booleans for truth checks, since some CI platforms don't have a way to specify env vars as boolean
|
|
export ENABLE_SONARQUBE=${ENABLE_SONARQUBE:-"true"}
|
|
|
|
if [ -n "$BUILD_JAVA_HOME" ]; then
|
|
GRADLE_OPTS="$GRADLE_OPTS -Dorg.gradle.java.home=$BUILD_JAVA_HOME"
|
|
fi
|
|
|
|
SELECTED_TEST_SUITE=$1
|
|
|
|
SONAR_ARGS=()
|
|
if [[ $(echo $ENABLE_SONARQUBE | tr '[:lower:]' '[:upper:]') == "TRUE" ]]; then
|
|
SONAR_ARGS=("jacocoTestReport")
|
|
export COVERAGE=true
|
|
fi
|
|
|
|
if [[ $SELECTED_TEST_SUITE == $"java" ]]; then
|
|
echo "Running Java Tests"
|
|
./gradlew javaTests "${SONAR_ARGS[@]}" --console=plain --warning-mode all
|
|
elif [[ $SELECTED_TEST_SUITE == $"ruby" ]]; then
|
|
echo "Running Ruby unit tests"
|
|
./gradlew rubyTests --console=plain --warning-mode all
|
|
else
|
|
echo "Running Java and Ruby unit tests"
|
|
./gradlew test --console=plain
|
|
fi
|