rust-ci/Dockerfile
James Brumond 6f03a6c586
All checks were successful
Build and publish container images / build-and-publish (push) Successful in 14m32s
publish build
2023-11-03 18:20:12 -07:00

35 lines
1.1 KiB
Docker

ARG NODE_VERSION=20
ARG RUST_TOOLCHAIN=""
FROM node:${NODE_VERSION}
ENV CARGO_HOME=/usr/local/cargo
ENV RUSTUP_HOME=/usr/local/rustup
ENV PATH=/usr/local/cargo/bin:$PATH
RUN apt update && apt upgrade -y
RUN apt install -y g++-mingw-w64-x86-64 \
g++-arm-linux-gnueabihf libc6-dev-armhf-cross \
g++-aarch64-linux-gnu libc6-dev-arm64-cross
RUN curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y
ENV CARGO_TARGET_ARMV7_UNKNOWN_LINUX_GNUEABIHF_LINKER=arm-linux-gnueabihf-gcc \
CC_armv7_unknown_Linux_gnueabihf=arm-linux-gnueabihf-gcc \
CXX_armv7_unknown_linux_gnueabihf=arm-linux-gnueabihf-g++
ENV CARGO_TARGET_AARCH64_UNKNOWN_LINUX_GNU_LINKER=aarch64-linux-gnu-gcc \
CC_aarch64_unknown_linux_gnu=aarch64-linux-gnu-gcc \
CXX_aarch64_unknown_linux_gnu=aarch64-linux-gnu-g++
RUN if test "${RUST_TOOLCHAIN}x" != "x" ; \
then rustup toolchain install $RUST_TOOLCHAIN ; \
fi
RUN rustup target add x86_64-pc-windows-gnu
RUN rustup target add x86_64-unknown-linux-gnu
RUN rustup target add armv7-unknown-linux-gnueabihf
RUN rustup target add aarch64-unknown-linux-gnu
RUN rustup target add wasm32-unknown-unknown