diff --git a/.gitignore b/.gitignore index f7b53fa50..df592e6ab 100644 --- a/.gitignore +++ b/.gitignore @@ -186,3 +186,7 @@ tools/prometheus* # ray project files project-id .mypy_cache/ + +# gitpod cache related +.pip-cache/ +.bazel-cache/ diff --git a/.gitpod.yml b/.gitpod.yml new file mode 100644 index 000000000..aa049347f --- /dev/null +++ b/.gitpod.yml @@ -0,0 +1,16 @@ +image: + file: .gitpod/Dockerfile +tasks: + - before: export PIP_CACHE_DIR=/workspace/ray/.pip-cache + prebuild: cd dashboard/client && npm install && npm run build && cd - && bazel build //:ray_pkg && cd python && pip install -e . && cd ../ +github: + prebuilds: + master: true + branches: true + pullRequests: true + pullRequestsFromForks: true + # Let's keep them turn off for now + addCheck: false + addComment: false + addBadge: false + addLabel: false diff --git a/.gitpod/Dockerfile b/.gitpod/Dockerfile new file mode 100644 index 000000000..944b81829 --- /dev/null +++ b/.gitpod/Dockerfile @@ -0,0 +1,23 @@ +FROM ubuntu:20.10 +ENV SHELL=/bin/bash +ENV TERM=xterm-256color +ENV LANG=C.UTF-8 +ENV LC_TERMINAL=iTerm2 +ENV LC_TERMINAL_VERSION=3.4.4 +ENV SKIP_THIRDPARTY_INSTALL=1 +ARG DEBIAN_FRONTEND=noninteractive +RUN set -x; apt update \ + && ln -fs /usr/share/zoneinfo/America/Los_Angeles /etc/localtime \ + && apt install emacs gdb wget npm git build-essential curl unzip zip psmisc curl gnupg python3 pip iptables ycmd -y \ + && dpkg-reconfigure --frontend noninteractive tzdata \ + && apt install default-jre default-jdk clang rtags tmux clang-format shellcheck cmake autogen python-dev automake autoconf libtool -y \ + && curl -fsSL https://bazel.build/bazel-release.pub.gpg | gpg --dearmor > bazel.gpg \ + && mv bazel.gpg /etc/apt/trusted.gpg.d/ \ + && echo "deb [arch=amd64] https://storage.googleapis.com/bazel-apt stable jdk1.8" | tee /etc/apt/sources.list.d/bazel.list \ + && apt update && apt install bazel-3.7.2 -y \ + && pip3 install cython==0.29.0 pytest pandas tree tabulate pexpect sklearn joblib yapf==0.23.0 flake8==3.7.7 mypy==0.782 flake8-quotes setproctitle==1.1.10 psutil \ + && python3 -c 'print("startup --output_base=/workspace/ray/.bazel-cache\nstartup --host_jvm_args=-Xmx1800m\nbuild --jobs=6")' > /etc/bazel.bazelrc + +RUN update-alternatives --install /usr/local/bin/python python /usr/bin/python3 30 \ + && update-alternatives --install /usr/bin/bazel bazel /usr/bin/bazel-3.7.2 30 \ + && echo "kernel.yama.ptrace_scope = 0" > /etc/sysctl.d/10-ptrace.conf