Commit graph

75 commits

Author SHA1 Message Date
esdrasrenan
33a59634e7 Migra banco de dados de SQLite para PostgreSQL
- Muda provider Prisma de sqlite para postgresql
- Remove dependencias SQLite (better-sqlite3, adapter)
- Atualiza Better Auth para provider postgresql
- Simplifica prisma.ts removendo adapter SQLite
- Atualiza stack.yml para usar PostgreSQL existente com 2 replicas
- Remove logica de rebuild better-sqlite3 do start-web.sh
- Adiciona script de migracao de dados SQLite -> PostgreSQL
- Atualiza healthcheck para testar PostgreSQL via Prisma
- Habilita start-first deploy para zero-downtime

Melhoria: permite multiplas replicas e deploys sem downtime.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-11 00:35:27 -03:00
Seu Nome
8db7c3c810 fix: adiciona Card ao histórico de chat e lint no deploy
Histórico de chat:
- Adiciona Card branco igual à linha do tempo
- Corrige acentuações (Histórico, sessão, sessões)

CI/CD:
- Adiciona step de lint antes do build no workflow de deploy
- Se o lint falhar, o deploy é cancelado (fail fast)
- Evita que código com erros de lint seja deployado

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-08 17:05:34 -03:00
Seu Nome
b916ce3083 fix: remove docker service update redundante que causava downtime
O step "Ensure Convex service envs" fazia docker service update
para adicionar env vars que já são passadas pelo stack.yml via
substituição de variáveis. Isso disparava um rolling update
desnecessário com ~60s de downtime a cada deploy.

As env vars (MACHINE_PROVISIONING_SECRET, etc) já são definidas
no stack.yml e interpoladas do .env durante o docker stack deploy.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-08 15:29:53 -03:00
Seu Nome
40e2c01abd fix: zero-downtime deploy com start-first e healthcheck
- Remove docker service update --force que causava downtime
- Agrupa env vars do Convex em um único update (evita múltiplos restarts)
- Adiciona delay: 10s e monitor: 30s no update_config
- Healthcheck do web usa /api/health com timeout
- Ajusta start_period: 180s (web) e 60s (convex)
- Convex backend não é mais forçado a reiniciar após stack deploy

