diff options
Diffstat (limited to '.travis.yml')
-rw-r--r-- | .travis.yml | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 000000000..2d9fa80a1 --- /dev/null +++ b/.travis.yml @@ -0,0 +1,47 @@ +language: shell +dist: xenial +git: + clone: false # Clone manually in before_install +before_install: + - set -e -o pipefail + - | + if [ "${TRAVIS_PULL_REQUEST}" = false ]; then + # This is not a PR build, fetch and checkout the commit being tested + git clone -q --depth 1 "https://github.com/${TRAVIS_REPO_SLUG}.git" "${TRAVIS_REPO_SLUG}" + cd "${TRAVIS_REPO_SLUG}" + git fetch origin "${TRAVIS_COMMIT}" --depth 1 + git checkout -qf "${TRAVIS_COMMIT}" + else + # This is a PR build, simulate +refs/pull/{num}/merge. + # We can do that by fetching +refs/pull/{num}/head and cherry picking it + # onto the target branch. + git clone -q --branch "${TRAVIS_BRANCH}" --depth 1 "https://github.com/${TRAVIS_REPO_SLUG}.git" "${TRAVIS_REPO_SLUG}" + cd "${TRAVIS_REPO_SLUG}" + git fetch origin "+refs/pull/${TRAVIS_PULL_REQUEST}/head" --depth 1 + git config --global user.email "$(git log -1 FETCH_HEAD --pretty="%cE")" + git config --global user.name "$(git log -1 FETCH_HEAD --pretty="%aN")" + git cherry-pick --strategy=recursive -X theirs --keep-redundant-commits FETCH_HEAD + fi +cache: + directories: + - /home/travis/.cache/bazel/ +os: linux +services: + - docker +jobs: + include: + # AMD64 builds are tested on kokoro, so don't run them in travis to save + # capacity for arm64 builds. + # - os: linux + # arch: amd64 + - os: linux + arch: arm64 +script: + # On arm64, we need to create our own pipes for stderr and stdout, + # otherwise we will not be able to open /dev/stderr. This is probably + # due to AppArmor rules. + - bash -xeo pipefail -c 'uname -a && make smoke-tests 2>&1 | cat' +branches: + except: + # Skip copybara branches. + - /^test\/cl.*$/ |