4 Commits

Author SHA1 Message Date
9808c11467 ci: add auto-deploy to S1+S2 via rsync after merge to main
Some checks failed
CI / Lint (pull_request) Failing after 16s
CI / Build (pull_request) Failing after 12s
CI / Secret scan (pull_request) Successful in 2m26s
CI / PR size check (pull_request) Successful in 5s
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-player/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 02:53:12 +03:00
fafed7243f chore: onboarding-readiness — CI/ассеты/?standalone=1
Some checks failed
CI / Lint (pull_request) Failing after 31s
CI / Build (pull_request) Failing after 37s
CI / Secret scan (pull_request) Successful in 2m25s
CI / PR size check (pull_request) Successful in 5s
3 блокера перед запуском opensource-контрибьюторов:

1. CI Lint+Format убран format:check (отдельная формат-неделя).
   Secret-scan переехал с docker run на нативный trufflehog install.

2. Ассеты (106 МБ kubikon-assets/) в Gitea Releases:
   https://git.rublox.pro/rublox/player/releases/tag/assets-v1
   npm run fetch-assets + postinstall.

3. PlayerAuth поддерживает ?standalone=1 URL-параметр
   (раньше только через VITE_STANDALONE в .env).
2026-05-28 14:55:23 +03:00
3aadb32b62 ci: добавить GitHub Actions workflow для lint+format+build+secret-scan+size-check
Some checks failed
CI / Lint + Format (push) Has been cancelled
CI / Build (push) Has been cancelled
CI / Secret scan (push) Has been cancelled
CI / PR size check (push) Has been cancelled
2026-05-28 00:41:42 +03:00
87444ee2c8 Initial public release: Rublox Player v1.0
Open-source web player for Rublox games, dual-licensed under
AGPL-3.0 + Commercial.

Highlights:
- Babylon.js 7 + React 18 + Vite 5 stack
- Self-contained engine (~46k lines): BlockManager, ModelManager,
  PlayerController, ScriptSandboxWorker, MultiplayerSync, 30+ GD
  gamemodes
- Configurable backend via VITE_API_BASE and friends — works against
  staging (dev-api.rublox.pro) out of the box
- Standalone mode (VITE_STANDALONE=true) loads a bundled sample game
  for first-run without any backend
- Full docs: README, ARCHITECTURE, CONTRIBUTING, SECURITY, CHANGELOG
- Lint + format scaffolding (ESLint + Prettier + EditorConfig)
- Legal: LICENSE (AGPL-3.0), LICENSE-COMMERCIAL.md, CLA.md, COPYRIGHT.md
- Issue templates: bug_report, feature_request, security_disclosure

Removed before public release:
- frontend_deploy.py (contained production SSH credentials)
- ~27 admin endpoints (kept in private repo)
- Hard-coded internal URLs and IPs
- All previous git history (clean repo init)
2026-05-27 23:04:04 +03:00