From d7b7f3d3c15036b219b09ce0c1bcfb7a30fe35bf Mon Sep 17 00:00:00 2001 From: Tracewebstudio Dev Date: Fri, 1 May 2026 11:04:17 +0200 Subject: [PATCH] ci: update gitops with new SHA on each build (auto-deploy) --- .gitea/scripts/update-gitops.py | 145 ++++++++++++++++++ .gitea/workflows/build.yaml | 26 ++++ playwright-reports/html/index.html | 85 ++++++++++ .../11c91dadf250386e8ca0bd5e8f5ad84e.webm | Bin 0 -> 25808 bytes .../7ac744caa0ffe02551b58e3acf92ad33.webm | Bin 0 -> 43990 bytes 5 files changed, 256 insertions(+) create mode 100644 .gitea/scripts/update-gitops.py create mode 100644 playwright-reports/html/index.html create mode 100644 test-videos/11c91dadf250386e8ca0bd5e8f5ad84e.webm create mode 100644 test-videos/7ac744caa0ffe02551b58e3acf92ad33.webm diff --git a/.gitea/scripts/update-gitops.py b/.gitea/scripts/update-gitops.py new file mode 100644 index 0000000..03805a0 --- /dev/null +++ b/.gitea/scripts/update-gitops.py @@ -0,0 +1,145 @@ +#!/usr/bin/env python3 +""" +Update GitOps kustomization.yaml with new image SHA tags. + +Usage: + python3 update-gitops.py \ + --repo /path/to/nxtgauge-gitops \ + --service gateway \ + --sha abc123def456... + +This script: +1. Updates the newTag for the specified service to the SHA +2. Commits and pushes to the gitops repo +3. ArgoCD detects the change and deploys +""" + +import argparse +import os +import re +import subprocess +import sys + + +def run(cmd: list[str], cwd: str = None) -> tuple[int, str, str]: + """Run a command and return (returncode, stdout, stderr).""" + result = subprocess.run(cmd, cwd=cwd, capture_output=True, text=True) + return result.returncode, result.stdout, result.stderr + + +def update_kustomization(kustomization_path: str, service: str, sha: str) -> bool: + """Update the newTag for a service in kustomization.yaml.""" + with open(kustomization_path, "r") as f: + content = f.read() + + # Pattern to find image entry for the service + # Matches: - name: registry.nxtgauge.com/nxtgauge-rust-{service} + # newTag: something + pattern = rf'(\s+-\s+name:\s+registry\.nxtgauge\.com/nxtgauge-rust-{re.escape(service)}\n\s+newTag:\s+)[^\n]+' + + replacement = rf'\g<1>{sha}' + + new_content, count = re.subn(pattern, replacement, content) + + if count == 0: + # Try without the nxtgauge-rust- prefix (for frontend, admin, etc) + pattern = rf'(\s+-\s+name:\s+registry\.nxtgauge\.com/nxtgauge-{re.escape(service)}\n\s+newTag:\s+)[^\n]+' + new_content, count = re.subn(pattern, replacement, content) + + if count == 0: + print(f"[ERROR] Could not find image entry for service: {service}") + return False + + with open(kustomization_path, "w") as f: + f.write(new_content) + + print(f"[OK] Updated {service} to SHA {sha}") + return True + + +def main(): + parser = argparse.ArgumentParser(description="Update GitOps with new image SHA") + parser.add_argument("--repo", required=True, help="Path to gitops repo") + parser.add_argument("--service", required=True, help="Service name (e.g., gateway, users, frontend-solid)") + parser.add_argument("--sha", required=True, help="Git SHA to deploy") + parser.add_argument("--message", default=None, help="Commit message") + args = parser.parse_args() + + service_image_map = { + "gateway": "nxtgauge-rust-gateway", + "users": "nxtgauge-rust-users", + "companies": "nxtgauge-rust-companies", + "jobs": "nxtgauge-rust-jobs", + "leads": "nxtgauge-rust-leads", + "job-seekers": "nxtgauge-rust-job-seekers", + "customers": "nxtgauge-rust-customers", + "payments": "nxtgauge-rust-payments", + "employees": "nxtgauge-rust-employees", + "photographers": "nxtgauge-rust-photographers", + "makeup-artists": "nxtgauge-rust-makeup-artists", + "tutors": "nxtgauge-rust-tutors", + "developers": "nxtgauge-rust-developers", + "video-editors": "nxtgauge-rust-video-editors", + "graphic-designers": "nxtgauge-rust-graphic-designers", + "social-media-managers": "nxtgauge-rust-social-media-managers", + "fitness-trainers": "nxtgauge-rust-fitness-trainers", + "catering-services": "nxtgauge-rust-catering-services", + "ugc-content-creators": "nxtgauge-rust-ugc-content-creators", + "cron": "nxtgauge-rust-cron", + "frontend-solid": "nxtgauge-frontend-solid", + "admin-solid": "nxtgauge-admin-solid", + "ai-assistant": "nxtgauge-ai-assistant", + } + + # Determine which kustomization file to update + if service_image_map.get(args.service): + image_name = service_image_map[args.service] + else: + image_name = f"nxtgauge-{args.service}" + + # Find the right kustomization file based on service + if "frontend" in args.service or "admin" in args.service: + kustomization_path = os.path.join(args.repo, "apps/nxtgauge-frontend-solid/overlays/prod/kustomization.yaml") + if not os.path.exists(kustomization_path): + kustomization_path = os.path.join(args.repo, "apps/nxtgauge-frontend-solid/base/kustomization.yaml") + elif "ai-assistant" in args.service: + kustomization_path = os.path.join(args.repo, "apps/nxtgauge-ai-assistant/overlays/prod/kustomization.yaml") + if not os.path.exists(kustomization_path): + kustomization_path = os.path.join(args.repo, "apps/nxtgauge-ai-assistant/base/kustomization.yaml") + else: + kustomization_path = os.path.join(args.repo, "apps/nxtgauge-backend-rust/overlays/prod/kustomization.yaml") + + if not os.path.exists(kustomization_path): + print(f"[ERROR] Kustomization file not found: {kustomization_path}") + sys.exit(0) # Exit 0 per workflow requirement + + print(f"Updating {kustomization_path} for service {args.service}") + + if not update_kustomization(kustomization_path, args.service, args.sha): + sys.exit(0) # Exit 0 per workflow requirement + + # Git add, commit, push + commit_msg = args.message or f"chore: deploy {args.service}@{args.sha}" + + run(["git", "add", "-A"], cwd=args.repo) + code, stdout, stderr = run(["git", "diff", "--cached", "--stat"], cwd=args.repo) + + if not stdout.strip(): + print("[INFO] No changes to commit") + sys.exit(0) + + print(f"Changes to commit:\n{stdout}") + + run(["git", "commit", "-m", commit_msg], cwd=args.repo) + code, stdout, stderr = run(["git", "push"], cwd=args.repo) + + if code != 0: + print(f"[ERROR] Push failed: {stderr}") + else: + print(f"[OK] Pushed update to gitops repo") + + sys.exit(0) # Always exit 0 per workflow requirement + + +if __name__ == "__main__": + main() diff --git a/.gitea/workflows/build.yaml b/.gitea/workflows/build.yaml index 568073d..6739259 100644 --- a/.gitea/workflows/build.yaml +++ b/.gitea/workflows/build.yaml @@ -78,3 +78,29 @@ jobs: --username "$REGISTRY_USERNAME" \ --password "$REGISTRY_PASSWORD" \ --keep 1 + + - name: Update GitOps and trigger deployment + if: success() + continue-on-error: true + env: + GITEOPS_REPO: ${{ secrets.GITEOPS_REPO }} + GITEOPS_SSH_KEY: ${{ secrets.GITEOPS_SSH_KEY }} + run: | + set -euo pipefail + + GITEOPS_DIR=$(mktemp -d) + git clone "$GITEOPS_REPO" "$GITEOPS_DIR" + cd "$GITEOPS_DIR" + + mkdir -p ~/.ssh + echo "$GITEOPS_SSH_KEY" > ~/.ssh/id_ed25519 + chmod 600 ~/.ssh/id_ed25519 + ssh-keyscan github.com >> ~/.ssh/known_hosts 2>/dev/null + + python3 .gitea/scripts/update-gitops.py \ + --repo "$GITEOPS_DIR" \ + --service "frontend-solid" \ + --sha "${{ gitea.sha }}" \ + --message "chore: deploy frontend-solid@${{ gitea.sha }}" + + rm -rf "$GITEOPS_DIR" diff --git a/playwright-reports/html/index.html b/playwright-reports/html/index.html new file mode 100644 index 0000000..9e7a13a --- /dev/null +++ b/playwright-reports/html/index.html @@ -0,0 +1,85 @@ + + + + + + + + + Playwright Test Report + + + + +
+ + + \ No newline at end of file diff --git a/test-videos/11c91dadf250386e8ca0bd5e8f5ad84e.webm b/test-videos/11c91dadf250386e8ca0bd5e8f5ad84e.webm new file mode 100644 index 0000000000000000000000000000000000000000..621a6d9ef90c1014f9120f7b09ff44cbd3615d39 GIT binary patch literal 25808 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 I_|V7<0KL9sYybcN literal 0 HcmV?d00001 diff --git a/test-videos/7ac744caa0ffe02551b58e3acf92ad33.webm b/test-videos/7ac744caa0ffe02551b58e3acf92ad33.webm new file mode 100644 index 0000000000000000000000000000000000000000..19dc70c7f3d074f37c05880d6b24f537d7b4d29e GIT binary patch literal 43990 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 literal 0 HcmV?d00001