diff --git a/.gitea/scripts/registry_prune.py b/.forgejo/scripts/registry_prune.py similarity index 100% rename from .gitea/scripts/registry_prune.py rename to .forgejo/scripts/registry_prune.py diff --git a/.gitea/scripts/update-gitops.py b/.forgejo/scripts/update-gitops.py similarity index 93% rename from .gitea/scripts/update-gitops.py rename to .forgejo/scripts/update-gitops.py index 03805a0..317d66e 100644 --- a/.gitea/scripts/update-gitops.py +++ b/.forgejo/scripts/update-gitops.py @@ -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): diff --git a/.gitea/workflows/build.yaml b/.forgejo/workflows/build.yaml similarity index 93% rename from .gitea/workflows/build.yaml rename to .forgejo/workflows/build.yaml index ab743cb..f59d674 100644 --- a/.gitea/workflows/build.yaml +++ b/.forgejo/workflows/build.yaml @@ -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" diff --git a/.github/workflows/sync-to-gitea.yml b/.github/workflows/sync-to-forgejo.yml similarity index 65% rename from .github/workflows/sync-to-gitea.yml rename to .github/workflows/sync-to-forgejo.yml index a9b0694..31851e5 100644 --- a/.github/workflows/sync-to-gitea.yml +++ b/.github/workflows/sync-to-forgejo.yml @@ -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 diff --git a/README.md b/README.md index 8ffcd72..94e7dd0 100644 --- a/README.md +++ b/README.md @@ -23,4 +23,4 @@ Required secrets: - `REGISTRY_USERNAME` - `REGISTRY_PASSWORD` -See `.gitea/workflows/README.md` for details. +See `.forgejo/workflows/README.md` for details.