From b389c9fb8cad7e90e6821ea727c586d627e342e4 Mon Sep 17 00:00:00 2001 From: Michael Pedersen Date: Mon, 3 Nov 2025 08:39:51 -0600 Subject: [PATCH] Add 17, remove 14 and 15 --- .github/workflows/_docker.yml | 2 +- .github/workflows/main.yml | 2 +- .github/workflows/pull_request.yml | 2 +- Dockerfile15.postgres | 22 -------------- Dockerfile16.postgres | 2 +- ...erfile14.postgres => Dockerfile17.postgres | 6 ++-- docker-build.sh | 30 +++++++++++++++++++ 7 files changed, 37 insertions(+), 29 deletions(-) delete mode 100644 Dockerfile15.postgres rename Dockerfile14.postgres => Dockerfile17.postgres (88%) create mode 100755 docker-build.sh diff --git a/.github/workflows/_docker.yml b/.github/workflows/_docker.yml index 142ab32..3026ee3 100644 --- a/.github/workflows/_docker.yml +++ b/.github/workflows/_docker.yml @@ -30,7 +30,7 @@ jobs: - name: 'Build Postgres Image for linux/amd64' run: | - docker build \ + docker buildx build \ -f Dockerfile${{ inputs.version }}.postgres \ --platform linux/amd64 \ -t ghcr.io/trycompa/postgres:${{ inputs.tag }}-linux-amd64 \ diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 08af1c5..f20385f 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -10,7 +10,7 @@ jobs: name: docker strategy: matrix: - version: [14, 15, 16] + version: [16, 17] uses: ./.github/workflows/_docker.yml with: version: "${{ matrix.version }}" diff --git a/.github/workflows/pull_request.yml b/.github/workflows/pull_request.yml index bf6b05a..da26f80 100644 --- a/.github/workflows/pull_request.yml +++ b/.github/workflows/pull_request.yml @@ -9,7 +9,7 @@ jobs: name: docker strategy: matrix: - version: [14, 15, 16] + version: [16, 17] uses: ./.github/workflows/_docker.yml with: version: "${{ matrix.version }}" diff --git a/Dockerfile15.postgres b/Dockerfile15.postgres deleted file mode 100644 index f245edf..0000000 --- a/Dockerfile15.postgres +++ /dev/null @@ -1,22 +0,0 @@ -# Same major version as production -FROM imresamu/postgis:15-3.4 -LABEL org.opencontainers.image.source="https://github.com/trycompa/docker-postgres" - - -# Install build dependencies and pgvector -RUN apt-get update && apt-get install -y \ - build-essential \ - git \ - postgresql-server-dev-15 \ - && git clone --branch v0.8.0 https://github.com/pgvector/pgvector.git \ - && cd pgvector \ - && make OPTFLAGS="" \ - && make install \ - && cd .. \ - && rm -rf pgvector \ - && apt-get remove -y build-essential git postgresql-server-dev-15 \ - && apt-get autoremove -y \ - && rm -rf /var/lib/apt/lists/* - -# log all queries -CMD ["postgres", "-c", "log_statement=all"] diff --git a/Dockerfile16.postgres b/Dockerfile16.postgres index c9a6672..6662945 100644 --- a/Dockerfile16.postgres +++ b/Dockerfile16.postgres @@ -1,5 +1,5 @@ # Same major version as production -FROM imresamu/postgis:16-3.4 +FROM imresamu/postgis:16-3.4.3-bookworm LABEL org.opencontainers.image.source="https://github.com/trycompa/docker-postgres" diff --git a/Dockerfile14.postgres b/Dockerfile17.postgres similarity index 88% rename from Dockerfile14.postgres rename to Dockerfile17.postgres index 4ab0244..88bd466 100644 --- a/Dockerfile14.postgres +++ b/Dockerfile17.postgres @@ -1,5 +1,5 @@ # Same major version as production -FROM imresamu/postgis:14-3.4 +FROM imresamu/postgis:17-3.5.1-bookworm LABEL org.opencontainers.image.source="https://github.com/trycompa/docker-postgres" @@ -7,14 +7,14 @@ LABEL org.opencontainers.image.source="https://github.com/trycompa/docker-postgr RUN apt-get update && apt-get install -y \ build-essential \ git \ - postgresql-server-dev-14 \ + postgresql-server-dev-17 \ && git clone --branch v0.8.0 https://github.com/pgvector/pgvector.git \ && cd pgvector \ && make OPTFLAGS="" \ && make install \ && cd .. \ && rm -rf pgvector \ - && apt-get remove -y build-essential git postgresql-server-dev-14 \ + && apt-get remove -y build-essential git postgresql-server-dev-17 \ && apt-get autoremove -y \ && rm -rf /var/lib/apt/lists/* diff --git a/docker-build.sh b/docker-build.sh new file mode 100755 index 0000000..0f5db90 --- /dev/null +++ b/docker-build.sh @@ -0,0 +1,30 @@ + +#!/usr/bin/env bash +set -eou pipefail +ROOT="$( cd "$( dirname "${BASH_SOURCE[0]}" )/" &> /dev/null && pwd )" + +cd "$ROOT" + +versions=("16" "17") + +for version in "${versions[@]}"; do + # linux/amd64 + docker buildx build \ + --platform linux/amd64 \ + -f "Dockerfile$version.postgres" \ + -t "postgres:$version-linux-amd64" \ + . + + # linux/amd64 + docker buildx build \ + --platform linux/arm64 \ + -f "Dockerfile$version.postgres" \ + -t "postgres:$version-linux-arm64" \ + . + + docker buildx build \ + --platform linux/amd64,linux/arm64 \ + -f "Dockerfile$version.postgres" \ + -t "postgres:$version" \ + . +done \ No newline at end of file