chore: align forgejo ci and main deployment

This commit is contained in:
Ashwin Kumar Sivakumar 2026-06-11 17:17:42 +05:30
parent 2876b45568
commit 4f7f475979
4 changed files with 24 additions and 18 deletions

View file

@ -11,7 +11,7 @@ Usage:
This script: This script:
1. Updates the newTag for the specified service to the SHA 1. Updates the newTag for the specified service to the SHA
2. Commits and pushes to the gitops repo 2. Commits and pushes to the gitops repo
3. ArgoCD detects the change and deploys 3. Flux detects the change and deploys
""" """
import argparse import argparse
@ -98,10 +98,14 @@ def main():
image_name = f"nxtgauge-{args.service}" image_name = f"nxtgauge-{args.service}"
# Find the right kustomization file based on service # Find the right kustomization file based on service
if "frontend" in args.service or "admin" in args.service: if "frontend" in args.service:
kustomization_path = os.path.join(args.repo, "apps/nxtgauge-frontend-solid/overlays/prod/kustomization.yaml") kustomization_path = os.path.join(args.repo, "apps/nxtgauge-frontend-solid/overlays/prod/kustomization.yaml")
if not os.path.exists(kustomization_path): if not os.path.exists(kustomization_path):
kustomization_path = os.path.join(args.repo, "apps/nxtgauge-frontend-solid/base/kustomization.yaml") kustomization_path = os.path.join(args.repo, "apps/nxtgauge-frontend-solid/base/kustomization.yaml")
elif "admin" in args.service:
kustomization_path = os.path.join(args.repo, "apps/nxtgauge-admin-solid/overlays/prod/kustomization.yaml")
if not os.path.exists(kustomization_path):
kustomization_path = os.path.join(args.repo, "apps/nxtgauge-admin-solid/base/kustomization.yaml")
elif "ai-assistant" in args.service: elif "ai-assistant" in args.service:
kustomization_path = os.path.join(args.repo, "apps/nxtgauge-ai-assistant/overlays/prod/kustomization.yaml") kustomization_path = os.path.join(args.repo, "apps/nxtgauge-ai-assistant/overlays/prod/kustomization.yaml")
if not os.path.exists(kustomization_path): if not os.path.exists(kustomization_path):

View file

@ -4,7 +4,6 @@ on:
push: push:
branches: branches:
- main - main
- high-performance
jobs: jobs:
build: build:
@ -30,6 +29,7 @@ jobs:
run: | run: |
set -euo pipefail set -euo pipefail
export DOCKER_HOST=unix:///var/run/docker.sock export DOCKER_HOST=unix:///var/run/docker.sock
SHA="$(git rev-parse HEAD)"
test -n "$REGISTRY_HOSTPORT" test -n "$REGISTRY_HOSTPORT"
echo "$REGISTRY_PASSWORD" | docker login "$REGISTRY_HOSTPORT" -u "$REGISTRY_USERNAME" --password-stdin echo "$REGISTRY_PASSWORD" | docker login "$REGISTRY_HOSTPORT" -u "$REGISTRY_USERNAME" --password-stdin
@ -39,9 +39,10 @@ jobs:
run: | run: |
set -euo pipefail set -euo pipefail
export DOCKER_HOST=unix:///var/run/docker.sock export DOCKER_HOST=unix:///var/run/docker.sock
SHA="$(git rev-parse HEAD)"
docker buildx build --push \ docker buildx build --push \
-f Dockerfile \ -f Dockerfile \
-t "$REGISTRY_HOSTPORT/nxtgauge-ai-assistant:${{ gitea.sha }}" \ -t "$REGISTRY_HOSTPORT/nxtgauge-ai-assistant:${SHA}" \
-t "$REGISTRY_HOSTPORT/nxtgauge-ai-assistant:main-latest" \ -t "$REGISTRY_HOSTPORT/nxtgauge-ai-assistant:main-latest" \
. .
@ -54,7 +55,7 @@ jobs:
REGISTRY_PASSWORD: ${{ secrets.REGISTRY_PASSWORD }} REGISTRY_PASSWORD: ${{ secrets.REGISTRY_PASSWORD }}
run: | run: |
set -euo pipefail set -euo pipefail
python3 .gitea/scripts/registry_prune.py \ python3 .forgejo/scripts/registry_prune.py \
--registry "$REGISTRY_HOST" \ --registry "$REGISTRY_HOST" \
--repo "nxtgauge-ai-assistant" \ --repo "nxtgauge-ai-assistant" \
--username "$REGISTRY_USERNAME" \ --username "$REGISTRY_USERNAME" \
@ -69,6 +70,7 @@ jobs:
GITEOPS_SSH_KEY: ${{ secrets.GITEOPS_SSH_KEY }} GITEOPS_SSH_KEY: ${{ secrets.GITEOPS_SSH_KEY }}
run: | run: |
set -euo pipefail set -euo pipefail
SHA="$(git rev-parse HEAD)"
if [ -z "$GITEOPS_REPO" ]; then if [ -z "$GITEOPS_REPO" ]; then
echo "GITEOPS_REPO secret not set, skipping GitOps update" echo "GITEOPS_REPO secret not set, skipping GitOps update"
@ -84,10 +86,10 @@ jobs:
chmod 600 ~/.ssh/id_ed25519 chmod 600 ~/.ssh/id_ed25519
ssh-keyscan github.com >> ~/.ssh/known_hosts 2>/dev/null ssh-keyscan github.com >> ~/.ssh/known_hosts 2>/dev/null
python3 .gitea/scripts/update-gitops.py \ python3 .forgejo/scripts/update-gitops.py \
--repo "$GITEOPS_DIR" \ --repo "$GITEOPS_DIR" \
--service "ai-assistant" \ --service "ai-assistant" \
--sha "${{ gitea.sha }}" \ --sha "${SHA}" \
--message "chore: deploy ai-assistant@${{ gitea.sha }}" --message "chore: deploy ai-assistant@${SHA}"
rm -rf "$GITEOPS_DIR" rm -rf "$GITEOPS_DIR"

