Skip to content

Commit

Permalink
[ci][docker] Use sccache everywhere by default (#11267)
Browse files Browse the repository at this point in the history
This adds `/opt/sccache` to the PATH of each of the CI docker images so when cmake looks for a C compiler it will pick up the sccache wrapper by default. This fixes some issues where compiler invocations weren't being run though sccache. With this approach the invoker doesn't need to do anything specific to set up sccache.

This will require a follow up PR to update the Docker images and remove some of the sccache logic in `task_build.py`

Co-authored-by: driazati <driazati@users.noreply.github.com>
  • Loading branch information
driazati and driazati authored May 11, 2022
1 parent 4eb6497 commit 775457c
Show file tree
Hide file tree
Showing 8 changed files with 10 additions and 0 deletions.
1 change: 1 addition & 0 deletions docker/Dockerfile.ci_arm
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,7 @@ ENV PATH $PATH:$CARGO_HOME/bin
# sccache
COPY install/ubuntu_install_sccache.sh /install/ubuntu_install_sccache.sh
RUN bash /install/ubuntu_install_sccache.sh
ENV PATH /opt/sccache:$PATH

COPY install/ubuntu_install_llvm.sh /install/ubuntu_install_llvm.sh
RUN bash /install/ubuntu_install_llvm.sh
Expand Down
1 change: 1 addition & 0 deletions docker/Dockerfile.ci_cpu
Original file line number Diff line number Diff line change
Expand Up @@ -145,6 +145,7 @@ RUN bash /install/ubuntu_install_paddle.sh
# sccache
COPY install/ubuntu_install_sccache.sh /install/ubuntu_install_sccache.sh
RUN bash /install/ubuntu_install_sccache.sh
ENV PATH /opt/sccache:$PATH

# Libxsmm deps
COPY install/ubuntu_install_libxsmm.sh /install
Expand Down
1 change: 1 addition & 0 deletions docker/Dockerfile.ci_gpu
Original file line number Diff line number Diff line change
Expand Up @@ -132,6 +132,7 @@ RUN bash /install/ubuntu_install_papi.sh "cuda rocm"
# sccache
COPY install/ubuntu_install_sccache.sh /install/ubuntu_install_sccache.sh
RUN bash /install/ubuntu_install_sccache.sh
ENV PATH /opt/sccache:$PATH

# Environment variables
ENV PATH=/usr/local/nvidia/bin:${PATH}
Expand Down
2 changes: 2 additions & 0 deletions docker/Dockerfile.ci_hexagon
Original file line number Diff line number Diff line change
Expand Up @@ -61,11 +61,13 @@ COPY install/ubuntu_install_hexagon.sh /install/ubuntu_install_hexagon.sh
RUN bash /install/ubuntu_install_hexagon.sh
ENV CLANG_LLVM_HOME /opt/clang-llvm
ENV LD_LIBRARY_PATH $LD_LIBRARY_PATH:/opt/clang-llvm/lib
ENV PATH /opt/clang-llvm/bin:$PATH
ENV HEXAGON_TOOLCHAIN "${HEXAGON_SDK_PATH}/tools/HEXAGON_Tools/8.5.08/Tools"

# sccache
COPY install/ubuntu_install_sccache.sh /install/ubuntu_install_sccache.sh
RUN bash /install/ubuntu_install_sccache.sh
ENV PATH /opt/sccache:$PATH

# TensorFlow deps
COPY install/ubuntu_install_tensorflow.sh /install/ubuntu_install_tensorflow.sh
Expand Down
1 change: 1 addition & 0 deletions docker/Dockerfile.ci_i386
Original file line number Diff line number Diff line change
Expand Up @@ -65,3 +65,4 @@ RUN bash /install/ubuntu_install_verilator.sh
# sccache
COPY install/ubuntu_install_sccache.sh /install/ubuntu_install_sccache.sh
RUN bash /install/ubuntu_install_sccache.sh
ENV PATH /opt/sccache:$PATH
1 change: 1 addition & 0 deletions docker/Dockerfile.ci_qemu
Original file line number Diff line number Diff line change
Expand Up @@ -69,6 +69,7 @@ RUN bash /install/ubuntu_install_tflite.sh
# sccache
COPY install/ubuntu_install_sccache.sh /install/ubuntu_install_sccache.sh
RUN bash /install/ubuntu_install_sccache.sh
ENV PATH /opt/sccache:$PATH

# Zephyr SDK deps
COPY install/ubuntu_install_zephyr.sh /install/ubuntu_install_zephyr.sh
Expand Down
1 change: 1 addition & 0 deletions docker/Dockerfile.ci_wasm
Original file line number Diff line number Diff line change
Expand Up @@ -61,3 +61,4 @@ ENV LLVM=${EMSDK}/upstream/bin
# sccache
COPY install/ubuntu_install_sccache.sh /install/ubuntu_install_sccache.sh
RUN bash /install/ubuntu_install_sccache.sh
ENV PATH /opt/sccache:$PATH
2 changes: 2 additions & 0 deletions docker/install/ubuntu_install_sccache.sh
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,8 @@ cargo install sccache
mkdir /opt/sccache
ln "$(which sccache)" /opt/sccache/cc
ln "$(which sccache)" /opt/sccache/c++
ln "$(which sccache)" /opt/sccache/clang
ln "$(which sccache)" /opt/sccache/clang++

# make rust usable by all users after install during container build
chmod -R a+rw /opt/rust

0 comments on commit 775457c

Please sign in to comment.