ci(containers): bake postgres extra into published backend image (#4015)

The tag-publish workflow (container.yaml) built backend/Dockerfile with no
build-args, so UV_EXTRAS was empty and the published *-backend image shipped
without the Postgres driver (only --extra redis). Multi-replica deployments
(K8s/Helm) that need shared Postgres persistence instead of file-based SQLite
could not use the release image without rebuilding it.

Pass UV_EXTRAS=postgres so the release image includes
deerflow-harness[postgres]. Additive only: single-replica sqlite/redis setups
keep working; the Postgres driver is added, mirroring how redis is already
always baked in.
This commit is contained in:
Zheng Feng 2026-07-09 17:12:53 +08:00 committed by GitHub
parent c30c8ef759
commit 790b13fe19
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -51,6 +51,12 @@ jobs:
push: true
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}
# Bake the `postgres` extra into the published image so multi-replica
# deployments (K8s/Helm) can use shared Postgres persistence instead of
# file-based SQLite. sqlite/redis-only single-replica setups still work;
# this only adds the Postgres driver. See backend/Dockerfile `UV_EXTRAS`.
build-args: |
UV_EXTRAS=postgres
- name: Generate artifact attestation
uses: actions/attest-build-provenance@e8998f949152b193b063cb0ec769d69d929409be #v2.4.0