docs(rx-client): corte para CI/tag feito — v1.3.9 publicada, webhook 9004 off, runner instance-scoped

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
VPS 4 Deploy Agent
2026-06-18 00:42:49 +02:00
parent 7fcad6cdac
commit 73e739351c
@@ -8,19 +8,21 @@
- Não é "imagem Docker promovida" como os serviços web — o artefato é o **`.exe` + `latest.yml`** publicados em `dental-server/updates/`.
- **Versão é BUILD-TIME** (embutida no `.exe`; o `electron-updater` compara versões): **não há "build once" puro**. A **release é buildada na TAG** (com a versão da tag); o **push só valida** que compila. (É o oposto dos serviços web, onde a versão é injetada em runtime.)
## Estado atual (analisado em 17/jun/2026)
- Versão vem do **`package.json`** (manual; hoje `1.3.8`).
- Build/publish via **`deploy-client.sh`**, disparado pelo **webhook porta 9004** no push (push → build + publica em produção) ou manual: `electron-builder --win --x64 --publish never` `rsync` do `.exe`+`latest.yml` para a VPS1 `updates/`.
- **Sem CI**, sem build-once/promote, sem rastreabilidade commit→artefato.
## Estado atual (CORTE FEITO em 18/jun/2026 — pipeline novo ativo)
- Versão vem da **tag** (`git tag vX.Y.Z``npm version` no CI; hoje publicada `1.3.9`).
- **CI no Gitea Actions** (runner `vps4-builder`, agora **instance-scoped** — atende todos os repos): push na main → **build de validação** (não publica); **tag `v*`****release** (builda com a versão da tag + `rsync` do `.exe`/`latest.yml` p/ VPS1 `updates/`).
- Gatilho antigo **desligado**: `webhook-rx-client.service` (:9004) `disable --now` + webhook Gitea id 13 `active=false`. `deploy-client.sh` ficou **obsoleto**.
- Backup do `updates/` pré-corte: `updates.bak_20260618_0023` na VPS1 (rollback).
## Plano (Build Once → Promote → Deploy, adaptado)
| Fase | O que | Status |
|---|---|---|
| 1 | Exibir a versão na UI (menu do tray, `app.getVersion()`) | ✅ (dev, sem push) |
| 2 | **CI**: push na main → **build de validação** (cross-compile, **NÃO publica**) | 🧪 (`.gitea/workflows/build.yml` criado, dev) |
| 3 | **Tag → release**: builda COM a versão da tag (`npm version`) + publica `.exe`/`latest.yml` em `updates/` (rsync VPS1) | 🎯 |
| 4 | **Corte**: desligar `webhook-rx-client.service` (9004); validar o auto-update dos clients em campo | 🎯 |
| 5 | Manter este documento atualizado | — |
| 1 | Exibir a versão na UI (menu do tray, `app.getVersion()`) | ✅ (commit `cf16f49`) |
| 2 | **CI**: push na main → **build de validação** (cross-compile, **NÃO publica**) | ✅ validado em prod (run 45 = success) |
| 3 | **Tag → release**: builda COM a versão da tag (`npm version`) + publica `.exe`/`latest.yml` em `updates/` (rsync VPS1) | **v1.3.9** publicada |
| 4 | **Corte**: desligar `webhook-rx-client.service` (9004) + webhook Gitea | ✅ infra cortada |
| 4b | Validar o auto-update num Windows de teste (1.3.8 → 1.3.9) | ⏳ pendente (depende do Windows de teste) |
| 5 | Manter este documento atualizado | ✅ |
## Riscos a tratar
- **Cross-compile Windows no Linux** (electron-builder/wine) no CI.