From 6879cd5d1feca522af4bf2cff1cbebe6de057da3 Mon Sep 17 00:00:00 2001 From: Marvin <127591405+Lokowitz@users.noreply.github.com> Date: Mon, 13 Oct 2025 13:50:03 +0200 Subject: [PATCH 1/3] Update dev-image.yml --- .github/workflows/dev-image.yml | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/.github/workflows/dev-image.yml b/.github/workflows/dev-image.yml index 1f9ea0aef..0fb97022a 100644 --- a/.github/workflows/dev-image.yml +++ b/.github/workflows/dev-image.yml @@ -1,7 +1,7 @@ name: Create Dev-Image on: - pull_request: + pull_request_target: branches: - main - dev @@ -10,9 +10,14 @@ on: - synchronize - reopened +concurrency: + group: pr-${{ github.event.pull_request.number }} + cancel-in-progress: true + jobs: - docker: + build: runs-on: ubuntu-latest + environment: build-dev env: TAG_URL: https://hub.docker.com/r/${{ vars.DOCKER_HUB_REPO }}/tags @@ -20,6 +25,11 @@ jobs: TAG_PG: ${{ vars.DOCKER_HUB_REPO }}:postgresql-dev-pr${{ github.event.pull_request.number }} steps: + - name: Checkout PR code + uses: actions/checkout@v4 + with: + ref: refs/pull/${{ github.event.pull_request.number }}/merge + - name: Login to Docker Hub uses: docker/login-action@v3 with: @@ -59,7 +69,10 @@ jobs: issue_number: context.issue.number, owner: context.repo.owner, repo: context.repo.repo, - body: `👋 Thanks for your PR! + body: `> [!WARNING] + > This image may contain unchecked and breaking changes. Only use on own risk. + + 👋 Thanks for your PR! Dev images for this PR are now available on [docker hub](${repoUrl}): **SQLITE Image:** From 38770896962c4b5299f3f83a084323d9510d94f2 Mon Sep 17 00:00:00 2001 From: Marvin <127591405+Lokowitz@users.noreply.github.com> Date: Mon, 20 Oct 2025 15:34:27 +0200 Subject: [PATCH 2/3] Enhance Docker build workflow with tagging and jobs Added environment variables for Docker image tagging and created separate jobs for building images based on the pull request source. --- .github/workflows/dev-image.yml | 76 ++++++++++++++++++++++++++++++--- 1 file changed, 71 insertions(+), 5 deletions(-) diff --git a/.github/workflows/dev-image.yml b/.github/workflows/dev-image.yml index 0fb97022a..0bc5bb3d5 100644 --- a/.github/workflows/dev-image.yml +++ b/.github/workflows/dev-image.yml @@ -14,15 +14,81 @@ concurrency: group: pr-${{ github.event.pull_request.number }} cancel-in-progress: true +env: + TAG_URL: https://hub.docker.com/r/${{ vars.DOCKER_HUB_REPO }}/tags + TAG: ${{ vars.DOCKER_HUB_REPO }}:dev-pr${{ github.event.pull_request.number }} + TAG_PG: ${{ vars.DOCKER_HUB_REPO }}:postgresql-dev-pr${{ github.event.pull_request.number }} + jobs: - build: + build-w: + if: ${{ github.event.pull_request.head.repo.full_name != github.repository }} runs-on: ubuntu-latest environment: build-dev + + steps: + - name: Checkout PR code + uses: actions/checkout@v4 + with: + ref: refs/pull/${{ github.event.pull_request.number }}/merge + + - name: Login to Docker Hub + uses: docker/login-action@v3 + with: + username: ${{ secrets.DOCKER_HUB_USERNAME }} + password: ${{ secrets.DOCKER_HUB_ACCESS_TOKEN }} + + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v3 - env: - TAG_URL: https://hub.docker.com/r/${{ vars.DOCKER_HUB_REPO }}/tags - TAG: ${{ vars.DOCKER_HUB_REPO }}:dev-pr${{ github.event.pull_request.number }} - TAG_PG: ${{ vars.DOCKER_HUB_REPO }}:postgresql-dev-pr${{ github.event.pull_request.number }} + - name: Build and push Docker image SQLITE + uses: docker/build-push-action@v6 + with: + platforms: linux/amd64 + push: true + tags: ${{ env.TAG }} + cache-from: type=registry,ref=${{ vars.DOCKER_HUB_REPO }}:buildcache + cache-to: type=registry,ref=${{ vars.DOCKER_HUB_REPO }}:buildcache,mode=max + build-args: DATABASE=sqlite + + - name: Build and push Docker image PG + uses: docker/build-push-action@v6 + with: + platforms: linux/amd64 + push: true + tags: ${{ env.TAG_PG }} + cache-from: type=registry,ref=${{ vars.DOCKER_HUB_REPO }}:buildcache-pg + cache-to: type=registry,ref=${{ vars.DOCKER_HUB_REPO }}:buildcache-pg,mode=max + build-args: DATABASE=pg + + - uses: actions/github-script@v8 + with: + script: | + const repoUrl = process.env.TAG_URL; + const tag = process.env.TAG; + const tagPg = process.env.TAG_PG; + github.rest.issues.createComment({ + issue_number: context.issue.number, + owner: context.repo.owner, + repo: context.repo.repo, + body: `> [!WARNING] + > This image may contain unchecked and breaking changes. Only use on own risk. + + 👋 Thanks for your PR! + Dev images for this PR are now available on [docker hub](${repoUrl}): + + **SQLITE Image:** + \`\`\` + ${tag} + \`\`\` + + **Postgresql Image:** + \`\`\` + ${tagPg} + \`\`\`` + }) + build-wo: + if: ${{ github.event.pull_request.head.repo.full_name == github.repository }} + runs-on: ubuntu-latest steps: - name: Checkout PR code From d0c8b856329b3be013c67dfb9ddc5f6e4292dcc0 Mon Sep 17 00:00:00 2001 From: Marvin <127591405+Lokowitz@users.noreply.github.com> Date: Tue, 21 Oct 2025 13:37:06 +0200 Subject: [PATCH 3/3] Fix Docker build args and add context in workflow --- .github/workflows/dev-image.yml | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/.github/workflows/dev-image.yml b/.github/workflows/dev-image.yml index 0bc5bb3d5..a41929660 100644 --- a/.github/workflows/dev-image.yml +++ b/.github/workflows/dev-image.yml @@ -29,7 +29,7 @@ jobs: - name: Checkout PR code uses: actions/checkout@v4 with: - ref: refs/pull/${{ github.event.pull_request.number }}/merge + ref: refs/pull/${{github.event.pull_request.number}}/merge - name: Login to Docker Hub uses: docker/login-action@v3 @@ -43,22 +43,24 @@ jobs: - name: Build and push Docker image SQLITE uses: docker/build-push-action@v6 with: + context: . platforms: linux/amd64 push: true tags: ${{ env.TAG }} + build-args: DATABASE=sqlite cache-from: type=registry,ref=${{ vars.DOCKER_HUB_REPO }}:buildcache cache-to: type=registry,ref=${{ vars.DOCKER_HUB_REPO }}:buildcache,mode=max - build-args: DATABASE=sqlite - name: Build and push Docker image PG uses: docker/build-push-action@v6 with: + context: . platforms: linux/amd64 push: true tags: ${{ env.TAG_PG }} + build-args: DATABASE=pg cache-from: type=registry,ref=${{ vars.DOCKER_HUB_REPO }}:buildcache-pg cache-to: type=registry,ref=${{ vars.DOCKER_HUB_REPO }}:buildcache-pg,mode=max - build-args: DATABASE=pg - uses: actions/github-script@v8 with: @@ -94,7 +96,7 @@ jobs: - name: Checkout PR code uses: actions/checkout@v4 with: - ref: refs/pull/${{ github.event.pull_request.number }}/merge + ref: refs/pull/${{github.event.pull_request.number}}/merge - name: Login to Docker Hub uses: docker/login-action@v3 @@ -108,22 +110,24 @@ jobs: - name: Build and push Docker image SQLITE uses: docker/build-push-action@v6 with: + context: . platforms: linux/amd64 push: true tags: ${{ env.TAG }} + build-args: DATABASE=sqlite cache-from: type=registry,ref=${{ vars.DOCKER_HUB_REPO }}:buildcache cache-to: type=registry,ref=${{ vars.DOCKER_HUB_REPO }}:buildcache,mode=max - build-args: DATABASE=sqlite - name: Build and push Docker image PG uses: docker/build-push-action@v6 with: + context: . platforms: linux/amd64 push: true tags: ${{ env.TAG_PG }} + build-args: DATABASE=pg cache-from: type=registry,ref=${{ vars.DOCKER_HUB_REPO }}:buildcache-pg cache-to: type=registry,ref=${{ vars.DOCKER_HUB_REPO }}:buildcache-pg,mode=max - build-args: DATABASE=pg - uses: actions/github-script@v8 with: