From a002d283df9cf097b008705a2f41f90a9e8169bb Mon Sep 17 00:00:00 2001 From: David Bernabeu Ferrer Date: Thu, 11 Dec 2025 21:02:50 +0100 Subject: [PATCH 01/10] Prueba workflow federated catalog --- .github/workflows/federated-catalog.yml | 83 +++++++++++++++++++++++++ 1 file changed, 83 insertions(+) create mode 100644 .github/workflows/federated-catalog.yml diff --git a/.github/workflows/federated-catalog.yml b/.github/workflows/federated-catalog.yml new file mode 100644 index 0000000..3752bf5 --- /dev/null +++ b/.github/workflows/federated-catalog.yml @@ -0,0 +1,83 @@ +name: Build and Publish Federated Catalog Image (Main) + +on: + push: + branches: + - "feature/deployment" + paths: + - 'federated-catalog/**' + - '.github/workflows/federated-catalog.yml' + +concurrency: + group: fc-main + cancel-in-progress: true + +jobs: + # ------------------------------ + # 1. BUILD & PUSH FC DOCKER IMAGE + # ------------------------------ + build-and-push-fc: + runs-on: ubuntu-latest + + permissions: + contents: read + packages: write + id-token: write + + steps: + - name: Checkout repository + uses: actions/checkout@v4 + + # -------- LOGIN GHCR -------- + - name: Login to GHCR + uses: docker/login-action@v3 + with: + registry: ghcr.io + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} + + # -------- GRADLE BUILD -------- + - name: Set up JDK 17 + uses: actions/setup-java@v4 + with: + distribution: temurin + java-version: 17 + + - name: Make Gradle executable + run: chmod +x ./gradlew + + - name: Build federated catalog JAR + run: | + cd federated-catalog + ./gradlew clean build + # --------------------------------- + + - name: Set dynamic tags for migrations and API + id: vars + run: | + IMAGE_BASE_FC="ghcr.io/wake-ua/federated-catalog" + DATE=$(date +%Y%m%d) + SHA_SHORT=$(echo "${GITHUB_SHA}" | cut -c1-7) + + # Tags for federated catalog image + echo "FC_LATEST=${IMAGE_BASE_FC}:latest" >> $GITHUB_OUTPUT + echo "FC_SHA=${IMAGE_BASE_FC}:${SHA_SHORT}" >> $GITHUB_OUTPUT + echo "FC_DATE=${IMAGE_BASE_FC}:${DATE}" >> $GITHUB_OUTPUT + + # -------- DOCKER BUILD & PUSH -------- + - name: Build Docker image for migrations + run: | + docker build -f migrations/Dockerfile \ + -t ${{ steps.vars.outputs.FC_LATEST }} \ + -t ${{ steps.vars.outputs.FC_SHA }} \ + -t ${{ steps.vars.outputs.FC_DATE }} \ + . + + - name: Push migrations images + run: | + docker push ${{ steps.vars.outputs.FC_LATEST }} + docker push ${{ steps.vars.outputs.FC_SHA }} + docker push ${{ steps.vars.outputs.FC_DATE }} + # --------------------------------- + + \ No newline at end of file From 71eb0a4d8316eb1888fdf0f600646d1b397a05ca Mon Sep 17 00:00:00 2001 From: David Bernabeu Ferrer Date: Thu, 11 Dec 2025 21:04:44 +0100 Subject: [PATCH 02/10] Arreglo orden gradlew --- .github/workflows/federated-catalog.yml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/.github/workflows/federated-catalog.yml b/.github/workflows/federated-catalog.yml index 3752bf5..aaf05af 100644 --- a/.github/workflows/federated-catalog.yml +++ b/.github/workflows/federated-catalog.yml @@ -48,8 +48,11 @@ jobs: - name: Build federated catalog JAR run: | - cd federated-catalog ./gradlew clean build + + - name: Change directory to Federated Catalog directory + run: | + cd federated-catalog # --------------------------------- - name: Set dynamic tags for migrations and API From b48bef0b39df7e777f77ce06caef5ba1dde27c63 Mon Sep 17 00:00:00 2001 From: David Bernabeu Ferrer Date: Thu, 11 Dec 2025 21:09:52 +0100 Subject: [PATCH 03/10] Arreglando comentarios y fichero de build en la pipeline --- .github/workflows/federated-catalog.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/federated-catalog.yml b/.github/workflows/federated-catalog.yml index aaf05af..99fcde2 100644 --- a/.github/workflows/federated-catalog.yml +++ b/.github/workflows/federated-catalog.yml @@ -55,7 +55,7 @@ jobs: cd federated-catalog # --------------------------------- - - name: Set dynamic tags for migrations and API + - name: Set dynamic tags for Federated Catalog id: vars run: | IMAGE_BASE_FC="ghcr.io/wake-ua/federated-catalog" @@ -68,15 +68,15 @@ jobs: echo "FC_DATE=${IMAGE_BASE_FC}:${DATE}" >> $GITHUB_OUTPUT # -------- DOCKER BUILD & PUSH -------- - - name: Build Docker image for migrations + - name: Build Docker image for Federated Catalog run: | - docker build -f migrations/Dockerfile \ + docker build -f Dockerfile \ -t ${{ steps.vars.outputs.FC_LATEST }} \ -t ${{ steps.vars.outputs.FC_SHA }} \ -t ${{ steps.vars.outputs.FC_DATE }} \ . - - name: Push migrations images + - name: Push Federated Catalog images run: | docker push ${{ steps.vars.outputs.FC_LATEST }} docker push ${{ steps.vars.outputs.FC_SHA }} From 2ce856cf7e2687091f4effa8538a2fd83b73779c Mon Sep 17 00:00:00 2001 From: David Bernabeu Ferrer Date: Thu, 11 Dec 2025 21:16:56 +0100 Subject: [PATCH 04/10] no message --- .github/workflows/federated-catalog.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/federated-catalog.yml b/.github/workflows/federated-catalog.yml index 99fcde2..f2911bf 100644 --- a/.github/workflows/federated-catalog.yml +++ b/.github/workflows/federated-catalog.yml @@ -70,7 +70,7 @@ jobs: # -------- DOCKER BUILD & PUSH -------- - name: Build Docker image for Federated Catalog run: | - docker build -f Dockerfile \ + docker build \ -t ${{ steps.vars.outputs.FC_LATEST }} \ -t ${{ steps.vars.outputs.FC_SHA }} \ -t ${{ steps.vars.outputs.FC_DATE }} \ From 34098899f2243ae882fb0b5cdc72f38685875904 Mon Sep 17 00:00:00 2001 From: David Bernabeu Ferrer Date: Thu, 11 Dec 2025 21:24:00 +0100 Subject: [PATCH 05/10] Eliminando pasos innecesarios --- .github/workflows/federated-catalog.yml | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/.github/workflows/federated-catalog.yml b/.github/workflows/federated-catalog.yml index f2911bf..59ea0b7 100644 --- a/.github/workflows/federated-catalog.yml +++ b/.github/workflows/federated-catalog.yml @@ -50,9 +50,6 @@ jobs: run: | ./gradlew clean build - - name: Change directory to Federated Catalog directory - run: | - cd federated-catalog # --------------------------------- - name: Set dynamic tags for Federated Catalog @@ -74,7 +71,7 @@ jobs: -t ${{ steps.vars.outputs.FC_LATEST }} \ -t ${{ steps.vars.outputs.FC_SHA }} \ -t ${{ steps.vars.outputs.FC_DATE }} \ - . + ./federated-catalog - name: Push Federated Catalog images run: | From bdb63eda9236dbd7e80bf8bb2617e353637a55d2 Mon Sep 17 00:00:00 2001 From: David Bernabeu Ferrer Date: Tue, 16 Dec 2025 19:22:10 +0100 Subject: [PATCH 06/10] =?UTF-8?q?Prueba=20de=20creaci=C3=B3n=20imagen=20pr?= =?UTF-8?q?ovider?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/provider-build.yml | 84 ++++++++++++++++++++++++++++ 1 file changed, 84 insertions(+) create mode 100644 .github/workflows/provider-build.yml diff --git a/.github/workflows/provider-build.yml b/.github/workflows/provider-build.yml new file mode 100644 index 0000000..3674262 --- /dev/null +++ b/.github/workflows/provider-build.yml @@ -0,0 +1,84 @@ +name: Build and Publish Provider Image (Main) + +on: + push: + branches: + - "feature/deployment" + paths: + - 'providers/provider/src/**' + - 'providers/provider-base/Dockerfile' + - '.github/workflows/provider-build.yml' + +concurrency: + group: provider-main + cancel-in-progress: true + +jobs: + # ------------------------------ + # 1. BUILD & PUSH PROVIDER DOCKER IMAGE + # ------------------------------ + build-and-push-provider: + runs-on: ubuntu-latest + + permissions: + contents: read + packages: write + id-token: write + + steps: + - name: Checkout repository + uses: actions/checkout@v4 + + # -------- LOGIN GHCR -------- + - name: Login to GHCR + uses: docker/login-action@v3 + with: + registry: ghcr.io + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} + + # -------- GRADLE BUILD -------- + - name: Set up JDK 17 + uses: actions/setup-java@v4 + with: + distribution: temurin + java-version: 17 + + - name: Make Gradle executable + run: chmod +x ./gradlew + + - name: Build provider JAR + run: | + ./gradlew clean build + + # --------------------------------- + + - name: Set dynamic tags for Federated Catalog + id: vars + run: | + IMAGE_BASE_PROVIDER="ghcr.io/wake-ua/provider-base" + DATE=$(date +%Y%m%d) + SHA_SHORT=$(echo "${GITHUB_SHA}" | cut -c1-7) + + # Tags for provider image + echo "PROVIDER_LATEST=${IMAGE_BASE_PROVIDER}:latest" >> $GITHUB_OUTPUT + echo "PROVIDER_SHA=${IMAGE_BASE_PROVIDER}:${SHA_SHORT}" >> $GITHUB_OUTPUT + echo "PROVIDER_DATE=${IMAGE_BASE_PROVIDER}:${DATE}" >> $GITHUB_OUTPUT + + # -------- DOCKER BUILD & PUSH -------- + - name: Build Docker image for Federated Catalog + run: | + docker build \ + -t ${{ steps.vars.outputs.PROVIDER_LATEST }} \ + -t ${{ steps.vars.outputs.PROVIDER_SHA }} \ + -t ${{ steps.vars.outputs.PROVIDER_DATE }} \ + ./provider-base + + - name: Push Federated Catalog images + run: | + docker push ${{ steps.vars.outputs.PROVIDER_LATEST }} + docker push ${{ steps.vars.outputs.PROVIDER_SHA }} + docker push ${{ steps.vars.outputs.PROVIDER_DATE }} + # --------------------------------- + + \ No newline at end of file From 4f28dc7cd58fd2335fd31c75947a6b7b24cd73f0 Mon Sep 17 00:00:00 2001 From: David Bernabeu Ferrer Date: Tue, 16 Dec 2025 19:58:37 +0100 Subject: [PATCH 07/10] Arreglo path provider --- .github/workflows/provider-build.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/provider-build.yml b/.github/workflows/provider-build.yml index 3674262..0c60c83 100644 --- a/.github/workflows/provider-build.yml +++ b/.github/workflows/provider-build.yml @@ -53,7 +53,7 @@ jobs: # --------------------------------- - - name: Set dynamic tags for Federated Catalog + - name: Set dynamic tags for Provider id: vars run: | IMAGE_BASE_PROVIDER="ghcr.io/wake-ua/provider-base" @@ -66,15 +66,15 @@ jobs: echo "PROVIDER_DATE=${IMAGE_BASE_PROVIDER}:${DATE}" >> $GITHUB_OUTPUT # -------- DOCKER BUILD & PUSH -------- - - name: Build Docker image for Federated Catalog + - name: Build Docker image for Provider run: | docker build \ -t ${{ steps.vars.outputs.PROVIDER_LATEST }} \ -t ${{ steps.vars.outputs.PROVIDER_SHA }} \ -t ${{ steps.vars.outputs.PROVIDER_DATE }} \ - ./provider-base + ./providers/provider-base - - name: Push Federated Catalog images + - name: Push Provider images run: | docker push ${{ steps.vars.outputs.PROVIDER_LATEST }} docker push ${{ steps.vars.outputs.PROVIDER_SHA }} From 90da51aed02b1004dc721450af4da24b0b103216 Mon Sep 17 00:00:00 2001 From: David Bernabeu Ferrer Date: Tue, 16 Dec 2025 20:04:24 +0100 Subject: [PATCH 08/10] Prueba build individual --- .github/workflows/federated-catalog.yml | 21 ++++++++++++++++++--- .github/workflows/provider-build.yml | 2 +- 2 files changed, 19 insertions(+), 4 deletions(-) diff --git a/.github/workflows/federated-catalog.yml b/.github/workflows/federated-catalog.yml index 59ea0b7..d4f6d20 100644 --- a/.github/workflows/federated-catalog.yml +++ b/.github/workflows/federated-catalog.yml @@ -48,7 +48,7 @@ jobs: - name: Build federated catalog JAR run: | - ./gradlew clean build + ./gradlew :federated-catalog:clean :federated-catalog:build # --------------------------------- @@ -79,5 +79,20 @@ jobs: docker push ${{ steps.vars.outputs.FC_SHA }} docker push ${{ steps.vars.outputs.FC_DATE }} # --------------------------------- - - \ No newline at end of file +# deploy-fc: +# runs-on: self-hosted # Runner local +# needs: build-and-push-fc +# +# steps: +# - name: Deploy backend FC +# run: | +# GITHUB_SHA=${GITHUB_SHA::7} +# +# ssh -i ${{ secrets.DEPLOY_SSH_KEY }} gh_docker_deploy@${{ secrets.FC_WEB_HOST }} " +# export FC_IMAGE_TAG=${GITHUB_SHA} && +# +# docker pull ghcr.io/wake-ua/federated-catalog:${GITHUB_SHA} && +# docker stack deploy -c /home/gh_docker_deploy/despliegue/docker-stack-catalog.yml federated-catalog +# " +# +# \ No newline at end of file diff --git a/.github/workflows/provider-build.yml b/.github/workflows/provider-build.yml index 0c60c83..69e46e2 100644 --- a/.github/workflows/provider-build.yml +++ b/.github/workflows/provider-build.yml @@ -49,7 +49,7 @@ jobs: - name: Build provider JAR run: | - ./gradlew clean build + ./gradlew :providers:clean :providers:build # --------------------------------- From f6ca65145b57bb8f56540114e8a14401f24597c6 Mon Sep 17 00:00:00 2001 From: David Bernabeu Ferrer Date: Tue, 16 Dec 2025 20:11:07 +0100 Subject: [PATCH 09/10] Prueba build provider --- .github/workflows/provider-build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/provider-build.yml b/.github/workflows/provider-build.yml index 69e46e2..0c60c83 100644 --- a/.github/workflows/provider-build.yml +++ b/.github/workflows/provider-build.yml @@ -49,7 +49,7 @@ jobs: - name: Build provider JAR run: | - ./gradlew :providers:clean :providers:build + ./gradlew clean build # --------------------------------- From 7740a6bb450dccb9bad3fcf62e5702a7cbf7ae77 Mon Sep 17 00:00:00 2001 From: David Bernabeu Ferrer Date: Tue, 16 Dec 2025 20:18:59 +0100 Subject: [PATCH 10/10] =?UTF-8?q?A=C3=B1adimos=20integracion=20con=20pushe?= =?UTF-8?q?s=20a=20main?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/federated-catalog.yml | 1 + .github/workflows/provider-build.yml | 1 + 2 files changed, 2 insertions(+) diff --git a/.github/workflows/federated-catalog.yml b/.github/workflows/federated-catalog.yml index d4f6d20..abafe74 100644 --- a/.github/workflows/federated-catalog.yml +++ b/.github/workflows/federated-catalog.yml @@ -3,6 +3,7 @@ name: Build and Publish Federated Catalog Image (Main) on: push: branches: + - "main" - "feature/deployment" paths: - 'federated-catalog/**' diff --git a/.github/workflows/provider-build.yml b/.github/workflows/provider-build.yml index 0c60c83..f2f2697 100644 --- a/.github/workflows/provider-build.yml +++ b/.github/workflows/provider-build.yml @@ -3,6 +3,7 @@ name: Build and Publish Provider Image (Main) on: push: branches: + - "main" - "feature/deployment" paths: - 'providers/provider/src/**'