mirror of
https://github.com/elastic/elasticsearch.git
synced 2025-06-28 17:34:17 -04:00
44 lines
1.4 KiB
Bash
Executable file
44 lines
1.4 KiB
Bash
Executable file
#!/bin/bash
|
|
|
|
rm -Rfv ~/.gradle/init.d
|
|
mkdir -p ~/.gradle/init.d && cp -v $WORKSPACE/.ci/init.gradle ~/.gradle/init.d
|
|
|
|
MAX_WORKERS=4
|
|
|
|
if [ -z "$MAX_WORKER_ENV" ]; then
|
|
# Don't run this stuff on Windows
|
|
if ! uname -a | grep -q MING; then
|
|
# drop page cache and kernel slab objects on linux
|
|
[[ -x /usr/local/sbin/drop-caches ]] && sudo /usr/local/sbin/drop-caches
|
|
|
|
if [ "$(uname -m)" = "arm64" ] || [ "$(uname -m)" = "aarch64" ]; then
|
|
MAX_WORKERS=16
|
|
elif [ -f /proc/cpuinfo ]; then
|
|
MAX_WORKERS=`grep '^cpu\scores' /proc/cpuinfo | uniq | sed 's/\s\+//g' | cut -d':' -f 2`
|
|
else
|
|
if [[ "$OSTYPE" == "darwin"* ]]; then
|
|
MAX_WORKERS=`sysctl -n hw.physicalcpu | sed 's/\s\+//g'`
|
|
else
|
|
echo "Unsupported OS Type: $OSTYPE"
|
|
exit 1
|
|
fi
|
|
fi
|
|
if pwd | grep -v -q ^/dev/shm ; then
|
|
echo "Not running on a ramdisk, reducing number of workers"
|
|
MAX_WORKERS=$(($MAX_WORKERS*2/3))
|
|
fi
|
|
|
|
# Export glibc version as environment variable since some BWC tests are incompatible with later versions
|
|
export GLIBC_VERSION=$(ldd --version | grep '^ldd' | sed 's/.* \([1-9]\.[0-9]*\).*/\1/')
|
|
fi
|
|
|
|
# Running on 2-core machines without ramdisk can make this value be 0
|
|
if [[ "$MAX_WORKERS" == "0" ]]; then
|
|
MAX_WORKERS=1
|
|
fi
|
|
else
|
|
MAX_WORKERS=$MAX_WORKER_ENV
|
|
fi
|
|
|
|
set -e
|
|
$GRADLEW -S --max-workers=$MAX_WORKERS "$@"
|