From d2bb8a1bb59abd0ad604029ba7ad3050669dfc18 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Wed, 13 Aug 2025 18:51:05 +0000 Subject: [PATCH 1/2] Initial plan From 86640468b1eac5c2d84423634f7a8afd3e949dcd Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Wed, 13 Aug 2025 19:00:37 +0000 Subject: [PATCH 2/2] Add Docker image versioning for release tags Co-authored-by: Tolfx <57797792+Tolfx@users.noreply.github.com> --- .github/workflows/docker-admin.yml | 22 ++++++++++++++++++---- .github/workflows/docker-api.yml | 22 ++++++++++++++++++---- .github/workflows/docker-customer.yml | 22 ++++++++++++++++++---- apps/api/README.md | 4 +++- 4 files changed, 57 insertions(+), 13 deletions(-) diff --git a/.github/workflows/docker-admin.yml b/.github/workflows/docker-admin.yml index bdb6ae5..77c77bc 100644 --- a/.github/workflows/docker-admin.yml +++ b/.github/workflows/docker-admin.yml @@ -9,6 +9,8 @@ on: - "apps/admin/Dockerfile" branches: - master + release: + types: [published] jobs: build: @@ -22,7 +24,19 @@ jobs: DOCKER_PASSWORD: ${{secrets.DOCKER_PASSWORD}} run: | docker login -u $DOCKER_USER -p $DOCKER_PASSWORD - - name: Build the Docker image - run: docker build . --file ./apps/admin/Dockerfile --tag tolfixorg/cpg-admin:build-${{github.run_number}} - - name: Docker push - run: docker push tolfixorg/cpg-admin:build-${{github.run_number}} + + # Build for master branch (development builds) + - name: Build and push development Docker image + if: github.event_name == 'push' + run: | + docker build . --file ./apps/admin/Dockerfile --tag tolfixorg/cpg-admin:build-${{github.run_number}} + docker push tolfixorg/cpg-admin:build-${{github.run_number}} + + # Build for release tags + - name: Build and push release Docker image + if: github.event_name == 'release' + run: | + TAG_NAME=${GITHUB_REF#refs/tags/} + docker build . --file ./apps/admin/Dockerfile --tag tolfixorg/cpg-admin:${TAG_NAME} --tag tolfixorg/cpg-admin:latest + docker push tolfixorg/cpg-admin:${TAG_NAME} + docker push tolfixorg/cpg-admin:latest diff --git a/.github/workflows/docker-api.yml b/.github/workflows/docker-api.yml index c663712..bb208db 100644 --- a/.github/workflows/docker-api.yml +++ b/.github/workflows/docker-api.yml @@ -8,6 +8,8 @@ on: - 'apps/api/Dockerfile' branches: - master + release: + types: [published] jobs: @@ -23,7 +25,19 @@ jobs: DOCKER_PASSWORD: ${{secrets.DOCKER_PASSWORD}} run: | docker login -u $DOCKER_USER -p $DOCKER_PASSWORD - - name: Build the Docker image - run: docker build . --file ./apps/api/Dockerfile --tag tolfixorg/cpg-api:build-${{github.run_number}} - - name: Docker push - run: docker push tolfixorg/cpg-api:build-${{github.run_number}} + + # Build for master branch (development builds) + - name: Build and push development Docker image + if: github.event_name == 'push' + run: | + docker build . --file ./apps/api/Dockerfile --tag tolfixorg/cpg-api:build-${{github.run_number}} + docker push tolfixorg/cpg-api:build-${{github.run_number}} + + # Build for release tags + - name: Build and push release Docker image + if: github.event_name == 'release' + run: | + TAG_NAME=${GITHUB_REF#refs/tags/} + docker build . --file ./apps/api/Dockerfile --tag tolfixorg/cpg-api:${TAG_NAME} --tag tolfixorg/cpg-api:latest + docker push tolfixorg/cpg-api:${TAG_NAME} + docker push tolfixorg/cpg-api:latest diff --git a/.github/workflows/docker-customer.yml b/.github/workflows/docker-customer.yml index 606b771..ac99993 100644 --- a/.github/workflows/docker-customer.yml +++ b/.github/workflows/docker-customer.yml @@ -8,6 +8,8 @@ on: - 'Dockerfile_CUSTOMER' branches: - master + release: + types: [published] jobs: @@ -23,7 +25,19 @@ jobs: DOCKER_PASSWORD: ${{secrets.DOCKER_PASSWORD}} run: | docker login -u $DOCKER_USER -p $DOCKER_PASSWORD - - name: Build the Docker image - run: docker build . --file Dockerfile_CUSTOMER --tag tolfixorg/cpg-customer:build-${{github.run_number}} - - name: Docker push - run: docker push tolfixorg/cpg-customer:build-${{github.run_number}} + + # Build for master branch (development builds) + - name: Build and push development Docker image + if: github.event_name == 'push' + run: | + docker build . --file Dockerfile_CUSTOMER --tag tolfixorg/cpg-customer:build-${{github.run_number}} + docker push tolfixorg/cpg-customer:build-${{github.run_number}} + + # Build for release tags + - name: Build and push release Docker image + if: github.event_name == 'release' + run: | + TAG_NAME=${GITHUB_REF#refs/tags/} + docker build . --file Dockerfile_CUSTOMER --tag tolfixorg/cpg-customer:${TAG_NAME} --tag tolfixorg/cpg-customer:latest + docker push tolfixorg/cpg-customer:${TAG_NAME} + docker push tolfixorg/cpg-customer:latest diff --git a/apps/api/README.md b/apps/api/README.md index 3fa5ae1..8b29786 100644 --- a/apps/api/README.md +++ b/apps/api/README.md @@ -32,7 +32,9 @@ You can read our documentation on our [`wiki.`](https://github.com/Tolfix/CPG-AP # 📦 | Setup Setting up **CPG** can be done in various ways, but by far the simplest is by using **Docker**. -You can pull the latest **Docker Image** from `tolfixorg/cpg:latest` from **DockerHub**. +You can pull the latest **Docker Image** from `tolfixorg/cpg-api:latest` from **DockerHub**. + +For specific versions, you can use versioned tags like `tolfixorg/cpg-api:v1.2.1` that correspond to release tags. **CPG** also needs environment variables added, which you can find in [`.env.example`](), those that have (optional) in the comment can be ignored if you don't feel the need for them, but the others are required to make CPG functional.