diff options
author | Kent Overstreet <kent.overstreet@linux.dev> | 2024-11-26 22:03:13 -0500 |
---|---|---|
committer | Kent Overstreet <kent.overstreet@linux.dev> | 2024-11-26 22:12:37 -0500 |
commit | fe540b8dffb6baf536b6825a3c9931d69229c803 (patch) | |
tree | 97a88c9d7515c4f9919d2f2d2f3140b28d2a8fff | |
parent | 5ba2855922e53cfd813709ec9dbb00b222768ca7 (diff) |
wait-for-mem.sh
Signed-off-by: Kent Overstreet <kent.overstreet@linux.dev>
-rwxr-xr-x | ci/test-git-branch.sh | 20 | ||||
-rwxr-xr-x | ci/wait-for-mem.sh | 20 |
2 files changed, 23 insertions, 17 deletions
diff --git a/ci/test-git-branch.sh b/ci/test-git-branch.sh index 51fe96b..cca48fe 100755 --- a/ci/test-git-branch.sh +++ b/ci/test-git-branch.sh @@ -63,22 +63,9 @@ JOBSERVER_LINUX_REPO=ssh://$JOBSERVER/$JOBSERVER_HOME/linux HOSTNAME=$(uname -n) WORKDIR=$(basename $(pwd)) -server_has_mem() -{ - readarray -t -d ' ' free_info < <(ssh_retry $JOBSERVER free|awk '/Mem:/ {print $2 " " $3}') - - local mem_total=${free_info[0]} - local mem_used=${free_info[1]} - - ((mem_used < mem_total / 2 )) -} - wait_for_server_mem() { - while ! server_has_mem; do - echo "waiting for server load to go down" - sleep 1 - done + ssh_retry $JOBSERVER $KTEST_DIR/ci/wait-for-mem.sh } git_fetch() { @@ -89,8 +76,6 @@ git_fetch() { set +o errexit while true; do - wait_for_server_mem - git fetch ssh://$JOBSERVER/$JOBSERVER_HOME/$repo $@ ret=$? (($ret == 0)) && break @@ -104,7 +89,6 @@ git_fetch() { sync_git_repos() { local repo - for repo in ${JOBSERVER_GIT_REPOS[@]}; do (cd ~/$repo; git_fetch $repo && git checkout -f FETCH_HEAD) || true > /dev/null done @@ -255,6 +239,8 @@ while true; do TEST_JOB=("${TEST_JOB[@]:1}") echo "Got job ${TEST_JOB[@]}" + wait_for_server_mem + (run_test_job "${TEST_JOB[@]}") || sleep 10 $ktest_once && break diff --git a/ci/wait-for-mem.sh b/ci/wait-for-mem.sh new file mode 100755 index 0000000..e2bbdcb --- /dev/null +++ b/ci/wait-for-mem.sh @@ -0,0 +1,20 @@ +#!/usr/bin/env bash + +set -o nounset +set -o errexit +set -o errtrace + +server_has_mem() +{ + readarray -t -d ' ' free_info < <(free|awk '/Mem:/ {print $2 " " $3}') + + local mem_total=${free_info[0]} + local mem_used=${free_info[1]} + + ((mem_used < mem_total / 2 )) +} + +while ! server_has_mem; do + echo "waiting for server load to go down" + sleep 1 +done |