Build Docker Containers for Linux Wheels (#6233)

This commit is contained in:
Simon Mo
2019-11-27 17:05:36 -08:00
committed by GitHub
parent 2797c11b69
commit 22b305223a
5 changed files with 89 additions and 2 deletions
+8 -2
View File
@@ -85,6 +85,8 @@ matrix:
# except the `$MOUNT_BAZEL_CACHE` part.
- ./ci/suppress_output docker run --rm -w /ray -v `pwd`:/ray $MOUNT_BAZEL_CACHE -ti rayproject/arrow_linux_x86_64_base:latest /ray/python/build-wheel-manylinux1.sh
- $TRAVIS_BUILD_DIR/ci/travis/build-autoscaler-images.sh
script:
- if [ $RAY_CI_LINUX_WHEELS_AFFECTED != "1" ]; then exit; fi
@@ -165,12 +167,16 @@ deploy:
local_dir: .whl
upload-dir: latest
skip_cleanup: true
only:
- master
on:
branch: master
repo: ray-project/ray
condition: $LINUX_WHEELS = 1 || $MAC_WHEELS = 1
cache:
directories:
- $HOME/ray-bazel-cache
env:
global:
# DOCKER_PASSWORD
secure: "I74yutR4HoiAQna9Ywi7uHcQDoefA+9lm5u24Xuu9Gha8Q7Anvic0qg4ILFJdqX+N7IdXtPA+/Xj+rjBNr7xNtamN1TmCItlXYtl1AMZ35bQZJjaJD3Ath/xe6Cj82BsBXsQYDwIXa8f8J0AsDNDW+u0+YysA7R86xQq086snevKttKXHBYfzzB2PLN6CBQh2RGWanE0qR2SOVSg+F0Ra+epZJ6jaey90UL4t6llbsNIlR17Xqc9OtFjDRIvO1ohpC7OcqnVDkEQcckue0CIHFwJ1J4kFzoJ31NFG/ZqNRzaoBtb8xiVkVQnxHRmX0ZRgx8z6EPfVMVBf4HBxgqUNgSnumV2ljoJV1/N8Ho+JkvnfzhLbdacG2qdKHQex85xnS8esVl1uvmZgJzPyX9u3OcLwNnzuFP3+CcJETsH19mwDo8dZzMy/jYzx+26oM410umG6KIMf1rvInDb2FEDT3lbUFdRMteDC5fjq6H/z7AHL2LDaS0pfEO9p5FRo8xokk7FT4row6yZbnAW/lqT52P8g1VNxrXzMWnzN5OeFhC7VaeJC6PaVG1eVwbgjRnoOhfXqwX5gms7KE03g7j1vXwbf4nbg53SJfwPFcvzW3az9G892jy170tsEzAbRVJKD14rsRQUh1lTq75GlEYEWvB1H2joUNtEgok0XExiTbY="
+36
View File
@@ -0,0 +1,36 @@
# This script build docker images for autoscaler.
# For now, we only build python3.6 images.
set -e
set -x
SCRIPT_DIR=$(cd "$(dirname "${BASH_SOURCE:-$0}")"; pwd)
ROOT_DIR=$(cd $SCRIPT_DIR/../../; pwd)
DOCKER_USERNAME="raytravisbot"
# We will only build and push when we are building branch build.
if [[ "$TRAVIS" == "true" && "$TRAVIS_PULL_REQUEST" == "false" ]]; then
echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin
docker build -q -t ray-project/base-deps docker/base-deps
wheel="ray-0.8.0.dev6-cp36-cp36m-manylinux1_x86_64.whl"
commit_sha=$(echo $TRAVIS_COMMIT | head -c 6)
cp -r $ROOT_DIR/.whl $ROOT_DIR/docker/autoscaler/.whl
docker build \
--build-arg WHEEL_PATH=".whl/$wheel" \
--build-arg WHEEL_NAME=$wheel \
-t ray-project/autoscaler:$commit_sha \
$ROOT_DIR/docker/autoscaler
docker push ray-project/autoscaler:$commit_sha
# We have a branch build, e.g. release/v0.7.0
if [[ "$TRAVIS_BRANCH" != "master" ]] then
docker tag ray-project/autoscaler:$commit_sha ray-project/autoscaler:$TRAVIS_BRANCH
docker push ray-project/autoscaler:$TRAVIS_BRANCH
else
docker tag ray-project/autoscaler:$commit_sha ray-project/autoscaler:latest
docker push ray-project/autoscaler:latest
fi
fi
+18
View File
@@ -0,0 +1,18 @@
FROM ray-project/base-deps
ARG WHEEL_PATH
ARG WHEEL_NAME
RUN apt update
RUN apt install -y curl tmux screen rsync
# We have to uninstall wrapt this way for Tensorflow compatibility
RUN conda remove -y wrapt
COPY requirements.txt .
RUN pip install -r requirements.txt
COPY $WHEEL_PATH $WHEEL_NAME
RUN pip install $WHEEL_NAME[all]
# For Click
ENV LC_ALL=C.UTF-8
ENV LANG=C.UTF-8
+24
View File
@@ -0,0 +1,24 @@
gym[atari]
opencv-python-headless
tensorflow
lz4
keras
smart_open
tensorflow_probability
h5py
bayesian-optimization
hyperopt==0.1.2
ConfigSpace==0.4.10
sigopt
nevergrad
scikit-optimize
hpbandster
lightgbm
xgboost
torch
torchvision
tensorboardX
tabulate
mlflow
kubernetes
boto3
+3
View File
@@ -3,6 +3,7 @@ from __future__ import division
from __future__ import print_function
import glob
from itertools import chain
import os
import re
import shutil
@@ -82,6 +83,8 @@ extras = {
"tune": ["tabulate"],
}
extras["all"] = list(set(chain.from_iterable(extras.values())))
class build_ext(_build_ext.build_ext):
def run(self):