From 5312400a3fde517fed8ec177e9d1fc3665c6e54c Mon Sep 17 00:00:00 2001 From: Dedy Martadinata Supriyadi Date: Mon, 1 Aug 2022 14:43:03 +0700 Subject: [PATCH] add Dockerfile.dev --- .github/workflows/Dockerfile.dev | 42 ++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 .github/workflows/Dockerfile.dev diff --git a/.github/workflows/Dockerfile.dev b/.github/workflows/Dockerfile.dev new file mode 100644 index 0000000..9a2b702 --- /dev/null +++ b/.github/workflows/Dockerfile.dev @@ -0,0 +1,42 @@ +FROM rust:1.62-slim-bullseye +# Set needed env path +ENV PATH="/opt/aarch64-linux-musl-cross/:/opt/aarch64-linux-musl-cross/bin/:/opt/x86_64-linux-musl-cross/:/opt/x86_64-linux-musl-cross/bin/:$PATH" + +### Install build deps x86_64 +RUN apt update && \ + apt install -y --no-install-recommends curl git wget build-essential make perl pkg-config curl tar jq musl-tools && \ + curl -fsSL https://deb.nodesource.com/setup_lts.x | bash - && \ + apt update && \ + apt install -y --no-install-recommends nodejs && \ + apt clean && \ + rm -rf /var/lib/apt/lists/* && \ + npm install -g npm && \ + npm install -g yarn && \ + npm install -g pnpm + +### Install build deps aarch64 build +RUN dpkg --add-architecture arm64 && \ + apt update && \ + apt install -y gcc-aarch64-linux-gnu g++-aarch64-linux-gnu libc6-arm64-cross libc6-dev-arm64-cross && \ + apt clean && \ + rm -rf /var/lib/apt/lists/* && \ + rustup target add aarch64-unknown-linux-gnu + +### Install build deps armhf build +#RUN dpkg --add-architecture armhf && \ +# apt update && \ +# apt install -y gcc-arm-linux-gnueabihf g++-arm-linux-gnueabihf libc6-armhf-cross libc6-dev-armhf-cross && \ +# apt clean && \ +# rm -rf /var/lib/apt/lists/* +### add armhf target +#RUN rustup target add rustup target add armv7-unknown-linux-gnueabihf + +### Add musl-gcc aarch64 and x86_64 +RUN wget -c https://musl.cc/x86_64-linux-musl-cross.tgz && \ + tar zxf ./x86_64-linux-musl-cross.tgz -C /opt && \ + wget -c https://musl.cc/aarch64-linux-musl-cross.tgz && \ + tar zxf ./aarch64-linux-musl-cross.tgz -C /opt && \ + rm ./x86_64-linux-musl-cross.tgz && \ + rm ./aarch64-linux-musl-cross.tgz + +CMD ["bash"]