From e91cde3f560f7fbdf3d68942f63efab34772af78 Mon Sep 17 00:00:00 2001 From: Thomas Faour Date: Sun, 10 Aug 2025 13:26:47 -0400 Subject: [PATCH] gitea --- .gitea/workflows/docker-build.yml | 37 ++++++++++++++++++++----------- 1 file changed, 24 insertions(+), 13 deletions(-) diff --git a/.gitea/workflows/docker-build.yml b/.gitea/workflows/docker-build.yml index 6f72fff..3d752c5 100644 --- a/.gitea/workflows/docker-build.yml +++ b/.gitea/workflows/docker-build.yml @@ -8,10 +8,9 @@ on: branches: ["main", "master"] env: - REGISTRY: ${REGISTRY:-registry.local} # Override via repository/organization secret or .env in runner - IMAGE_NAMESPACE: ${IMAGE_NAMESPACE:-youruser} # Your Gitea username/org BACKEND_IMAGE: imap-client-backend FRONTEND_IMAGE: imap-client-frontend + # Uses local Gitea registry: //:tag jobs: build: @@ -33,27 +32,39 @@ jobs: echo "version_tag=$VERSION_TAG" >> $GITHUB_OUTPUT fi - - name: Login to registry + - name: Derive registry host / namespace + id: reg run: | - echo "${{ secrets.CR_PASSWORD }}" | docker login "${REGISTRY}" -u "${{ secrets.CR_USERNAME }}" --password-stdin + REGISTRY_HOST="${GITEA_SERVER_URL}" + REGISTRY_HOST="${REGISTRY_HOST#https://}" + REGISTRY_HOST="${REGISTRY_HOST#http://}" + REGISTRY_HOST="${REGISTRY_HOST%%/*}" + NAMESPACE="${GITHUB_REPOSITORY%/*}" + echo "host=$REGISTRY_HOST" >> $GITHUB_OUTPUT + echo "ns=$NAMESPACE" >> $GITHUB_OUTPUT + echo "Using registry: $REGISTRY_HOST namespace: $NAMESPACE" + + - name: Login to local Gitea registry + run: | + echo "${{ secrets.CR_PASSWORD }}" | docker login "${{ steps.reg.outputs.host }}" -u "${{ secrets.CR_USERNAME }}" --password-stdin - name: Build backend run: | - docker build -t ${REGISTRY}/${IMAGE_NAMESPACE}/${BACKEND_IMAGE}:${{ steps.meta.outputs.sha_tag }} ./backend - if [ -n "${{ steps.meta.outputs.latest_tag }}" ]; then docker tag ${REGISTRY}/${IMAGE_NAMESPACE}/${BACKEND_IMAGE}:${{ steps.meta.outputs.sha_tag }} ${REGISTRY}/${IMAGE_NAMESPACE}/${BACKEND_IMAGE}:latest; fi - if [ -n "${{ steps.meta.outputs.version_tag }}" ]; then docker tag ${REGISTRY}/${IMAGE_NAMESPACE}/${BACKEND_IMAGE}:${{ steps.meta.outputs.sha_tag }} ${REGISTRY}/${IMAGE_NAMESPACE}/${BACKEND_IMAGE}:${{ steps.meta.outputs.version_tag }}; fi + docker build -t ${{ steps.reg.outputs.host }}/${{ steps.reg.outputs.ns }}/${BACKEND_IMAGE}:${{ steps.meta.outputs.sha_tag }} ./backend + if [ -n "${{ steps.meta.outputs.latest_tag }}" ]; then docker tag ${{ steps.reg.outputs.host }}/${{ steps.reg.outputs.ns }}/${BACKEND_IMAGE}:${{ steps.meta.outputs.sha_tag }} ${{ steps.reg.outputs.host }}/${{ steps.reg.outputs.ns }}/${BACKEND_IMAGE}:latest; fi + if [ -n "${{ steps.meta.outputs.version_tag }}" ]; then docker tag ${{ steps.reg.outputs.host }}/${{ steps.reg.outputs.ns }}/${BACKEND_IMAGE}:${{ steps.meta.outputs.sha_tag }} ${{ steps.reg.outputs.host }}/${{ steps.reg.outputs.ns }}/${BACKEND_IMAGE}:${{ steps.meta.outputs.version_tag }}; fi - name: Build frontend run: | - docker build -t ${REGISTRY}/${IMAGE_NAMESPACE}/${FRONTEND_IMAGE}:${{ steps.meta.outputs.sha_tag }} ./frontend - if [ -n "${{ steps.meta.outputs.latest_tag }}" ]; then docker tag ${REGISTRY}/${IMAGE_NAMESPACE}/${FRONTEND_IMAGE}:${{ steps.meta.outputs.sha_tag }} ${REGISTRY}/${IMAGE_NAMESPACE}/${FRONTEND_IMAGE}:latest; fi - if [ -n "${{ steps.meta.outputs.version_tag }}" ]; then docker tag ${REGISTRY}/${IMAGE_NAMESPACE}/${FRONTEND_IMAGE}:${{ steps.meta.outputs.sha_tag }} ${REGISTRY}/${IMAGE_NAMESPACE}/${FRONTEND_IMAGE}:${{ steps.meta.outputs.version_tag }}; fi + docker build -t ${{ steps.reg.outputs.host }}/${{ steps.reg.outputs.ns }}/${FRONTEND_IMAGE}:${{ steps.meta.outputs.sha_tag }} ./frontend + if [ -n "${{ steps.meta.outputs.latest_tag }}" ]; then docker tag ${{ steps.reg.outputs.host }}/${{ steps.reg.outputs.ns }}/${FRONTEND_IMAGE}:${{ steps.meta.outputs.sha_tag }} ${{ steps.reg.outputs.host }}/${{ steps.reg.outputs.ns }}/${FRONTEND_IMAGE}:latest; fi + if [ -n "${{ steps.meta.outputs.version_tag }}" ]; then docker tag ${{ steps.reg.outputs.host }}/${{ steps.reg.outputs.ns }}/${FRONTEND_IMAGE}:${{ steps.meta.outputs.sha_tag }} ${{ steps.reg.outputs.host }}/${{ steps.reg.outputs.ns }}/${FRONTEND_IMAGE}:${{ steps.meta.outputs.version_tag }}; fi - name: Push images if: github.event_name != 'pull_request' run: | for IMG in ${BACKEND_IMAGE} ${FRONTEND_IMAGE}; do - docker push ${REGISTRY}/${IMAGE_NAMESPACE}/${IMG}:${{ steps.meta.outputs.sha_tag }} - if [ -n "${{ steps.meta.outputs.latest_tag }}" ]; then docker push ${REGISTRY}/${IMAGE_NAMESPACE}/${IMG}:latest; fi - if [ -n "${{ steps.meta.outputs.version_tag }}" ]; then docker push ${REGISTRY}/${IMAGE_NAMESPACE}/${IMG}:${{ steps.meta.outputs.version_tag }}; fi + docker push ${{ steps.reg.outputs.host }}/${{ steps.reg.outputs.ns }}/${IMG}:${{ steps.meta.outputs.sha_tag }} + if [ -n "${{ steps.meta.outputs.latest_tag }}" ]; then docker push ${{ steps.reg.outputs.host }}/${{ steps.reg.outputs.ns }}/${IMG}:latest; fi + if [ -n "${{ steps.meta.outputs.version_tag }}" ]; then docker push ${{ steps.reg.outputs.host }}/${{ steps.reg.outputs.ns }}/${IMG}:${{ steps.meta.outputs.version_tag }}; fi done