Skip to content

🧹 chore: Remove postgres image build#197

Merged
jpmcb merged 1 commit into
mainfrom
rm-postgres-build
Apr 30, 2026
Merged

🧹 chore: Remove postgres image build#197
jpmcb merged 1 commit into
mainfrom
rm-postgres-build

Conversation

@jpmcb

@jpmcb jpmcb commented Apr 30, 2026

Copy link
Copy Markdown
Contributor

This is a follow on to #189 - we now have the postgres builds in a separate repo that is versioned with {postgres-version}-pgduckdb-{pgduckdb-version

Signed-off-by: John McBride <john@papercompute.com>
@greptile-apps

greptile-apps Bot commented Apr 30, 2026

Copy link
Copy Markdown

Greptile Summary

This PR completes the migration of the custom Postgres image build (previously in postgres/Dockerfile) to a separate versioned repository, replacing all local build targets and Dagger functions with a pull of the pre-built ECR image public.ecr.aws/g4e5l3z3/papercomputeco/postgres:17.7-pgduckdb-1.1.1. The cleanup is consistent across the Dagger module, CI workflows, docker-compose.yaml, the makefile, and the local CLI.

Confidence Score: 5/5

Safe to merge — all changes are consistent deletions and reference updates with no logic at risk.

The only finding is a P2 style concern about the image tag being duplicated in two constants. No correctness, data-integrity, or reliability issues were found.

No files require special attention; the duplication between .dagger/postgres.go and cmd/tapes/local/local.go is worth a follow-up but does not block merge.

Important Files Changed

Filename Overview
.dagger/postgres.go Removed local Dockerfile build + push functions; PostgresService now pulls from pinned external ECR image. Image tag hardcoded here and again in local.go.
cmd/tapes/local/local.go defaultPostgresImage updated to a pinned fully-qualified tag; duplicate of the constant in .dagger/postgres.go.
.github/workflows/nightly.yaml Removed 'Push nightly postgres image' step cleanly.
.github/workflows/release.yaml Removed 'Push postgres image' step cleanly.
docker-compose.yaml Switched from local Dockerfile build to pulling pinned external ECR image; consistent with other changes.
makefile Removed build-postgres-image and build-push-postgres-images targets; build-images dependency updated accordingly.
postgres/Dockerfile Deleted — image build moved to separate versioned repository.
.dagger/image.go Removed unused postgresImageName constant; tapesImageName retained.

Flowchart

%%{init: {'theme': 'neutral'}}%%
flowchart TD
    A[Developer / CI] -->|nightly or release workflow| B[GitHub Actions]
    B --> C[Build and Push Tapes Image]
    B -->|previously also built postgres| D[Removed - no postgres build step]

    E[tapes local up / docker compose up] --> F{Pull postgres image}
    F --> G[External ECR Image - postgres 17.7-pgduckdb-1.1.1]
    G -.->|replaced| H[Removed - local Dockerfile build]

    I[Dagger PostgresService] --> G
    I -.->|replaced| J[Removed - DockerBuild from postgres/Dockerfile]
Loading
Prompt To Fix All With AI
Fix the following 1 code review issue. Work through them one at a time, proposing concise fixes.

---

### Issue 1 of 1
cmd/tapes/local/local.go:22
**Postgres image version duplicated in two places**

The pinned image tag `17.7-pgduckdb-1.1.1` is defined independently in both `cmd/tapes/local/local.go` and `.dagger/postgres.go`. When the upstream image is bumped, both constants must be updated together — there is no single source of truth. A missed update would silently run a different Postgres version in Dagger integration tests than in the local CLI workflow.

Reviews (1): Last reviewed commit: "🧹 chore: Remove postgres image build" | Re-trigger Greptile

Comment thread cmd/tapes/local/local.go

const (
defaultPostgresImage = "public.ecr.aws/g4e5l3z3/papercomputeco/postgres"
defaultPostgresImage = "public.ecr.aws/g4e5l3z3/papercomputeco/postgres:17.7-pgduckdb-1.1.1"

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Postgres image version duplicated in two places

The pinned image tag 17.7-pgduckdb-1.1.1 is defined independently in both cmd/tapes/local/local.go and .dagger/postgres.go. When the upstream image is bumped, both constants must be updated together — there is no single source of truth. A missed update would silently run a different Postgres version in Dagger integration tests than in the local CLI workflow.

Prompt To Fix With AI
This is a comment left during a code review.
Path: cmd/tapes/local/local.go
Line: 22

Comment:
**Postgres image version duplicated in two places**

The pinned image tag `17.7-pgduckdb-1.1.1` is defined independently in both `cmd/tapes/local/local.go` and `.dagger/postgres.go`. When the upstream image is bumped, both constants must be updated together — there is no single source of truth. A missed update would silently run a different Postgres version in Dagger integration tests than in the local CLI workflow.

How can I resolve this? If you propose a fix, please make it concise.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is fine. At some point we can make it dynamic how this is propagated through to dagger (a seperate Go module)

@jpmcb jpmcb merged commit 987fcac into main Apr 30, 2026
15 checks passed
@jpmcb jpmcb deleted the rm-postgres-build branch April 30, 2026 15:34
@continue

continue Bot commented Apr 30, 2026

Copy link
Copy Markdown

No docs update needed. This PR moves the postgres image build to a separate repository but doesn't change any user-facing configuration or behavior. Users connect to PostgreSQL using standard connection strings, which is already documented. The internal build/release infrastructure change is transparent to users.

PR #197 was merged: 🧹 chore: Remove postgres image build
PR URL: #197
Merged by: jpmcb

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant