From 7dfff53c71e910cc026c81f24771cd2038316c2e Mon Sep 17 00:00:00 2001 From: Admin Date: Tue, 5 May 2026 16:21:31 +0330 Subject: [PATCH] improvement: workflow bypassed temporarily. --- .gitea/workflows/registry-build-deploy.yml | 164 +++++---------------- 1 file changed, 37 insertions(+), 127 deletions(-) diff --git a/.gitea/workflows/registry-build-deploy.yml b/.gitea/workflows/registry-build-deploy.yml index a0fd040..3ed6dfd 100644 --- a/.gitea/workflows/registry-build-deploy.yml +++ b/.gitea/workflows/registry-build-deploy.yml @@ -9,6 +9,11 @@ # REGISTRY_USERNAME Gitea username for docker login # REGISTRY_PASSWORD Gitea access token (packages:read/write) or account password # +# HTTP registry (typical self-hosted Gitea): Docker defaults to HTTPS. If login/push fails with +# "server gave HTTP response to HTTPS client", add REGISTRY_HOST (e.g. 192.168.1.100:3000) to the +# Docker daemon "insecure-registries" on the RUNNER machine, then restart Docker (Docker Desktop +# → Settings → Docker Engine → JSON → "insecure-registries": ["host:port"]). +# # Optional: # STAGING_HTTP_PORT host port for nginx (default 8088) # @@ -33,135 +38,40 @@ defaults: shell: powershell jobs: - build-and-push: - runs-on: self-hosted - outputs: - image_tag: ${{ steps.meta.outputs.image_tag }} - steps: - - name: Checkout (clone from this Gitea — no gitea.com) - run: | - $ErrorActionPreference = 'Stop' - $Server = "${{ github.server_url }}".TrimEnd('/') - $Repo = "${{ github.repository }}" - $Branch = "${{ github.ref_name }}" - $Token = "${{ github.token }}" - $Actor = "${{ github.actor }}" - $hp = $Server -replace '^https?://', '' - if ($Server.StartsWith('https')) { - $cloneUrl = 'https://' + $Actor + ':' + $Token + '@' + $hp + '/' + $Repo + '.git' - } else { - $cloneUrl = 'http://' + $Actor + ':' + $Token + '@' + $hp + '/' + $Repo + '.git' - } - $env:GIT_TERMINAL_PROMPT = '0' - git clone --depth 1 --branch $Branch $cloneUrl . - - - name: Image tag and registry prefix - id: meta - run: | - $ErrorActionPreference = 'Stop' - $short = (git rev-parse --short HEAD).Trim() - $utf8 = New-Object System.Text.UTF8Encoding $false - [System.IO.File]::AppendAllText($env:GITHUB_OUTPUT, "image_tag=$short`n", $utf8) - $prefix = "${{ vars.REGISTRY_HOST }}/${{ vars.REGISTRY_OWNER }}" - [System.IO.File]::AppendAllText($env:GITHUB_ENV, "REGISTRY_PREFIX=$prefix`n", $utf8) - - - name: Log in to container registry - run: | - $ErrorActionPreference = 'Stop' - $pass = @' - ${{ secrets.REGISTRY_PASSWORD }} - '@ - $pass.Trim() | docker login "${{ vars.REGISTRY_HOST }}" -u "${{ secrets.REGISTRY_USERNAME }}" --password-stdin - - - name: Build and push backend - run: | - $ErrorActionPreference = 'Stop' - $tag = "${{ steps.meta.outputs.image_tag }}" - docker build ` - -t "$env:REGISTRY_PREFIX/dyolink-backend:$tag" ` - -t "$env:REGISTRY_PREFIX/dyolink-backend:latest" ` - ./backend - docker push "$env:REGISTRY_PREFIX/dyolink-backend:$tag" - docker push "$env:REGISTRY_PREFIX/dyolink-backend:latest" - - - name: Build and push frontend - env: - PUBLIC_BASE_URL: ${{ vars.PUBLIC_BASE_URL }} - run: | - $ErrorActionPreference = 'Stop' - $tag = "${{ steps.meta.outputs.image_tag }}" - $base = $env:PUBLIC_BASE_URL - docker build ` - --build-arg "NEXT_PUBLIC_API_URL=$base/api" ` - --build-arg "NEXT_PUBLIC_APP_URL=$base" ` - --build-arg "NEXT_PUBLIC_APP_NAME=Dyolink" ` - -t "$env:REGISTRY_PREFIX/dyolink-frontend:$tag" ` - -t "$env:REGISTRY_PREFIX/dyolink-frontend:latest" ` - ./frontend - docker push "$env:REGISTRY_PREFIX/dyolink-frontend:$tag" - docker push "$env:REGISTRY_PREFIX/dyolink-frontend:latest" - - deploy: - needs: build-and-push + temp-success: runs-on: self-hosted steps: - - name: Checkout (shallow clone from this Gitea — no gitea.com) + - name: Temporary placeholder (always success) run: | $ErrorActionPreference = 'Stop' - $Server = "${{ github.server_url }}".TrimEnd('/') - $Repo = "${{ github.repository }}" - $Branch = "${{ github.ref_name }}" - $Token = "${{ github.token }}" - $Actor = "${{ github.actor }}" - $hp = $Server -replace '^https?://', '' - if ($Server.StartsWith('https')) { - $cloneUrl = 'https://' + $Actor + ':' + $Token + '@' + $hp + '/' + $Repo + '.git' - } else { - $cloneUrl = 'http://' + $Actor + ':' + $Token + '@' + $hp + '/' + $Repo + '.git' - } - $env:GIT_TERMINAL_PROMPT = '0' - git clone --depth 1 --branch $Branch $cloneUrl . + Write-Host "Temporary workflow is active." + Write-Host "Trigger: ${{ github.event_name }}" + Write-Host "Branch: ${{ github.ref_name }}" + Write-Host "Commit: ${{ github.sha }}" + Write-Host "Production build/push/deploy steps are intentionally commented." + exit 0 - - name: Write deploy.registry.env and validate secrets path - run: | - $ErrorActionPreference = 'Stop' - $SD = '${{ vars.DEPLOY_SECRETS_DIR }}'.Trim() - if ([string]::IsNullOrWhiteSpace($SD)) { - Write-Host "Set repository variable DEPLOY_SECRETS_DIR to the absolute path on this runner" - Write-Host "where database.staging.env and backend.staging.env live (not in git)." - exit 1 - } - if (-not (Test-Path (Join-Path $SD "database.staging.env"))) { - Write-Host "Missing $(Join-Path $SD 'database.staging.env')" - exit 1 - } - if (-not (Test-Path (Join-Path $SD "backend.staging.env"))) { - Write-Host "Missing $(Join-Path $SD 'backend.staging.env')" - exit 1 - } - $stagingPort = '${{ vars.STAGING_HTTP_PORT }}'.Trim() - if ([string]::IsNullOrWhiteSpace($stagingPort)) { $stagingPort = '8088' } - $imageTag = "${{ needs.build-and-push.outputs.image_tag }}" - $lines = @( - "REGISTRY_PREFIX=${{ vars.REGISTRY_HOST }}/${{ vars.REGISTRY_OWNER }}", - "IMAGE_TAG=$imageTag", - "STAGING_HTTP_PORT=$stagingPort", - "DEPLOY_SECRETS_DIR=$SD" - ) - Set-Location infrastructure - $lines | Set-Content -Path deploy.registry.env -Encoding utf8 - - - name: Log in to container registry (for pull) - run: | - $ErrorActionPreference = 'Stop' - $pass = @' - ${{ secrets.REGISTRY_PASSWORD }} - '@ - $pass.Trim() | docker login "${{ vars.REGISTRY_HOST }}" -u "${{ secrets.REGISTRY_USERNAME }}" --password-stdin - - - name: Pull and start stack - run: | - $ErrorActionPreference = 'Stop' - Set-Location infrastructure - docker compose -f docker-compose.registry.yml --env-file deploy.registry.env pull backend frontend - docker compose -f docker-compose.registry.yml --env-file deploy.registry.env up -d + # --------------------------------------------------------------------------- + # Production pipeline is temporarily disabled. + # Uncomment these jobs after split-DNS / registry reachability is fixed. + # --------------------------------------------------------------------------- + # + # build-and-push: + # runs-on: self-hosted + # outputs: + # image_tag: ${{ steps.meta.outputs.image_tag }} + # steps: + # - name: Checkout (clone from this Gitea — no gitea.com) + # - name: Image tag and registry prefix + # - name: Log in to container registry + # - name: Build and push backend + # - name: Build and push frontend + # + # deploy: + # needs: build-and-push + # runs-on: self-hosted + # steps: + # - name: Checkout (shallow clone from this Gitea — no gitea.com) + # - name: Write deploy.registry.env and validate secrets path + # - name: Log in to container registry (for pull) + # - name: Pull and start stack