FROM rust:1.82-bullseye
# Update and install necessary packages, including libc6-dev for libresolv
RUN apt-get update \
&& apt-get install -y --no-install-recommends \
wget \
curl \
libpq-dev \
pkg-config \
clang \
build-essential \
libc6-dev \
&& apt-get clean \
&& rm -rf /var/lib/apt/lists/*
# Ensure CA certificates are installed
RUN apt-get update && apt-get install -y --no-install-recommends ca-certificates
WORKDIR /app
#Install go
COPY scripts/install-go.sh install-go.sh
RUN ./install-go.sh
ENV PATH=$PATH:/usr/local/go/bin
# Set Rust flags to link against libresolv
ENV RUSTFLAGS="-C link-arg=-lresolv"
# Download and install dev environment deps
RUN cargo install --locked cargo-binstall
# Install nextest for tests...
RUN cargo binstall cargo-nextest --secure