From 84297980c72c826b3df58dbe66448b49da612e28 Mon Sep 17 00:00:00 2001 From: jdmalandruccolo Date: Tue, 4 Mar 2025 07:57:59 -0800 Subject: [PATCH 1/5] setup on-pr action --- .github/workflows/_docker.yml | 34 ++++++++++++++++++++++++++++++ .github/workflows/pull_request.yml | 14 ++++++++++++ Dockerfile.postgres | 22 +++++++++++++++++++ 3 files changed, 70 insertions(+) create mode 100644 .github/workflows/_docker.yml create mode 100644 .github/workflows/pull_request.yml create mode 100644 Dockerfile.postgres diff --git a/.github/workflows/_docker.yml b/.github/workflows/_docker.yml new file mode 100644 index 0000000..4220213 --- /dev/null +++ b/.github/workflows/_docker.yml @@ -0,0 +1,34 @@ +name: ~ build + +on: + workflow_call: + secrets: + GITHUB_TOKEN: + required: true + inputs: + tag: + type: string + required: true + +jobs: + builder: + name: builder image + runs-on: self-hosted + steps: + - name: 'Checkout GitHub Action' + uses: actions/checkout@main + + - name: 'Login to GitHub Container Registry' + uses: docker/login-action@v1 + with: + registry: ghcr.io + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} + + - name: 'Build Postgres Image' + run: | + docker build \ + -f Dockerfile.postgres \ + --platform linux/amd64 \ + -t ghcr.io/trycompa/postgres:${{ inputs.tag }} . + docker push ghcr.io/trycompa/postgres:${{ inputs.tag }} \ No newline at end of file diff --git a/.github/workflows/pull_request.yml b/.github/workflows/pull_request.yml new file mode 100644 index 0000000..de38dcb --- /dev/null +++ b/.github/workflows/pull_request.yml @@ -0,0 +1,14 @@ +name: pr + +on: + pull_request: + workflow_dispatch: + +jobs: + docker: + name: docker + uses: ./.github/workflows/_docker.yml + with: + tag: 14-${{ github.sha }} + secrets: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} \ No newline at end of file diff --git a/Dockerfile.postgres b/Dockerfile.postgres new file mode 100644 index 0000000..2c28b9a --- /dev/null +++ b/Dockerfile.postgres @@ -0,0 +1,22 @@ +# Same major version as production +FROM imresamu/postgis:14-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-14 \ + && git clone --branch v0.5.1 https://github.com/pgvector/pgvector.git \ + && cd pgvector \ + && make \ + && make install \ + && cd .. \ + && rm -rf pgvector \ + && apt-get remove -y build-essential git postgresql-server-dev-14 \ + && apt-get autoremove -y \ + && rm -rf /var/lib/apt/lists/* + +# log all queries +CMD ["postgres", "-c", "log_statement=all"] From 778ade6b6d74ab1d03cc0432f7649aa37c8440ad Mon Sep 17 00:00:00 2001 From: jdmalandruccolo Date: Tue, 4 Mar 2025 07:59:36 -0800 Subject: [PATCH 2/5] remove github token --- .github/workflows/_docker.yml | 3 --- .github/workflows/pull_request.yml | 4 +--- 2 files changed, 1 insertion(+), 6 deletions(-) diff --git a/.github/workflows/_docker.yml b/.github/workflows/_docker.yml index 4220213..2a9392a 100644 --- a/.github/workflows/_docker.yml +++ b/.github/workflows/_docker.yml @@ -2,9 +2,6 @@ name: ~ build on: workflow_call: - secrets: - GITHUB_TOKEN: - required: true inputs: tag: type: string diff --git a/.github/workflows/pull_request.yml b/.github/workflows/pull_request.yml index de38dcb..bcbaf55 100644 --- a/.github/workflows/pull_request.yml +++ b/.github/workflows/pull_request.yml @@ -9,6 +9,4 @@ jobs: name: docker uses: ./.github/workflows/_docker.yml with: - tag: 14-${{ github.sha }} - secrets: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} \ No newline at end of file + tag: 14-${{ github.sha }} \ No newline at end of file From 9d0c5a9deea715d9458d04f82b47a634e38aa186 Mon Sep 17 00:00:00 2001 From: jdmalandruccolo Date: Tue, 4 Mar 2025 08:01:50 -0800 Subject: [PATCH 3/5] remove self-hosted --- .github/workflows/_docker.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/_docker.yml b/.github/workflows/_docker.yml index 2a9392a..971a13b 100644 --- a/.github/workflows/_docker.yml +++ b/.github/workflows/_docker.yml @@ -10,7 +10,6 @@ on: jobs: builder: name: builder image - runs-on: self-hosted steps: - name: 'Checkout GitHub Action' uses: actions/checkout@main From fbc54e8e37c1e4d1dcef9d4aa8cd12ce7636df18 Mon Sep 17 00:00:00 2001 From: jdmalandruccolo Date: Tue, 4 Mar 2025 08:03:31 -0800 Subject: [PATCH 4/5] run on ubuntu --- .github/workflows/_docker.yml | 1 + .github/workflows/pull_request.yml | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/_docker.yml b/.github/workflows/_docker.yml index 971a13b..eb00b2f 100644 --- a/.github/workflows/_docker.yml +++ b/.github/workflows/_docker.yml @@ -10,6 +10,7 @@ on: jobs: builder: name: builder image + runs-on: ubuntu-22.04 steps: - name: 'Checkout GitHub Action' uses: actions/checkout@main diff --git a/.github/workflows/pull_request.yml b/.github/workflows/pull_request.yml index bcbaf55..e780b3a 100644 --- a/.github/workflows/pull_request.yml +++ b/.github/workflows/pull_request.yml @@ -9,4 +9,4 @@ jobs: name: docker uses: ./.github/workflows/_docker.yml with: - tag: 14-${{ github.sha }} \ No newline at end of file + tag: 14-${{ github.sha }} From da833494fd2819c39d819a2f79c2faf6c9f42e3f Mon Sep 17 00:00:00 2001 From: jdmalandruccolo Date: Tue, 4 Mar 2025 08:06:32 -0800 Subject: [PATCH 5/5] add main --- .github/workflows/main.yml | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 .github/workflows/main.yml diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml new file mode 100644 index 0000000..56ff555 --- /dev/null +++ b/.github/workflows/main.yml @@ -0,0 +1,13 @@ +name: main + +on: + push: + branches: + - main + +jobs: + docker: + name: docker + uses: ./.github/workflows/_docker.yml + with: + tag: '14' \ No newline at end of file