# syntax=docker/dockerfile:1 ARG RUST_VERSION=1.76.0 ARG DNOTE_VERSION=0.15.1 FROM rust:${RUST_VERSION}-slim-bullseye AS build WORKDIR /app RUN apt-get update && apt-get install -y build-essential curl tar # Download and install dnote CLI using parameterized version ARG DNOTE_VERSION ENV DNOTE_URL=https://github.com/dnote/dnote/releases/download/cli-v${DNOTE_VERSION}/dnote_${DNOTE_VERSION}_linux_amd64.tar.gz RUN curl -L $DNOTE_URL -o dnote.tar.gz \ && tar -xzvf dnote.tar.gz -C /usr/local/bin \ && rm dnote.tar.gz # Build the Rust project RUN --mount=type=bind,source=src,target=src \ --mount=type=bind,source=.config,target=.config \ --mount=type=bind,source=Cargo.toml,target=Cargo.toml \ --mount=type=bind,source=Cargo.lock,target=Cargo.lock \ --mount=type=bind,source=build.rs,target=build.rs \ --mount=type=cache,target=/app/target/ \ --mount=type=cache,target=/usr/local/cargo/registry/ \ <