Dockerfile 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. FROM ubuntu:focal
  2. ARG REMOTE_CACHE_URL
  3. ARG BUILDKITE_PULL_REQUEST
  4. ARG BUILDKITE_COMMIT
  5. ARG BUILDKITE_PULL_REQUEST_BASE_BRANCH
  6. ENV DEBIAN_FRONTEND=noninteractive
  7. ENV TZ=America/Los_Angeles
  8. ENV BUILDKITE=true
  9. ENV CI=true
  10. ENV PYTHON=3.6
  11. ENV RAY_USE_RANDOM_PORTS=1
  12. ENV RAY_DEFAULT_BUILD=1
  13. ENV RAY_INSTALL_JAVA=1
  14. ENV BUILDKITE_PULL_REQUEST=${BUILDKITE_PULL_REQUEST}
  15. ENV BUILDKITE_COMMIT=${BUILDKITE_COMMIT}
  16. ENV BUILDKITE_PULL_REQUEST_BASE_BRANCH=${BUILDKITE_PULL_REQUEST_BASE_BRANCH}
  17. # For wheel build
  18. # https://github.com/docker-library/docker/blob/master/20.10/docker-entrypoint.sh
  19. ENV DOCKER_TLS_CERTDIR=/certs
  20. ENV DOCKER_HOST=tcp://docker:2376
  21. ENV DOCKER_TLS_VERIFY=1
  22. ENV DOCKER_CERT_PATH=/certs/client
  23. ENV TRAVIS_COMMIT=${BUILDKITE_COMMIT}
  24. ENV BUILDKITE_BAZEL_CACHE_URL=${REMOTE_CACHE_URL}
  25. RUN apt-get update -qq
  26. RUN apt-get install -y -qq \
  27. curl python-is-python3 git build-essential \
  28. sudo unzip apt-utils dialog tzdata wget rsync \
  29. language-pack-en tmux cmake gdb vim htop \
  30. libgtk2.0-dev zlib1g-dev libgl1-mesa-dev maven \
  31. openjdk-8-jre openjdk-8-jdk clang-format-7
  32. RUN ln -s /usr/bin/clang-format-7 /usr/bin/clang-format
  33. RUN curl -o- https://get.docker.com | sh
  34. # System conf for tests
  35. RUN locale -a
  36. ENV LC_ALL=en_US.utf8
  37. ENV LANG=en_US.utf8
  38. RUN echo "ulimit -c 0" >> /root/.bashrc
  39. # Setup Bazel caches
  40. RUN (echo "build --remote_cache=${REMOTE_CACHE_URL}" >> /root/.bazelrc); \
  41. (if [ ${BUILDKITE_PULL_REQUEST} != "false" ]; then (echo "build --remote_upload_local_results=false" >> /root/.bazelrc); fi); \
  42. cat /root/.bazelrc
  43. RUN mkdir /ray
  44. WORKDIR /ray
  45. # Below should be re-run each time
  46. COPY . .
  47. RUN ./ci/travis/ci.sh init
  48. RUN bash --login -i ./ci/travis/ci.sh build
  49. # Run determine test to run
  50. RUN bash --login -i -c "python ./ci/travis/determine_tests_to_run.py --output=json > affected_set.json"
  51. RUN cat affected_set.json