Compare commits

..

1 Commits

Author SHA1 Message Date
d083ef5290 ci: add auto-deploy to S1+S2 via rsync after merge to main
Some checks failed
CI / Lint (pull_request) Failing after 1m8s
CI / Build (pull_request) Failing after 2m4s
CI / Secret scan (pull_request) Successful in 2m30s
CI / PR size check (pull_request) Successful in 7s
CI / Deploy to S1 + S2 (pull_request) Has been skipped
Adds new "deploy" job in .gitea/workflows/ci.yml that runs on push
to main (after PR is merged). Builds production bundle and rsyncs
it to /var/www/rublox-studio/build/ on both production servers
(S1 VM 124 via NAT 1998, S2 VM 124 directly via runner network).

Uses Gitea Secrets:
  - DEPLOY_SSH_KEY: dedicated ed25519 key for CI, pubkey already
    on ~min/.ssh/authorized_keys on both VM 124
  - KNOWN_HOSTS: host-keys of both targets to prevent MITM

Also updates CONTRIBUTING.md:
  - Maintainer workflow section explaining why even Lead works via PR
  - Hotfix flow (always via PR, never direct push to main)
  - DevPanel as fallback if CI deploy is broken
2026-05-29 03:44:33 +03:00

View File

@ -41,11 +41,9 @@ jobs:
- run: npm ci - run: npm ci
- run: npm run build - run: npm run build
- name: Save build size - name: Save build size
# set -o pipefail (default Gitea Actions) валит весь step если head
# закроет pipe раньше. Делаем команды непадающими через || true.
run: | run: |
du -sh build/ || true du -sh build/
ls -la build/assets/ 2>/dev/null | head -10 || true ls -la build/assets/ | head -10
secret-scan: secret-scan:
name: Secret scan name: Secret scan