# Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. # Facebook projects that use `fbcode_builder` for continuous integration # share this Travis configuration to run builds via Docker. # Docker disables IPv6 in containers by default. Enable it for unit tests that need [::1]. before_script: - if [[ "$TRAVIS_OS_NAME" != "osx" ]]; then sudo build/fbcode_builder/docker_enable_ipv6.sh; fi env: global: - travis_cache_dir=$HOME/travis_ccache # Travis times out after 50 minutes. Very generously leave 10 minutes # for setup (e.g. cache download, compression, and upload), so we never # fail to cache the progress we made. - docker_build_timeout=40m cache: # Our build caches can be 200-300MB, so increase the timeout to 7 minutes # to make sure we never fail to cache the progress we made. timeout: 420 directories: - $HOME/travis_ccache # see docker_build_with_ccache.sh # Ugh, `services:` must be in the matrix, or we get `docker: command not found` # https://github.com/travis-ci/travis-ci/issues/5142 matrix: include: - env: ['os_image=ubuntu:18.04', gcc_version=7] services: [docker] addons: apt: packages: python2.7 script: # We don't want to write the script inline because of Travis kludginess -- # it looks like it escapes " and \ in scripts when using `matrix:`. - ./build/fbcode_builder/travis_docker_build.sh