diff --git a/.gitea/workflows/docker-build.yml b/.gitea/workflows/docker-build.yml index c433780..081b03d 100644 --- a/.gitea/workflows/docker-build.yml +++ b/.gitea/workflows/docker-build.yml @@ -31,5 +31,5 @@ jobs: file: ./Dockerfile push: true tags: git.kanopo.dev/rhythm/rhythm-backend:latest - cache-from: type=local,src=/tmp/.buildx-cache - cache-to: type=local,dest=/tmp/.buildx-cache,mode=max + cache-from: type=gha + cache-to: type=gha,mode=max diff --git a/Dockerfile b/Dockerfile index 4ec4612..df0e92e 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,7 +1,16 @@ FROM rust:1.95.0-alpine3.22 AS builder WORKDIR /app +# Cache dependencies by building a dummy project first +COPY Cargo.toml Cargo.lock ./ +RUN mkdir src && echo "fn main() {}" > src/main.rs +RUN cargo build --release +RUN rm -rf src + +# Copy real source code and build COPY . . +# Touch the main file to ensure cargo sees it as newer than the dummy build +RUN touch src/main.rs RUN cargo build --release # Small runtime image