Fluxo correto de deploy:
1. docker stack deploy detecta mudança
2. Novo container é criado (start-first)
3. Swarm espera healthcheck passar
4. Swarm espera monitor period (30s)
5. Container antigo é removido
6. Zero downtime durante todo o processo

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-08 15:07:13 -03:00
Esdras Renan
8f2c00a75a fix: stabilize web build path e cores do SLA 2025-11-25 17:32:40 -03:00
Esdras Renan
c1ce7f1ab9 ci: fix convex tmp dir 2025-11-18 13:44:22 -03:00
Esdras Renan
fa8672543a Hardening CI for prisma and convex deploy 2025-11-18 09:43:28 -03:00
Esdras Renan
fba294db71 ci: hard-restart convex service when scheduler lacks memory 2025-11-17 14:45:12 -03:00
Esdras Renan
69fbfc2299 ci: run convex admin key fallback with shell entrypoint 2025-11-17 14:34:34 -03:00
Esdras Renan
dbee5c28c8 fix: stabilize convex pagination and ci fallback 2025-11-17 14:23:46 -03:00
Esdras Renan
a08b0d6d27 ci: auto-restart convex service before acquiring admin key 2025-11-17 13:57:27 -03:00
Esdras Renan
fd88475999 fix: wait for convex container before acquiring key 2025-11-15 01:58:39 -03:00
Esdras Renan
4cd026ef02 ci: corrigir permissões do sqlite em produção 2025-11-14 08:27:46 -03:00
Esdras Renan
f7976e2c39 fix(ci): keep deployed build owned by app user 2025-11-06 15:47:18 -03:00
Esdras Renan
80abd92e78 ci: drop convex yes flag 2025-11-06 01:56:26 -03:00
Esdras Renan
a7a7c30d0e ci: use bun for convex deploy 2025-11-06 01:48:48 -03:00
Esdras Renan
7718f77d4c ci: retain previous next static assets during publish 2025-11-05 20:00:42 -03:00
Esdras Renan
8031c9c29d Use Bun filter to skip desktop workspace in deploy job 2025-11-04 23:37:33 -03:00
Esdras Renan
4ec5f15c9d Fix Bun install step by stubbing desktop workspace 2025-11-04 23:34:49 -03:00
Esdras Renan
775956c160 Switch workflows to Bun install/test and update pnpm 2025-11-04 23:21:41 -03:00
Esdras Renan
c3237dfb64 Adopt Bun runtime across build pipelines 2025-11-04 22:52:46 -03:00
codex-bot
9b633bd8e0 CI: habilitar cache do Next.js (.next/cache) em GitHub Actions (quality-checks e deploy self-hosted) e preservar cache entre builds 2025-10-20 17:58:36 -03:00
codex-bot
e4bf7c801b ci(convex): remove CONVEX_DEPLOYMENT when using self-hosted URL+ADMIN_KEY; rely on convex.json or link 2025-10-20 15:47:50 -03:00
codex-bot
c35c669831 ci(convex): set CONVEX_DEPLOYMENT=default and fetch admin key in convex_deploy job
- Add Acquire Convex admin key step in convex_deploy
- Provide CONVEX_DEPLOYMENT env and stop unsetting it
- Pass envs into container for env list + deploy
2025-10-20 15:19:59 -03:00
codex-bot
c4265341ee ci(convex): fix self-hosted deploy
- Acquire admin key in convex_deploy job (id:key)
- Copy existing convex.json from APP_DIR to build dir (EFFECTIVE_APP_DIR)
- Prevent ‘No CONVEX_DEPLOYMENT set’ by ensuring project link present
2025-10-20 15:08:30 -03:00
Esdras Renan
f986fc667d ci: add self-hosted Convex deploy job + restart step; deploy functions when convex/** changes or forced via workflow_dispatch 2025-10-20 10:44:14 -03:00
Esdras Renan
fc1bdc248b Actions: relax perms before cleanup to avoid Permission denied; keep docker root fallback 2025-10-19 01:38:26 -03:00
Esdras Renan
945b29f317 ci(web): fix permission errors publishing to stable APP_DIR (docker chown+chmod, exclude .pnpm-store); runtime: use container-local PNPM store to avoid host writes 2025-10-16 15:08:12 -03:00
Esdras Renan
009291f6a2 ci(web): publish build to stable path (/home/renan/apps/sistema) and deploy using that fixed APP_DIR; cleanup only web.build.* 2025-10-16 14:53:59 -03:00
Esdras Renan
9c498245e9 ci(web): remove redundant docker service update --force; rely on stack deploy update to avoid mount race/rollback 2025-10-16 14:02:49 -03:00
Esdras Renan
df4ae45458 ci(web): pass resolved APP_DIR path (no symlink) to docker stack deploy to satisfy bind mount requirement 2025-10-16 13:47:58 -03:00
Esdras Renan
03d31d082c ci(web): use stable symlink APP_DIR (/home/renan/apps/sistema.current) and skip active dir during cleanup to prevent mount path disappearance 2025-10-16 13:37:12 -03:00
Esdras Renan
5dbe6986e6 ci: isolate build dirs per job (web.build.* vs convex.build.*) to avoid cross-job cleanup deleting live mounts 2025-10-16 13:22:52 -03:00
Esdras Renan
0562c13630 ci: improve cleanup fallback (chown+chmod before delete) and run web container as uid 1000 to prevent root-owned caches 2025-10-16 11:59:32 -03:00
Esdras Renan
4376ed9c3c ci(convex): avoid root-owned pnpm store by using container-local store; add root (docker) fallback for cleaning old build dirs 2025-10-16 11:49:48 -03:00
Esdras Renan
8639491ba2 ci: fail on service restart errors to catch deployment issues 2025-10-16 11:38:12 -03:00
Esdras Renan
c785094e4f ci: cleanup build dirs; add web start script; fix NEXT_PUBLIC_CONVEX_URL usage 2025-10-16 11:18:56 -03:00
Esdras Renan
4075c048ca chore: limpar builds antigos com sudo 2025-10-10 23:46:30 -03:00
Esdras Renan
35f50b2dd0 chore: tornar smoke opcional via RUN_MACHINE_SMOKE 2025-10-10 23:32:06 -03:00
Esdras Renan
81ff7211ee feat(updater): bake Tauri public key into config; remove key injection steps; bump desktop to 0.1.4 2025-10-10 21:28:59 -03:00
Esdras Renan
55791a0503 ci: fix expressions using secrets.* in if by moving to env-based guard; add Windows-safe key injection 2025-10-10 21:26:09 -03:00
Esdras Renan
3a37de9ae7 chore(desktop): switch Tauri icon to icons/raven.png and bump version to 0.1.2 2025-10-10 21:13:22 -03:00
Esdras Renan
c2050f311a chore: sincroniza alterações locais 2025-10-09 20:38:53 -03:00
Esdras Renan
c3249e523d ci: adicionar job manual de diagnostico do Convex (env set/list + teste de registro) 2025-10-09 19:48:04 -03:00
Esdras Renan
24e6d7eb38 ci(convex): executar 'env set' e 'deploy' sempre (sem if baseado em env) 2025-10-09 19:42:13 -03:00
Esdras Renan
78aaab7f70 ci(convex): definir envs via 'convex env set' lendo /srv/apps/sistema/.env antes do deploy 2025-10-09 19:41:39 -03:00
Esdras Renan
754aa039c5 ci(web): garantir envs do Convex via docker service update (MACHINE_PROVISIONING_SECRET/TTL/FLEET) e restart 2025-10-09 19:33:26 -03:00
Esdras Renan
ae529bd3a2 ci(web/convex): usar diretório de build único por run (sistema.build.1760048648) para evitar EACCES em node_modules 2025-10-09 19:24:08 -03:00
Esdras Renan
fa695de653 ci(web): workspace server-only no runner (remover apps/desktop e reduzir pnpm-workspace.yaml)\n\n- Evita EACCES em apps/desktop/node_modules no passo de install.\n- Mantém repo intacto; altera apenas o diretório efetivo usado pelo deploy. 2025-10-09 19:19:43 -03:00
Esdras Renan
6700bd9f15 ci(web): instalar apenas o pacote 'web' e apontar Convex via overlay (NEXT_PUBLIC_CONVEX_URL=http://sistema_convex_backend:3210)\n\n- Evita EACCES em apps/desktop/node_modules no runner.\n- Bypassa DNS/Traefik para chamadas servidor->Convex dentro da stack. 2025-10-09 19:16:10 -03:00