blob: 59e3da852db979d50e0ef60d6d46eaedc6d48540 [file] [log] [blame]
ARG BASE_OS
FROM ${BASE_OS:-gcr.io/cloud-marketplace-containers/google/debian9}
ENV PYTHONUNBUFFERED 1
# === Install common dependencies
RUN apt update -qqy \
&& apt install -qqy --no-install-recommends \
python-pip python-setuptools python-wheel \
git ccache \
curl \
&& apt-get clean autoclean \
&& apt-get autoremove -y --purge \
&& rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* \
&& rm -rf /var/lib/{apt,dpkg,cache,log} \
&& echo "Done"
# === Get Nodejs pinned LTS version via NVM
ENV NVM_DIR /root/.nvm
ENV NODE_VERSION 12.17.0
RUN curl --silent -o- https://raw.githubusercontent.com/creationix/nvm/v0.35.3/install.sh | bash
RUN . $NVM_DIR/nvm.sh \
&& nvm install --lts \
&& nvm alias default lts/* \
&& nvm use default
ENV NODE_PATH $NVM_DIR/v$NODE_VERSION/lib/node_modules
ENV PATH $NVM_DIR/versions/node/v$NODE_VERSION/bin:$PATH
# === Install depot_tools
RUN git clone https://cobalt.googlesource.com/depot_tools /depot_tools
# === Configure common env vars
ENV PATH="${PATH}:/depot_tools:/root/fake_goma" \
OUTDIR=out \
DEPOT_TOOLS_UPDATE=0 \
NINJA_STATUS="[%f/%t %c/sec] " \
CCACHE_DIR=/root/ccache \
CCACHE_MAXSIZE=30G
# == Set up gclient and fake Goma with ccache
COPY ./files/fake_goma /root/fake_goma
RUN cd /tmp && gclient verify || true \
&& chmod +x /root/fake_goma/gomacc /root/fake_goma/goma_ctl.py \
&& mkdir /root/ccache
WORKDIR /code
CMD ["/usr/bin/python","--version"]