chore: migrate ci naming to forgejo

This commit is contained in:
Ashwin Kumar Sivakumar 2026-06-11 17:17:42 +05:30
parent c7fe1b7ad3
commit 1b1d98ebee
5 changed files with 30 additions and 22 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

@ -46,14 +46,14 @@ jobs:
ALL_SERVICES='gateway,users,companies,jobs,leads,job-seekers,customers,payments,employees,photographers,makeup-artists,tutors,developers,video-editors,graphic-designers,social-media-managers,fitness-trainers,catering-services,ugc-content-creators,cron'
# Force full build for explicit trigger commits.
if echo "$LAST_COMMIT_MSG" | grep -Eiq 'trigger gitea pipeline|force build|rebuild all'; then
if echo "$LAST_COMMIT_MSG" | grep -Eiq 'trigger forgejo pipeline|force build|rebuild all'; then
set_output "services_csv" "$ALL_SERVICES"
set_output "has_changes" "true"
exit 0
fi
# Build everything for workflow/docker/shared backend changes.
if echo "$CHANGED_FILES" | grep -Eq '^(\.gitea/workflows/|Dockerfile|Dockerfile\.|Cargo\.toml|Cargo\.lock|crates/|scripts/)'; then
if echo "$CHANGED_FILES" | grep -Eq '^(\.forgejo/workflows/|Dockerfile|Dockerfile\.|Cargo\.toml|Cargo\.lock|crates/|scripts/)'; then
set_output "services_csv" "$ALL_SERVICES"
set_output "has_changes" "true"
exit 0
@ -156,6 +156,7 @@ jobs:
run: |
set -euo pipefail
export DOCKER_HOST=unix:///var/run/docker.sock
SHA="$(git rev-parse HEAD)"
test -n "$REGISTRY_HOSTPORT"
for attempt in 1 2 3 4 5; do
echo "Registry login attempt $attempt to $REGISTRY_HOSTPORT"
@ -176,6 +177,7 @@ jobs:
run: |
set -euo pipefail
export DOCKER_HOST=unix:///var/run/docker.sock
SHA="$(git rev-parse HEAD)"
if [ -n "$SERVICES_CSV" ] && ! echo ",$SERVICES_CSV," | grep -q ",${{ matrix.service }},"; then
echo "Skipping unchanged service: ${{ matrix.service }}"
exit 0
@ -187,7 +189,7 @@ jobs:
--build-arg SERVICE_NAME=${{ matrix.service }} \
--cache-from type=registry,ref=$REGISTRY_HOSTPORT/nxtgauge-rust-${{ matrix.service }}:buildcache \
--cache-to type=registry,ref=$REGISTRY_HOSTPORT/nxtgauge-rust-${{ matrix.service }}:buildcache,mode=max \
-t "$REGISTRY_HOSTPORT/nxtgauge-rust-${{ matrix.service }}:${{ gitea.sha }}" \
-t "$REGISTRY_HOSTPORT/nxtgauge-rust-${{ matrix.service }}:${SHA}" \
-t "$REGISTRY_HOSTPORT/nxtgauge-rust-${{ matrix.service }}:high-performance-latest" \
.
}
@ -197,7 +199,7 @@ jobs:
-f Dockerfile.simple \
--build-arg SERVICE_NAME=${{ matrix.service }} \
--cache-from type=registry,ref=$REGISTRY_HOSTPORT/nxtgauge-rust-${{ matrix.service }}:buildcache \
-t "$REGISTRY_HOSTPORT/nxtgauge-rust-${{ matrix.service }}:${{ gitea.sha }}" \
-t "$REGISTRY_HOSTPORT/nxtgauge-rust-${{ matrix.service }}:${SHA}" \
-t "$REGISTRY_HOSTPORT/nxtgauge-rust-${{ matrix.service }}:high-performance-latest" \
.
}
@ -217,7 +219,7 @@ jobs:
docker buildx build --push \
-f Dockerfile.simple \
--build-arg SERVICE_NAME=${{ matrix.service }} \
-t "$REGISTRY_HOSTPORT/nxtgauge-rust-${{ matrix.service }}:${{ gitea.sha }}" \
-t "$REGISTRY_HOSTPORT/nxtgauge-rust-${{ matrix.service }}:${SHA}" \
-t "$REGISTRY_HOSTPORT/nxtgauge-rust-${{ matrix.service }}:high-performance-latest" \
.
fi
@ -231,7 +233,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-rust-${{ matrix.service }}" \
--username "$REGISTRY_USERNAME" \
@ -246,6 +248,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"
@ -264,10 +267,10 @@ jobs:
ssh-keyscan github.com >> ~/.ssh/known_hosts 2>/dev/null
# Update gitops with new SHA
python3 .gitea/scripts/update-gitops.py \
python3 .forgejo/scripts/update-gitops.py \
--repo "$GITEOPS_DIR" \
--service "${{ matrix.service }}" \
--sha "${{ gitea.sha }}" \
--message "chore: deploy ${{ matrix.service }}@${{ gitea.sha }}"
--sha "${SHA}" \
--message "chore: deploy ${{ matrix.service }}@${SHA}"
rm -rf "$GITEOPS_DIR"

View file

@ -1,8 +1,9 @@
name: sync-to-gitea
name: sync-to-forgejo
on:
push:
branches:
- main
- high-performance
jobs:
@ -16,9 +17,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 +30,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

View file

@ -23,4 +23,4 @@ Required secrets:
- `REGISTRY_USERNAME`
- `REGISTRY_PASSWORD`
See `.gitea/workflows/README.md` for details.
See `.forgejo/workflows/README.md` for details.