mirror of
https://github.com/vale981/ray
synced 2025-03-06 02:21:39 -05:00

Instead of installing dependencies in each Buildkite job, let's move this to the Dockerfile instead. This will update GPU tests to always use Python 3.7.
69 lines
2.3 KiB
Text
69 lines
2.3 KiB
Text
FROM nvidia/cuda:11.2.0-cudnn8-devel-ubuntu18.04
|
|
|
|
# This is a copy of the regular Dockerfile
|
|
# adjusted for ubuntu 18 (removed python-is-python3)
|
|
ARG REMOTE_CACHE_URL
|
|
ARG BUILDKITE_PULL_REQUEST
|
|
ARG BUILDKITE_COMMIT
|
|
ARG BUILDKITE_PULL_REQUEST_BASE_BRANCH
|
|
ARG PYTHON=3.7
|
|
|
|
ENV DEBIAN_FRONTEND=noninteractive
|
|
ENV TZ=America/Los_Angeles
|
|
|
|
ENV BUILDKITE=true
|
|
ENV CI=true
|
|
ENV PYTHON=$PYTHON
|
|
ENV RAY_USE_RANDOM_PORTS=1
|
|
ENV RAY_DEFAULT_BUILD=1
|
|
ENV RAY_INSTALL_JAVA=1
|
|
ENV BUILDKITE_PULL_REQUEST=${BUILDKITE_PULL_REQUEST}
|
|
ENV BUILDKITE_COMMIT=${BUILDKITE_COMMIT}
|
|
ENV BUILDKITE_PULL_REQUEST_BASE_BRANCH=${BUILDKITE_PULL_REQUEST_BASE_BRANCH}
|
|
# For wheel build
|
|
# https://github.com/docker-library/docker/blob/master/20.10/docker-entrypoint.sh
|
|
ENV DOCKER_TLS_CERTDIR=/certs
|
|
ENV DOCKER_HOST=tcp://docker:2376
|
|
ENV DOCKER_TLS_VERIFY=1
|
|
ENV DOCKER_CERT_PATH=/certs/client
|
|
ENV TRAVIS_COMMIT=${BUILDKITE_COMMIT}
|
|
ENV BUILDKITE_BAZEL_CACHE_URL=${REMOTE_CACHE_URL}
|
|
|
|
RUN apt-get update -qq && apt-get upgrade -qq
|
|
RUN apt-get install -y -qq \
|
|
software-properties-common curl git build-essential \
|
|
sudo unzip unrar apt-utils dialog tzdata wget rsync \
|
|
language-pack-en tmux cmake gdb vim htop \
|
|
libgtk2.0-dev zlib1g-dev libgl1-mesa-dev maven \
|
|
openjdk-8-jre openjdk-8-jdk
|
|
# add-apt-repository is available after installing software-properties-common
|
|
RUN add-apt-repository ppa:ubuntu-toolchain-r/test && apt-get update -qq && \
|
|
apt-get install -y -qq gcc-9 g++-9
|
|
RUN update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-9 90 --slave /usr/bin/g++ g++ /usr/bin/g++-9 \
|
|
--slave /usr/bin/gcov gcov /usr/bin/gcov-9
|
|
RUN curl -o- https://get.docker.com | sh
|
|
|
|
# System conf for tests
|
|
RUN locale -a
|
|
ENV LC_ALL=en_US.utf8
|
|
ENV LANG=en_US.utf8
|
|
RUN echo "ulimit -c 0" >> /root/.bashrc
|
|
|
|
# Setup Bazel caches
|
|
RUN (echo "build --remote_cache=${REMOTE_CACHE_URL}" >> /root/.bazelrc); \
|
|
(if [ "${BUILDKITE_PULL_REQUEST}" != "false" ]; then (echo "build --remote_upload_local_results=false" >> /root/.bazelrc); fi); \
|
|
cat /root/.bazelrc
|
|
|
|
RUN mkdir /ray
|
|
WORKDIR /ray
|
|
|
|
# Below should be re-run each time
|
|
COPY . .
|
|
RUN ./ci/travis/ci.sh init
|
|
RUN bash --login -i ./ci/travis/ci.sh build
|
|
|
|
RUN bash --login -i ./ci/travis/install-dependencies.sh
|
|
|
|
# Run determine test to run
|
|
RUN bash --login -i -c "python ./ci/travis/determine_tests_to_run.py --output=json > affected_set.json"
|
|
RUN cat affected_set.json
|