solana/ci/docker-rust/Dockerfile

49 lines
1.5 KiB
Docker
Raw Normal View History

2018-09-27 13:42:49 -07:00
# Note: when the rust version is changed also modify
2019-06-06 09:24:38 -07:00
# ci/rust-version.sh to pick up the new image tag
FROM rust:1.63.0
2018-07-30 15:56:49 -07:00
2019-07-22 12:01:52 -07:00
# Add Google Protocol Buffers for Libra's metrics library.
ENV PROTOC_VERSION 3.8.0
ENV PROTOC_ZIP protoc-$PROTOC_VERSION-linux-x86_64.zip
2018-12-18 09:56:43 -08:00
RUN set -x \
&& apt update \
&& apt-get install apt-transport-https \
&& echo deb https://apt.buildkite.com/buildkite-agent stable main > /etc/apt/sources.list.d/buildkite-agent.list \
&& apt-key adv --no-tty --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 32A37959C2FA5C3C99EFBC32A79206696452D198 \
&& curl -fsSL https://deb.nodesource.com/setup_current.x | bash - \
2018-12-18 09:56:43 -08:00
&& apt update \
&& apt install -y \
2018-07-30 15:56:49 -07:00
buildkite-agent \
2021-10-05 18:31:15 -07:00
clang \
cmake \
lcov \
libudev-dev \
mscgen \
nodejs \
2019-08-26 16:00:16 -07:00
net-tools \
2018-07-30 15:56:49 -07:00
rsync \
sudo \
2019-07-22 12:01:52 -07:00
golang \
unzip \
2018-12-18 09:56:43 -08:00
\
&& apt remove -y libcurl4-openssl-dev \
2019-05-02 13:16:21 -07:00
&& rm -rf /var/lib/apt/lists/* \
&& node --version \
&& npm --version \
2018-12-18 09:56:43 -08:00
&& rustup component add rustfmt \
&& rustup component add clippy \
&& rustup target add wasm32-unknown-unknown \
2019-05-02 13:16:21 -07:00
&& cargo install cargo-audit \
2022-06-21 08:27:46 -07:00
&& cargo install cargo-sort \
2019-05-02 15:32:31 -07:00
&& cargo install mdbook \
&& cargo install mdbook-linkcheck \
&& cargo install svgbob_cli \
&& cargo install wasm-pack \
2018-12-18 09:56:43 -08:00
&& rustc --version \
2019-07-22 12:01:52 -07:00
&& cargo --version \
&& curl -OL https://github.com/google/protobuf/releases/download/v$PROTOC_VERSION/$PROTOC_ZIP \
&& unzip -o $PROTOC_ZIP -d /usr/local bin/protoc \
&& unzip -o $PROTOC_ZIP -d /usr/local include/* \
&& rm -f $PROTOC_ZIP