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:
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
3. Flux detects the change and deploys
"""
import argparse
@ -98,10 +98,14 @@ def main():
image_name = f"nxtgauge-{args.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")
if not os.path.exists(kustomization_path):
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:
kustomization_path = os.path.join(args.repo, "apps/nxtgauge-ai-assistant/overlays/prod/kustomization.yaml")
if not os.path.exists(kustomization_path):

View file

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

View file

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