Docker containers I use in CI workflows, for AMD64, ARM64 (AARCH64) and RISC-V 64
1# SPDX-FileCopyrightText: Copyright (C) 2024 Roland Csaszar
2# SPDX-License-Identifier: EUPL-1.2
3#
4# Project: CI-Docker-Container
5# File: Rust.Dockerfile
6# Date: 01.Dec.2024
7# =============================================================================
8
9FROM debian:trixie-slim
10
11ENV PATH=/root/.cargo/bin:$PATH
12ENV DEBIAN_FRONTEND=noninteractive
13
14RUN apt update
15RUN apt dist-upgrade -y
16RUN apt install -y git build-essential
17RUN apt install -y libunwind-dev binutils-dev pkg-config libssl-dev
18RUN apt autoclean
19RUN apt clean
20
21# Rust: rustup + Miri + LLVM-Tools
22# cargo nextest + cargo make + cargo lcov + cargo mutants
23RUN mkdir /root/.cargo
24RUN apt install -y rustup
25RUN rustup toolchain install nightly || true
26RUN rustup default nightly
27RUN echo 'export PATH="$PATH:$HOME/.cargo/bin"' >> /etc/profile
28RUN rustup component add clippy miri llvm-tools
29RUN cargo install --force cargo-make
30RUN cargo install cargo-nextest --locked
31RUN cargo install cargo-llvm-cov --locked
32RUN cargo install --locked cargo-mutants
33RUN cargo clean gc --max-download-age="10 seconds" -Z gc