diff --git a/.gitea/workflows/build.yaml b/.gitea/workflows/build.yaml index 3d45825..22ee229 100644 --- a/.gitea/workflows/build.yaml +++ b/.gitea/workflows/build.yaml @@ -32,12 +32,17 @@ jobs: run: cargo check -p mem-ingest 2>&1 | tail -20 || true - name: Get short SHA - if: github.event_name == 'push' || github.event_name == 'workflow_dispatch' id: sha run: echo "short_sha=$(git rev-parse --short HEAD)" >> $GITHUB_OUTPUT + - name: Build Docker image + run: | + docker build --no-cache \ + -t "${IMAGE}:${{ steps.sha.outputs.short_sha }}" \ + -t "${IMAGE}:latest" \ + -f Dockerfile . + - name: Registry login - if: github.event_name == 'push' || github.event_name == 'workflow_dispatch' run: | echo "${REGISTRY_TOKEN}" | docker login "${REGISTRY}" \ --username "${REGISTRY_USER}" --password-stdin @@ -45,21 +50,11 @@ jobs: REGISTRY_USER: ${{ secrets.FORGEJO_REGISTRY_USER }} REGISTRY_TOKEN: ${{ secrets.FORGEJO_REGISTRY_TOKEN }} - - name: Build Docker image - if: github.event_name == 'push' || github.event_name == 'workflow_dispatch' - run: | - docker build --no-cache \ - -t "${IMAGE}:${{ steps.sha.outputs.short_sha }}" \ - -t "${IMAGE}:latest" \ - -f Dockerfile . - - name: Push Docker image - if: github.event_name == 'push' || github.event_name == 'workflow_dispatch' run: | docker push "${IMAGE}:${{ steps.sha.outputs.short_sha }}" docker push "${IMAGE}:latest" echo "✓ Pushed: ${IMAGE}:${{ steps.sha.outputs.short_sha }}" - name: Prune unused images - if: github.event_name == 'push' || github.event_name == 'workflow_dispatch' run: docker image prune -a --force 2>&1 | tail -3 || true diff --git a/Dockerfile b/Dockerfile index eb5ec97..66eef7c 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,15 +1,15 @@ # Multi-stage build for Poimen Memory Service (Rust) # Stage 1: Builder -FROM rust:1.81-bookworm as builder +FROM rust:1-bookworm as builder WORKDIR /build # Copy source COPY . . -# Build in release mode -RUN cargo build --release +# Build the mem binary +RUN cargo build --release -p mem-cli # Stage 2: Runtime FROM debian:bookworm-slim