View file

@ -1,4 +1,4 @@
name: sync-to-gitea name: sync-to-forgejo
on: on:
push: push:
@ -16,9 +16,9 @@ jobs:
with: with:
fetch-depth: 0 fetch-depth: 0
- name: Sync to Gitea - name: Sync to Forgejo
env: env:
GITEA_TOKEN: ${{ secrets.GITEA_SECRET }} FORGEJO_TOKEN: ${{ secrets.FORGEJO_SECRET }}
REPO: ${{ github.event.repository.name }} REPO: ${{ github.event.repository.name }}
BRANCH: ${{ github.ref_name }} BRANCH: ${{ github.ref_name }}
run: | run: |
@ -29,18 +29,18 @@ jobs:
USER="Admin" USER="Admin"
TARGET="https://ci.nxtgauge.com/Admin/${REPO}.git" TARGET="https://ci.nxtgauge.com/Admin/${REPO}.git"
AUTH="$(printf '%s' "${USER}:${GITEA_TOKEN}" | base64 -w0)" AUTH="$(printf '%s' "${USER}:${FORGEJO_TOKEN}" | base64 -w0)"
test -n "${GITEA_TOKEN:-}" || (echo "GITEA_TOKEN empty" && exit 1) test -n "${FORGEJO_TOKEN:-}" || (echo "FORGEJO_TOKEN empty" && exit 1)
curl -fsS -H "Authorization: token ${GITEA_TOKEN}" https://ci.nxtgauge.com/api/v1/user >/dev/null curl -fsS -H "Authorization: token ${FORGEJO_TOKEN}" https://ci.nxtgauge.com/api/v1/user >/dev/null
curl -fsS -H "Authorization: Basic ${AUTH}" "${TARGET}/info/refs?service=git-receive-pack" >/dev/null curl -fsS -H "Authorization: Basic ${AUTH}" "${TARGET}/info/refs?service=git-receive-pack" >/dev/null
git config user.name "github-actions[bot]" git config user.name "github-actions[bot]"
git config user.email "github-actions[bot]@users.noreply.github.com" git config user.email "github-actions[bot]@users.noreply.github.com"
git config --global http.version HTTP/1.1 git config --global http.version HTTP/1.1
git config --global http.postBuffer 524288000 git config --global http.postBuffer 524288000
git remote remove gitea 2>/dev/null || true git remote remove forgejo 2>/dev/null || true
git remote add gitea "${TARGET}" git remote add forgejo "${TARGET}"
git -c http.extraheader="Authorization: Basic ${AUTH}" push gitea "HEAD:${BRANCH}" --force git -c http.extraheader="Authorization: Basic ${AUTH}" push forgejo "HEAD:${BRANCH}" --force
git -c http.extraheader="Authorization: Basic ${AUTH}" push gitea --tags --force git -c http.extraheader="Authorization: Basic ${AUTH}" push forgejo --tags --force