From 0902e726ed0fb1173a8eb16372eafcc2993975e9 Mon Sep 17 00:00:00 2001 From: Jonathan Miller <1+jmiller@noreply.git.mokoconsulting.tech> Date: Thu, 21 May 2026 17:14:16 +0000 Subject: [PATCH] chore: rename .gitea/ to .mokogitea/ [skip ci] Authored-by: Moko Consulting --- .gitea/workflows/deploy-mokogitea.yml | 134 -------------------------- 1 file changed, 134 deletions(-) delete mode 100644 .gitea/workflows/deploy-mokogitea.yml diff --git a/.gitea/workflows/deploy-mokogitea.yml b/.gitea/workflows/deploy-mokogitea.yml deleted file mode 100644 index 5b546d467d..0000000000 --- a/.gitea/workflows/deploy-mokogitea.yml +++ /dev/null @@ -1,134 +0,0 @@ -# Copyright (C) 2026 Moko Consulting -# SPDX-License-Identifier: GPL-3.0-or-later -# BRIEF: Build MokoGitea Docker image, push to registry, and deploy - -name: Deploy MokoGitea - -on: - workflow_dispatch: - inputs: - version: - description: 'Version tag (e.g. v1.26.1-moko.2)' - required: true - default: 'latest' - environment: - description: 'Target environment' - required: true - default: 'dev' - type: choice - options: - - dev - - production - -concurrency: - group: deploy-mokogitea - cancel-in-progress: false - -env: - REGISTRY: git.mokoconsulting.tech - IMAGE: mokoconsulting/mokogitea - DEPLOY_HOST: git.mokoconsulting.tech - DEPLOY_PORT: 2918 - DEPLOY_USER: mokoconsulting - -jobs: - deploy: - runs-on: ubuntu-latest - steps: - - name: Determine settings - id: config - run: | - VERSION="${{ github.event.inputs.version }}" - ENV="${{ github.event.inputs.environment }}" - - if [ "$ENV" = "production" ]; then - echo "compose_dir=/opt/gitea" >> $GITHUB_OUTPUT - echo "container=mokogitea" >> $GITHUB_OUTPUT - echo "source_dir=/opt/gitea/source" >> $GITHUB_OUTPUT - echo "branch=main" >> $GITHUB_OUTPUT - echo "tag=${VERSION}" >> $GITHUB_OUTPUT - else - echo "compose_dir=/opt/gitea-dev" >> $GITHUB_OUTPUT - echo "container=mokogitea-dev" >> $GITHUB_OUTPUT - echo "source_dir=/opt/gitea-dev/source" >> $GITHUB_OUTPUT - echo "branch=dev" >> $GITHUB_OUTPUT - echo "tag=${VERSION}-dev" >> $GITHUB_OUTPUT - fi - - - name: Build, push, and deploy via SSH - env: - SSH_PRIVATE_KEY: ${{ secrets.DEPLOY_SSH_KEY }} - TAG: ${{ steps.config.outputs.tag }} - BRANCH: ${{ steps.config.outputs.branch }} - SOURCE_DIR: ${{ steps.config.outputs.source_dir }} - COMPOSE_DIR: ${{ steps.config.outputs.compose_dir }} - CONTAINER: ${{ steps.config.outputs.container }} - run: | - mkdir -p ~/.ssh - echo "$SSH_PRIVATE_KEY" > ~/.ssh/deploy_key - chmod 600 ~/.ssh/deploy_key - - SSH_CMD="ssh -i ~/.ssh/deploy_key -p ${{ env.DEPLOY_PORT }} -o ConnectTimeout=30 -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null ${{ env.DEPLOY_USER }}@${{ env.DEPLOY_HOST }}" - - $SSH_CMD "echo 'SSH connected'" - - # Pull latest source - $SSH_CMD " - set -e - if [ ! -d ${SOURCE_DIR}/.git ]; then - git clone -b ${BRANCH} https://git.mokoconsulting.tech/MokoConsulting/MokoGitea.git ${SOURCE_DIR} - fi - cd ${SOURCE_DIR} - git fetch origin ${BRANCH} - git reset --hard origin/${BRANCH} - " - - # Build Docker image - $SSH_CMD " - set -e - cd ${SOURCE_DIR} - docker build --no-cache --build-arg GOFLAGS='-p 1' \ - --tag ${{ env.REGISTRY }}/${{ env.IMAGE }}:${TAG} \ - --tag ${{ env.REGISTRY }}/${{ env.IMAGE }}:latest \ - -f Dockerfile . - " - - # Push to container registry - $SSH_CMD " - set -e - docker push ${{ env.REGISTRY }}/${{ env.IMAGE }}:${TAG} - docker push ${{ env.REGISTRY }}/${{ env.IMAGE }}:latest - " - - # Update compose and restart - $SSH_CMD " - set -e - cd ${COMPOSE_DIR} - sed -i 's|${{ env.IMAGE }}:[^ ]*|${{ env.IMAGE }}:${TAG}|' docker-compose.yml - docker compose up -d ${CONTAINER} - " - - # Health check - $SSH_CMD " - for i in 1 2 3 4 5 6 7 8; do - sleep 15 - if docker inspect --format='{{.State.Health.Status}}' ${CONTAINER} 2>/dev/null | grep -q healthy; then - echo 'Container healthy!' - docker inspect --format='Image: {{.Config.Image}}' ${CONTAINER} - exit 0 - fi - echo \"Waiting... (attempt \$i/8)\" - done - echo 'Health check failed' - docker logs ${CONTAINER} --tail 20 - exit 1 - " - - - name: Verify - run: | - sleep 5 - curl -sf https://${{ env.DEPLOY_HOST }}/api/healthz && echo " — API healthy" - - - name: Notify on failure - if: failure() - run: echo "::error::Deploy failed for ${{ steps.config.outputs.tag }}"