From 172f481d6ea8e77ad1167bfa705f157ea008d788 Mon Sep 17 00:00:00 2001 From: xbicsan Date: Wed, 26 Mar 2025 23:00:59 +0900 Subject: [PATCH 01/10] use only cargo-chef --- docker/Dockerfile | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/docker/Dockerfile b/docker/Dockerfile index 1e89bfc7..c0ff2875 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -1,33 +1,38 @@ -FROM --platform=$BUILDPLATFORM rust:latest AS base - +# for build tools +FROM --platform=$BUILDPLATFORM rust:latest AS tools RUN apt-get update && apt-get install -y \ build-essential \ && rm -rf /var/lib/apt/lists/* +RUN rustup toolchain install nightly-2024-09-17 \ + && rustup default nightly + +RUN --mount=type=cache,target=/user/local/cargo/registry \ + cargo install cargo-chef --version ^0.1 +# for build base +FROM --platform=$BUILDPLATFORM rust:latest AS base +RUN apt-get update && apt-get install -y \ + build-essential \ + && rm -rf /var/lib/apt/lists/* RUN rustup toolchain install nightly-2024-09-17 \ && rustup default nightly -RUN cargo install sccache --version ^0.7 -RUN cargo install cargo-chef --version ^0.1 -ENV RUSTC_WRAPPER=sccache SCCACHE_DIR=/sccache +COPY --from=tools /usr/local/cargo/bin/cargo-chef /usr/local/cargo/bin/ FROM base AS planner WORKDIR /usr/src/app COPY . . RUN --mount=type=cache,target=/usr/local/cargo/registry \ - --mount=type=cache,target=$SCCACHE_DIR,sharing=locked \ cargo chef prepare --recipe-path recipe.json FROM base AS builder WORKDIR /usr/src/app COPY --from=planner /usr/src/app/recipe.json recipe.json RUN --mount=type=cache,target=/usr/local/cargo/registry \ - --mount=type=cache,target=$SCCACHE_DIR,sharing=locked \ cargo chef cook --release --recipe-path recipe.json COPY . . ENV SQLX_OFFLINE=true RUN --mount=type=cache,target=/usr/local/cargo/registry \ - --mount=type=cache,target=$SCCACHE_DIR,sharing=locked \ cargo build -r FROM debian:bookworm-slim @@ -52,4 +57,4 @@ ARG PORT ENV PORT=${PORT} EXPOSE ${PORT} -ENTRYPOINT ["/bin/sh", "-c"] \ No newline at end of file +ENTRYPOINT ["/bin/sh", "-c"] From 367b7a1f72edaec8b78919c0f2faf1d800b2cece Mon Sep 17 00:00:00 2001 From: xbicsan Date: Wed, 26 Mar 2025 23:21:08 +0900 Subject: [PATCH 02/10] fix path --- docker/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker/Dockerfile b/docker/Dockerfile index c0ff2875..a01b3347 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -6,7 +6,7 @@ RUN apt-get update && apt-get install -y \ RUN rustup toolchain install nightly-2024-09-17 \ && rustup default nightly -RUN --mount=type=cache,target=/user/local/cargo/registry \ +RUN --mount=type=cache,target=/usr/local/cargo/registry \ cargo install cargo-chef --version ^0.1 # for build base From 9ab7e0b37af282c86bda9799a23495e400559a0c Mon Sep 17 00:00:00 2001 From: xbicsan Date: Thu, 27 Mar 2025 10:00:57 +0900 Subject: [PATCH 03/10] touch --- README.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/README.md b/README.md index 7afaedaa..a3ea79ee 100644 --- a/README.md +++ b/README.md @@ -133,3 +133,6 @@ install [typos-cli](https://github.com/crate-ci/typos): ```bash brew install typos-cli ``` + + +touch From 36c285e712cb014cb16c402cd97472d8d3f2a055 Mon Sep 17 00:00:00 2001 From: xbicsan Date: Thu, 27 Mar 2025 12:18:39 +0900 Subject: [PATCH 04/10] add cache target --- docker/Dockerfile | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/docker/Dockerfile b/docker/Dockerfile index a01b3347..e3486674 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -7,6 +7,8 @@ RUN rustup toolchain install nightly-2024-09-17 \ && rustup default nightly RUN --mount=type=cache,target=/usr/local/cargo/registry \ + --mount=type=cache,target=/usr/local/cargo/git \ + --mount=type=cache,target=/usr/local/cargo/bin \ cargo install cargo-chef --version ^0.1 # for build base @@ -23,12 +25,16 @@ FROM base AS planner WORKDIR /usr/src/app COPY . . RUN --mount=type=cache,target=/usr/local/cargo/registry \ + --mount=type=cache,target=/usr/local/cargo/git \ + --mount=type=cache,target=/usr/src/app/target \ cargo chef prepare --recipe-path recipe.json FROM base AS builder WORKDIR /usr/src/app COPY --from=planner /usr/src/app/recipe.json recipe.json RUN --mount=type=cache,target=/usr/local/cargo/registry \ + --mount=type=cache,target=/usr/local/cargo/git \ + --mount=type=cache,target=/usr/src/app/target \ cargo chef cook --release --recipe-path recipe.json COPY . . ENV SQLX_OFFLINE=true From 0a7980d7fba672d6322b47545b4fec550eaf2eaa Mon Sep 17 00:00:00 2001 From: xbicsan Date: Thu, 27 Mar 2025 12:31:05 +0900 Subject: [PATCH 05/10] fix --- docker/Dockerfile | 1 - 1 file changed, 1 deletion(-) diff --git a/docker/Dockerfile b/docker/Dockerfile index e3486674..e5325c87 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -8,7 +8,6 @@ RUN rustup toolchain install nightly-2024-09-17 \ RUN --mount=type=cache,target=/usr/local/cargo/registry \ --mount=type=cache,target=/usr/local/cargo/git \ - --mount=type=cache,target=/usr/local/cargo/bin \ cargo install cargo-chef --version ^0.1 # for build base From add75d210431f2003f540c7ae07ff5b7debaa793 Mon Sep 17 00:00:00 2001 From: xbicsan Date: Thu, 27 Mar 2025 13:24:53 +0900 Subject: [PATCH 06/10] add path for cargo build --- docker/Dockerfile | 2 ++ 1 file changed, 2 insertions(+) diff --git a/docker/Dockerfile b/docker/Dockerfile index e5325c87..340c423b 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -38,6 +38,8 @@ RUN --mount=type=cache,target=/usr/local/cargo/registry \ COPY . . ENV SQLX_OFFLINE=true RUN --mount=type=cache,target=/usr/local/cargo/registry \ + --mount=type=cache,target=/usr/local/cargo/git \ + --mount=type=cache,target=/usr/src/app/target \ cargo build -r FROM debian:bookworm-slim From f04ad7f22340ffbe640c68a7c11c95f5b9cfba37 Mon Sep 17 00:00:00 2001 From: xbicsan Date: Thu, 27 Mar 2025 13:26:39 +0900 Subject: [PATCH 07/10] fix env setting timeing --- docker/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker/Dockerfile b/docker/Dockerfile index 340c423b..232d292d 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -29,6 +29,7 @@ RUN --mount=type=cache,target=/usr/local/cargo/registry \ cargo chef prepare --recipe-path recipe.json FROM base AS builder +ENV SQLX_OFFLINE=true WORKDIR /usr/src/app COPY --from=planner /usr/src/app/recipe.json recipe.json RUN --mount=type=cache,target=/usr/local/cargo/registry \ @@ -36,7 +37,6 @@ RUN --mount=type=cache,target=/usr/local/cargo/registry \ --mount=type=cache,target=/usr/src/app/target \ cargo chef cook --release --recipe-path recipe.json COPY . . -ENV SQLX_OFFLINE=true RUN --mount=type=cache,target=/usr/local/cargo/registry \ --mount=type=cache,target=/usr/local/cargo/git \ --mount=type=cache,target=/usr/src/app/target \ From 27a5ea5b8a3e6ac462d0efd654eb0870a0d82f26 Mon Sep 17 00:00:00 2001 From: xbicsan Date: Thu, 27 Mar 2025 15:16:57 +0900 Subject: [PATCH 08/10] peg rust docker image version --- docker/Dockerfile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docker/Dockerfile b/docker/Dockerfile index 232d292d..26370ea9 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -1,5 +1,5 @@ # for build tools -FROM --platform=$BUILDPLATFORM rust:latest AS tools +FROM --platform=$BUILDPLATFORM rust:1.85-bookworm AS tools RUN apt-get update && apt-get install -y \ build-essential \ && rm -rf /var/lib/apt/lists/* @@ -11,7 +11,7 @@ RUN --mount=type=cache,target=/usr/local/cargo/registry \ cargo install cargo-chef --version ^0.1 # for build base -FROM --platform=$BUILDPLATFORM rust:latest AS base +FROM --platform=$BUILDPLATFORM rust:1.85-bookworm AS base RUN apt-get update && apt-get install -y \ build-essential \ && rm -rf /var/lib/apt/lists/* From c7e38b11eb5b1b01650ffb10b0297cf5343a91ad Mon Sep 17 00:00:00 2001 From: xbicsan Date: Thu, 27 Mar 2025 15:18:20 +0900 Subject: [PATCH 09/10] revert --- docker/Dockerfile | 2 -- 1 file changed, 2 deletions(-) diff --git a/docker/Dockerfile b/docker/Dockerfile index 26370ea9..b9daba08 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -38,8 +38,6 @@ RUN --mount=type=cache,target=/usr/local/cargo/registry \ cargo chef cook --release --recipe-path recipe.json COPY . . RUN --mount=type=cache,target=/usr/local/cargo/registry \ - --mount=type=cache,target=/usr/local/cargo/git \ - --mount=type=cache,target=/usr/src/app/target \ cargo build -r FROM debian:bookworm-slim From 66548b6bfc7ceb0e7bfc256753b961536f14c9e2 Mon Sep 17 00:00:00 2001 From: xbicsan Date: Thu, 27 Mar 2025 16:25:30 +0900 Subject: [PATCH 10/10] revert touch --- README.md | 3 --- 1 file changed, 3 deletions(-) diff --git a/README.md b/README.md index a3ea79ee..7afaedaa 100644 --- a/README.md +++ b/README.md @@ -133,6 +133,3 @@ install [typos-cli](https://github.com/crate-ci/typos): ```bash brew install typos-cli ``` - - -touch