mirror of
https://github.com/pytorch/pytorch.git
synced 2025-10-20 12:54:11 +08:00
Run shellcheck on Jenkins scripts (#18874)
Summary: closes #18873 Doesn't fail the build on warnings yet. Also fix most severe shellcheck warnings Limited to `.jenkins/pytorch/` at this time Pull Request resolved: https://github.com/pytorch/pytorch/pull/18874 Differential Revision: D14936165 Pulled By: kostmo fbshipit-source-id: 1ee335695e54fe6c387ef0f6606ea7011dad0fd4
This commit is contained in:
committed by
Facebook Github Bot
parent
a0263ec047
commit
00148825fc
@ -4,7 +4,9 @@
|
||||
# (This is set by default in the Docker images we build, so you don't
|
||||
# need to set it yourself.
|
||||
|
||||
# shellcheck disable=SC2034
|
||||
COMPACT_JOB_NAME="${BUILD_ENVIRONMENT}"
|
||||
|
||||
source "$(dirname "${BASH_SOURCE[0]}")/common.sh"
|
||||
|
||||
echo "Clang version:"
|
||||
|
@ -4,7 +4,9 @@
|
||||
# (This is set by default in the Docker images we build, so you don't
|
||||
# need to set it yourself.
|
||||
|
||||
# shellcheck disable=SC2034
|
||||
COMPACT_JOB_NAME="${BUILD_ENVIRONMENT}"
|
||||
|
||||
source "$(dirname "${BASH_SOURCE[0]}")/common.sh"
|
||||
|
||||
# For distributed, four environmental configs:
|
||||
@ -31,7 +33,7 @@ if [[ "$BUILD_ENVIRONMENT" == *-xenial-cuda9*gcc7* ]] || [[ "$BUILD_ENVIRONMENT"
|
||||
fi
|
||||
|
||||
if [[ "$BUILD_ENVIRONMENT" == *pytorch-linux-xenial-py3-clang5-asan* ]]; then
|
||||
exec "$(dirname "${BASH_SOURCE[0]}")/build-asan.sh" $*
|
||||
exec "$(dirname "${BASH_SOURCE[0]}")/build-asan.sh" "$@"
|
||||
fi
|
||||
|
||||
echo "Python version:"
|
||||
@ -114,7 +116,7 @@ fi
|
||||
# gcc 7 with sccache seems to have intermittent OOM issue if all cores are used
|
||||
if [ -z "$MAX_JOBS" ]; then
|
||||
if ([[ "$BUILD_ENVIRONMENT" == *cuda* ]] || [[ "$BUILD_ENVIRONMENT" == *gcc7* ]]) && which sccache > /dev/null; then
|
||||
export MAX_JOBS=`expr $(nproc) - 1`
|
||||
export MAX_JOBS=$(($(nproc) - 1))
|
||||
fi
|
||||
fi
|
||||
|
||||
|
@ -89,7 +89,7 @@ if which sccache > /dev/null; then
|
||||
sccache --zero-stats
|
||||
function sccache_epilogue() {
|
||||
echo '=================== sccache compilation log ==================='
|
||||
python $(dirname "${BASH_SOURCE[0]}")/print_sccache_log.py ~/sccache_error.log
|
||||
python "$(dirname "${BASH_SOURCE[0]}")/print_sccache_log.py" ~/sccache_error.log
|
||||
echo '=========== If your build fails, please take a look at the log above for possible reasons ==========='
|
||||
sccache --show-stats
|
||||
sccache --stop-server || true
|
||||
|
@ -1,6 +1,8 @@
|
||||
#!/bin/bash
|
||||
|
||||
# shellcheck disable=SC2034
|
||||
COMPACT_JOB_NAME="docker-build-test"
|
||||
|
||||
source "$(dirname "${BASH_SOURCE[0]}")/common.sh"
|
||||
|
||||
docker build -t pytorch .
|
||||
|
@ -1,6 +1,8 @@
|
||||
#!/bin/bash
|
||||
|
||||
# shellcheck disable=SC2034
|
||||
COMPACT_JOB_NAME="${BUILD_ENVIRONMENT}"
|
||||
|
||||
export PATH="/usr/local/bin:$PATH"
|
||||
source "$(dirname "${BASH_SOURCE[0]}")/common.sh"
|
||||
|
||||
|
@ -1,6 +1,8 @@
|
||||
#!/bin/bash
|
||||
|
||||
# shellcheck disable=SC2034
|
||||
COMPACT_JOB_NAME="${BUILD_ENVIRONMENT}"
|
||||
|
||||
source "$(dirname "${BASH_SOURCE[0]}")/common.sh"
|
||||
|
||||
export PATH="/usr/local/bin:$PATH"
|
||||
|
@ -4,7 +4,9 @@
|
||||
# (This is set by default in the Docker images we build, so you don't
|
||||
# need to set it yourself.
|
||||
|
||||
# shellcheck disable=SC2034
|
||||
COMPACT_JOB_NAME="${BUILD_ENVIRONMENT}"
|
||||
|
||||
source "$(dirname "${BASH_SOURCE[0]}")/common.sh"
|
||||
|
||||
echo "Testing pytorch (distributed only)"
|
||||
|
@ -10,7 +10,7 @@ get_runtime_of_command () {
|
||||
TIMEFORMAT=%R
|
||||
|
||||
# runtime=$( { time ($@ &> /dev/null); } 2>&1 1>/dev/null)
|
||||
runtime=$( { time $@; } 2>&1 1>/dev/null)
|
||||
runtime=$( { time "$@"; } 2>&1 1>/dev/null)
|
||||
if [[ $runtime == *"Error"* ]]; then
|
||||
exit 1
|
||||
fi
|
||||
|
@ -19,14 +19,14 @@ test_cpu_speed_mini_sequence_labeler () {
|
||||
SAMPLE_ARRAY=()
|
||||
NUM_RUNS=$1
|
||||
|
||||
for (( i=1; i<=$NUM_RUNS; i++ )) do
|
||||
for (( i=1; i<=NUM_RUNS; i++ )) do
|
||||
runtime=$(get_runtime_of_command python main.py)
|
||||
SAMPLE_ARRAY+=(${runtime})
|
||||
done
|
||||
|
||||
cd ../../..
|
||||
|
||||
stats=$(python ../get_stats.py ${SAMPLE_ARRAY[@]})
|
||||
stats=$(python ../get_stats.py "${SAMPLE_ARRAY[@]}")
|
||||
echo "Runtime stats in seconds:"
|
||||
echo $stats
|
||||
|
||||
|
@ -20,7 +20,7 @@ test_cpu_speed_mnist () {
|
||||
SAMPLE_ARRAY=()
|
||||
NUM_RUNS=$1
|
||||
|
||||
for (( i=1; i<=$NUM_RUNS; i++ )) do
|
||||
for (( i=1; i<=NUM_RUNS; i++ )) do
|
||||
runtime=$(get_runtime_of_command python main.py --epochs 1 --no-log)
|
||||
echo $runtime
|
||||
SAMPLE_ARRAY+=(${runtime})
|
||||
@ -28,7 +28,7 @@ test_cpu_speed_mnist () {
|
||||
|
||||
cd ../..
|
||||
|
||||
stats=$(python ../get_stats.py ${SAMPLE_ARRAY[@]})
|
||||
stats=$(python ../get_stats.py "${SAMPLE_ARRAY[@]}")
|
||||
echo "Runtime stats in seconds:"
|
||||
echo $stats
|
||||
|
||||
|
@ -1,3 +1,5 @@
|
||||
#!/bin/bash
|
||||
|
||||
. ./common.sh
|
||||
|
||||
test_cpu_speed_torch () {
|
||||
@ -17,7 +19,7 @@ test_cpu_speed_torch () {
|
||||
fi
|
||||
|
||||
if ! python perf-tests/modules/test_cpu_torch.py ${ARGS}; then
|
||||
echo "To reproduce this regression, run \`cd .jenkins/pytorch/perf_test/ && bash "${FUNCNAME[0]}".sh\` on your local machine and compare the runtime before/after your code change."
|
||||
echo "To reproduce this regression, run \`cd .jenkins/pytorch/perf_test/ && bash ${FUNCNAME[0]}.sh\` on your local machine and compare the runtime before/after your code change."
|
||||
exit 1
|
||||
fi
|
||||
}
|
||||
|
@ -1,3 +1,5 @@
|
||||
#!/bin/bash
|
||||
|
||||
. ./common.sh
|
||||
|
||||
test_cpu_speed_torch_tensor () {
|
||||
@ -17,7 +19,7 @@ test_cpu_speed_torch_tensor () {
|
||||
fi
|
||||
|
||||
if ! python perf-tests/modules/test_cpu_torch_tensor.py ${ARGS}; then
|
||||
echo "To reproduce this regression, run \`cd .jenkins/pytorch/perf_test/ && bash "${FUNCNAME[0]}".sh\` on your local machine and compare the runtime before/after your code change."
|
||||
echo "To reproduce this regression, run \`cd .jenkins/pytorch/perf_test/ && bash ${FUNCNAME[0]}.sh\` on your local machine and compare the runtime before/after your code change."
|
||||
exit 1
|
||||
fi
|
||||
}
|
||||
|
@ -19,7 +19,7 @@ test_gpu_speed_cudnn_lstm () {
|
||||
SAMPLE_ARRAY=()
|
||||
NUM_RUNS=$1
|
||||
|
||||
for (( i=1; i<=$NUM_RUNS; i++ )) do
|
||||
for (( i=1; i<=NUM_RUNS; i++ )) do
|
||||
runtime=$(get_runtime_of_command python cudnn_lstm.py --skip-cpu-governor-check)
|
||||
echo $runtime
|
||||
SAMPLE_ARRAY+=(${runtime})
|
||||
@ -27,7 +27,7 @@ test_gpu_speed_cudnn_lstm () {
|
||||
|
||||
cd ../..
|
||||
|
||||
stats=$(python ../get_stats.py ${SAMPLE_ARRAY[@]})
|
||||
stats=$(python ../get_stats.py "${SAMPLE_ARRAY[@]}")
|
||||
echo "Runtime stats in seconds:"
|
||||
echo $stats
|
||||
|
||||
|
@ -19,7 +19,7 @@ test_gpu_speed_lstm () {
|
||||
SAMPLE_ARRAY=()
|
||||
NUM_RUNS=$1
|
||||
|
||||
for (( i=1; i<=$NUM_RUNS; i++ )) do
|
||||
for (( i=1; i<=NUM_RUNS; i++ )) do
|
||||
runtime=$(get_runtime_of_command python lstm.py --skip-cpu-governor-check)
|
||||
echo $runtime
|
||||
SAMPLE_ARRAY+=(${runtime})
|
||||
@ -27,7 +27,7 @@ test_gpu_speed_lstm () {
|
||||
|
||||
cd ../..
|
||||
|
||||
stats=$(python ../get_stats.py ${SAMPLE_ARRAY[@]})
|
||||
stats=$(python ../get_stats.py "${SAMPLE_ARRAY[@]}")
|
||||
echo "Runtime stats in seconds:"
|
||||
echo $stats
|
||||
|
||||
|
@ -19,7 +19,7 @@ test_gpu_speed_mlstm () {
|
||||
SAMPLE_ARRAY=()
|
||||
NUM_RUNS=$1
|
||||
|
||||
for (( i=1; i<=$NUM_RUNS; i++ )) do
|
||||
for (( i=1; i<=NUM_RUNS; i++ )) do
|
||||
runtime=$(get_runtime_of_command python mlstm.py --skip-cpu-governor-check)
|
||||
echo $runtime
|
||||
SAMPLE_ARRAY+=(${runtime})
|
||||
@ -27,7 +27,7 @@ test_gpu_speed_mlstm () {
|
||||
|
||||
cd ../..
|
||||
|
||||
stats=$(python ../get_stats.py ${SAMPLE_ARRAY[@]})
|
||||
stats=$(python ../get_stats.py "${SAMPLE_ARRAY[@]}")
|
||||
echo "Runtime stats in seconds:"
|
||||
echo $stats
|
||||
|
||||
|
@ -23,7 +23,7 @@ test_gpu_speed_mnist () {
|
||||
# Needs warm up to get accurate number
|
||||
python main.py --epochs 1 --no-log
|
||||
|
||||
for (( i=1; i<=$NUM_RUNS; i++ )) do
|
||||
for (( i=1; i<=NUM_RUNS; i++ )) do
|
||||
runtime=$(get_runtime_of_command python main.py --epochs 1 --no-log)
|
||||
echo $runtime
|
||||
SAMPLE_ARRAY+=(${runtime})
|
||||
@ -31,7 +31,7 @@ test_gpu_speed_mnist () {
|
||||
|
||||
cd ../..
|
||||
|
||||
stats=$(python ../get_stats.py ${SAMPLE_ARRAY[@]})
|
||||
stats=$(python ../get_stats.py "${SAMPLE_ARRAY[@]}")
|
||||
echo "Runtime stats in seconds:"
|
||||
echo $stats
|
||||
|
||||
|
@ -28,7 +28,7 @@ test_gpu_speed_word_language_model () {
|
||||
SAMPLE_ARRAY=()
|
||||
NUM_RUNS=$1
|
||||
|
||||
for (( i=1; i<=$NUM_RUNS; i++ )) do
|
||||
for (( i=1; i<=NUM_RUNS; i++ )) do
|
||||
runtime=$(get_runtime_of_command python main.py --cuda --epochs 1)
|
||||
echo $runtime
|
||||
SAMPLE_ARRAY+=(${runtime})
|
||||
@ -36,7 +36,7 @@ test_gpu_speed_word_language_model () {
|
||||
|
||||
cd ../..
|
||||
|
||||
stats=$(python ../get_stats.py ${SAMPLE_ARRAY[@]})
|
||||
stats=$(python ../get_stats.py "${SAMPLE_ARRAY[@]}")
|
||||
echo "Runtime stats in seconds:"
|
||||
echo $stats
|
||||
|
||||
|
@ -1,7 +1,12 @@
|
||||
#!/bin/bash
|
||||
|
||||
# shellcheck disable=SC2034
|
||||
COMPACT_JOB_NAME="short-perf-test-cpu"
|
||||
source "$(dirname "${BASH_SOURCE[0]}")/common.sh"
|
||||
|
||||
SCRIPT_PARENT_DIR=$(dirname "${BASH_SOURCE[0]}")
|
||||
|
||||
# shellcheck source=.jenkins/pytorch/common.sh
|
||||
source "$SCRIPT_PARENT_DIR/common.sh"
|
||||
|
||||
cd .jenkins/pytorch/perf_test
|
||||
|
||||
|
@ -1,6 +1,8 @@
|
||||
#!/bin/bash
|
||||
|
||||
# shellcheck disable=SC2034
|
||||
COMPACT_JOB_NAME="short-perf-test-gpu"
|
||||
|
||||
source "$(dirname "${BASH_SOURCE[0]}")/common.sh"
|
||||
|
||||
pushd .jenkins/pytorch/perf_test
|
||||
|
@ -4,7 +4,9 @@
|
||||
# (This is set by default in the Docker images we build, so you don't
|
||||
# need to set it yourself.
|
||||
|
||||
# shellcheck disable=SC2034
|
||||
COMPACT_JOB_NAME="${BUILD_ENVIRONMENT}"
|
||||
|
||||
source "$(dirname "${BASH_SOURCE[0]}")/common.sh"
|
||||
|
||||
echo "Testing pytorch"
|
||||
|
@ -9,6 +9,7 @@ if [ ! -f setup.py ]; then
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# shellcheck disable=SC2034
|
||||
COMPACT_JOB_NAME=pytorch-win-ws2016-cuda9-cudnn7-py3-build
|
||||
|
||||
SCRIPT_PARENT_DIR=$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )
|
||||
|
@ -1,5 +1,6 @@
|
||||
#!/bin/bash -ex
|
||||
|
||||
# shellcheck disable=SC2034
|
||||
COMPACT_JOB_NAME=pytorch-win-ws2016-cuda9-cudnn7-py3-test
|
||||
|
||||
SCRIPT_PARENT_DIR=$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )
|
||||
|
10
.jenkins/run-shellcheck.sh
Executable file
10
.jenkins/run-shellcheck.sh
Executable file
@ -0,0 +1,10 @@
|
||||
#!/bin/bash -xe
|
||||
|
||||
# One may want to invoke this script locally as follows:
|
||||
#
|
||||
# .jenkins/run-shellcheck.sh --color=always | less -R
|
||||
|
||||
|
||||
EXCLUSIONS=SC2086,SC1091,SC2155,SC1090,SC2164,SC1003
|
||||
|
||||
find .jenkins/pytorch -name *.sh | xargs shellcheck --exclude=$EXCLUSIONS --external-sources "$@" || true
|
@ -16,6 +16,10 @@ matrix:
|
||||
python: "3.6"
|
||||
dist: xenial
|
||||
script: cd .circleci && ./ensure-consistency.py
|
||||
- name: "Shellcheck Jenkins scripts"
|
||||
dist: xenial
|
||||
install: sudo apt-get install -y shellcheck
|
||||
script: .jenkins/run-shellcheck.sh
|
||||
- name: "Ensure no tabs"
|
||||
python: "2.7"
|
||||
script:
|
||||
|
Reference in New Issue
Block a user