> For the complete documentation index, see [llms.txt](https://lunarie.gitbook.io/lunarie-docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://lunarie.gitbook.io/lunarie-docs/desenvolvimento/06-deploy.md).

# Deploy

> **Última atualização:** 08/10/2026 Como cada tipo de mudança chega à produção, conferido no workflow `deploy-edge-functions.yml` e no fluxo atual. Ambientes e mitigações de risco estão em [Ambientes](/lunarie-docs/arquitetura/03-ambientes.md).

## Por tipo de mudança

| Mudança        | Como publica                                                                         | Quem executa                       |
| -------------- | ------------------------------------------------------------------------------------ | ---------------------------------- |
| App            | Push em `main`, sincronização do Lovable e **publicação manual** no Lovable.         | Fundadora                          |
| Landing        | Mesmo caminho, no projeto `lunarie-site`.                                            | Fundadora                          |
| Edge Functions | Push em `main` com alteração em `supabase/functions/**` dispara o GitHub Actions.    | Automático                         |
| Banco          | Migração nomeada, aplicada direto na produção do Supabase, com verificação imediata. | Claude, com a fundadora conferindo |
| Documentação   | Push no `lunarie-docs`, e o Git Sync sincroniza GitHub → GitBook.                    | Automático                         |

## Edge Functions (GitHub Actions)

* **Gatilho:** push em `main` que altere `supabase/functions/**`.
* **Execução:** o workflow instala o Supabase CLI na versão fixa 2.111.0 e faz o deploy das 18 funções, uma por passo, todas com `--no-verify-jwt`. Cada função valida a própria autorização ([Segurança](/lunarie-docs/arquitetura/05-seguranca.md)).
* **Efeito colateral:** qualquer mudança em `supabase/functions/**` reimplanta todas as funções, e não só a alterada.
* **Segredos do repositório:** `SUPABASE_ACCESS_TOKEN` e `SUPABASE_PROJECT_REF`.
* **Função nova:** exige um passo novo no workflow. Sem ele, a função existe no repositório e não chega à produção.
* **Mudança no próprio workflow:** o push do arquivo em `.github/workflows` exige um token do GitHub com o escopo `workflow`. Sem esse escopo, o GitHub rejeita o push, e foi o que impediu o deploy do `posthog-proxy` (ADR-053). Confira com `git log` se o commit chegou ao `origin/main`.

## Antes de publicar

* `tsc`, `eslint` e `prettier` passam ([Fluxo de Desenvolvimento](/lunarie-docs/desenvolvimento/01-fluxo-de-desenvolvimento.md)).
* Mudança de banco: migração idempotente quando possível, com consulta aos Security Advisors depois.
* Mudança que apaga ou altera dados de pessoas: backup e plano de volta definidos antes ([Backup e Recuperação](/lunarie-docs/operacao/03-backup-e-recuperacao.md)).
* O [Checklist de Entrega](/lunarie-docs/qualidade/02-checklist-de-entrega.md) cobre o restante.

## Depois de publicar

A fundadora testa o fluxo alterado em produção. Para Edge Functions de e-mail ou Kindle, o teste usa um envio real.

## Rollback

Não há procedimento de rollback documentado. O Git guarda o histórico do código, mas a volta ao estado anterior do app depende de republicar pelo Lovable, e a das Edge Functions, de um novo push com o código anterior. Migrações de banco não têm rollback automático, e por isso valem backup e migrações idempotentes.

## Documentos relacionados

* [Ambientes](/lunarie-docs/arquitetura/03-ambientes.md)
* [Controle de Versão](/lunarie-docs/desenvolvimento/03-controle-de-versao.md)
* [Backup e Recuperação](/lunarie-docs/operacao/03-backup-e-recuperacao.md)
