diff --git a/.travis.yml b/.travis.yml index 0a6183d..caef86e 100644 --- a/.travis.yml +++ b/.travis.yml @@ -11,7 +11,6 @@ env: - CI_MANAGERS="$TRAVIS_BUILD_DIR/travis-ci/managers" - VMTEST_ROOT="$TRAVIS_BUILD_DIR/travis-ci/vmtest" - REPO_ROOT="$TRAVIS_BUILD_DIR" - - GIT_FETCH_DEPTH=64 - VMTEST_SETUPCMD="PROJECT_NAME=${PROJECT_NAME} ./${PROJECT_NAME}/travis-ci/vmtest/run_selftests.sh" jobs: # Setup command override. @@ -37,8 +36,7 @@ before_script: - sudo apt-get -qq update - sudo apt-get -y install dwarves=1.15-1 - sudo apt-get -qq -y install clang-10 lld-10 llvm-10 - - if [[ "${KERNEL}" = 'LATEST' ]]; then ${VMTEST_ROOT}/build_latest_kernel.sh travis-ci/vmtest/bpf-next; fi - - ${VMTEST_ROOT}/prepare_selftests.sh travis-ci/vmtest/bpf-next + - KERNEL="${KERNEL}" ${VMTEST_ROOT}/prepare_selftests.sh travis-ci/vmtest/bpf-next # Escape whitespace characters. - setup_cmd=$(sed 's/\([[:space:]]\)/\\\1/g' <<< "${VMTEST_SETUPCMD}") - if [[ "${KERNEL}" = 'LATEST' ]]; then diff --git a/travis-ci/vmtest/build_latest_kernel.sh b/travis-ci/vmtest/build_latest_kernel.sh deleted file mode 100755 index 8931979..0000000 --- a/travis-ci/vmtest/build_latest_kernel.sh +++ /dev/null @@ -1,8 +0,0 @@ -#!/bin/bash - -set -eux - -GIT_FETCH_DEPTH="${GIT_FETCH_DEPTH}" ${VMTEST_ROOT}/checkout_latest_kernel.sh $1 -cd $1 -cp ${VMTEST_ROOT}/configs/latest.config .config -make -j $((4*$(nproc))) olddefconfig all diff --git a/travis-ci/vmtest/checkout_latest_kernel.sh b/travis-ci/vmtest/checkout_latest_kernel.sh index 8e748fa..b108e7b 100755 --- a/travis-ci/vmtest/checkout_latest_kernel.sh +++ b/travis-ci/vmtest/checkout_latest_kernel.sh @@ -17,8 +17,8 @@ if [ ! -d "${REPO_PATH}" ]; then cd ${REPO_PATH} git init git remote add bpf-next ${BPF_NEXT_ORIGIN} - git fetch --depth ${GIT_FETCH_DEPTH} bpf-next - git reset --hard ${LINUX_SHA} -else - cd ${REPO_PATH} + for depth in 32 64 128; do + git fetch --depth ${depth} bpf-next + git reset --hard ${LINUX_SHA} && break + done fi diff --git a/travis-ci/vmtest/prepare_selftests.sh b/travis-ci/vmtest/prepare_selftests.sh index cd63006..ca6bbba 100755 --- a/travis-ci/vmtest/prepare_selftests.sh +++ b/travis-ci/vmtest/prepare_selftests.sh @@ -1,11 +1,19 @@ #!/bin/bash set -eux -GIT_FETCH_DEPTH="${GIT_FETCH_DEPTH}" ${VMTEST_ROOT}/checkout_latest_kernel.sh $1 + +REPO_PATH=$1 + +${VMTEST_ROOT}/checkout_latest_kernel.sh ${REPO_PATH} +cd ${REPO_PATH} + +if [[ "${KERNEL}" = 'LATEST' ]]; then + cp ${VMTEST_ROOT}/configs/latest.config .config + make -j $((4*$(nproc))) olddefconfig all +fi # Fix runqslower build # TODO(hex@): remove after the patch is merged from bpf to bpf-next tree -cd $1 wget https://lore.kernel.org/bpf/908498f794661c44dca54da9e09dc0c382df6fcb.1580425879.git.hex@fb.com/t.mbox.gz gunzip t.mbox.gz git apply t.mbox diff --git a/travis-ci/vmtest/setup_example.sh b/travis-ci/vmtest/setup_example.sh deleted file mode 100755 index 934e53b..0000000 --- a/travis-ci/vmtest/setup_example.sh +++ /dev/null @@ -1,11 +0,0 @@ -#!/bin/sh - -# An example of a script run on VM boot. -# To execute it in TravisCI set VMTEST_SETUPCMD env var of .travis.yml in -# libbpf root folder, e.g. -# VMTEST_SETUPCMD="./${PROJECT_NAME}/travis-ci/vmtest/setup_example.sh" - -if [ ! -z "${PROJECT_NAME}" ]; then - echo "Running ${PROJECT_NAME} setup scripts..." -fi -echo "Hello, ${USER}!"