# .gitea/workflows/publish.yml name: Publish Website run-name: ${{ gitea.actor }} is testing out Gitea Actions 🚀 on: push: branches: [ main ] # <- typo fixed (“braches” → “branches”) jobs: publish: runs-on: ubuntu-latest steps: # 1. Checkout the website repository (your app code) # ------------------------------------------------------------ - name: Checkout website repo uses: actions/checkout@v4 # avoids manual clone with: repository: lepton/website # full owner/repo path fetch-depth: 1 # ------------------------------------------------------------ # 2. Start an SSH agent and load the private key from secrets # ------------------------------------------------------------ - name: Set up SSH agent env: SSH_KEY: ${{ secrets.ACCESS_KEY }} # your private key shell: bash run: | eval "$(ssh-agent -s)" echo "$SSH_KEY" | tr -d '\r' | ssh-add - >/dev/null ssh-add -l shasum -a 256 $SSH_KEY # ------------------------------------------------------------ # 3. Trust the Gitea host key (port 222) # ------------------------------------------------------------ - name: Trust Gitea host key shell: bash run: | mkdir -p ~/.ssh ssh-keyscan -H -p 222 "$GITEA_HOST" 2>/dev/null >> ~/.ssh/known_hosts # ------------------------------------------------------------ # 4. Clone the template repo via SSH (uses detected IP + port 222) # ------------------------------------------------------------ - name: Clone template repo shell: bash run: | git clone --depth 1 \ "ssh://git@$GITEA_HOST:222/lepton/app_templates" /tmp/template # ------------------------------------------------------------ # 5. Copy Docker artefacts into workspace root # ------------------------------------------------------------ - name: Copy Docker configuration shell: bash run: | cp /tmp/template/web/docker-compose.yml . cp /tmp/template/web/Dockerfile . # ------------------------------------------------------------ # 6. Stop any old stack, rebuild, and run the new one # ------------------------------------------------------------ - name: Stop existing stack (ignore if none) shell: bash run: docker compose down --remove-orphans || true - name: Rebuild & deploy shell: bash run: docker compose up -d --build