99 lines
2.2 KiB
Markdown
99 lines
2.2 KiB
Markdown
# Workflows
|
|
|
|
## Lista de workflows
|
|
|
|
- `host-deploy.yml`
|
|
- `host-local-push.yml`
|
|
- `host-smoke.yml`
|
|
- `host-ops.yml`
|
|
|
|
## O que cada workflow faz
|
|
|
|
### host-deploy
|
|
|
|
- valida o path e o repositório Git
|
|
- roda `git fetch`, `checkout`, `reset --hard FETCH_HEAD` e `git clean -fd`
|
|
- executa `DEPLOY_CMD` na pasta real do projeto
|
|
|
|
### host-local-push
|
|
|
|
- valida o path e o repositório Git
|
|
- roda `git add -A`
|
|
- cria commit local com a mensagem informada
|
|
- faz `git push` para o remote configurado
|
|
|
|
### host-smoke
|
|
|
|
- não faz deploy
|
|
- imprime `pwd`
|
|
- valida `DEPLOY_PATH`, `DEPLOY_BRANCH`, `DEPLOY_REMOTE`, `DEPLOY_CMD`
|
|
- valida `git status`, `node`, `npm` e `npx`
|
|
|
|
### host-ops
|
|
|
|
Workflow agregador para operação manual humana.
|
|
|
|
Inputs:
|
|
|
|
- `operation`: `pull_deploy` ou `commit_push`
|
|
- `commit_message`: opcional
|
|
|
|
Comportamento:
|
|
|
|
- `pull_deploy` chama `./scripts/actions/host_deploy.sh`
|
|
- `commit_push` chama `./scripts/actions/host_push.sh`
|
|
|
|
## Variables usadas
|
|
|
|
Compartilhadas:
|
|
|
|
- `DEPLOY_PATH`
|
|
- `DEPLOY_BRANCH`
|
|
- `DEPLOY_REMOTE`
|
|
- `DEPLOY_CMD`
|
|
|
|
## Secrets usados
|
|
|
|
Obrigatórios para push:
|
|
|
|
- `HOST_GITEA_TOKEN`
|
|
- `HOST_GIT_AUTHOR_NAME`
|
|
- `HOST_GIT_AUTHOR_EMAIL`
|
|
|
|
Opcionais para deploy:
|
|
|
|
- `HOST_CLOUDFLARE_API_TOKEN`
|
|
- `HOST_VERCEL_TOKEN`
|
|
|
|
## Fallback host/Gitea para secrets
|
|
|
|
Ordem de precedência:
|
|
|
|
1. se o workflow receber o secret opcional do Gitea, o valor do workflow é usado
|
|
2. se o secret opcional não existir, o runner continua usando o ambiente do host
|
|
3. no caso do Cloudflare, também é aceito login OAuth já configurado no usuário do runner
|
|
4. no caso do Vercel, também é aceito login já configurado no CLI do usuário do runner
|
|
|
|
Isso preserva o modo atual funcional sem tornar secrets opcionais obrigatórios.
|
|
|
|
## Como disparar pull + deploy
|
|
|
|
- pelo workflow `host-deploy`
|
|
- ou pelo workflow `host-ops` com `operation=pull_deploy`
|
|
|
|
## Como disparar commit + push local
|
|
|
|
- pelo workflow `host-local-push`
|
|
- ou pelo workflow `host-ops` com `operation=commit_push`
|
|
|
|
## Smoke test manual
|
|
|
|
Use `host-smoke` para diagnóstico rápido antes de um deploy.
|
|
|
|
Verificações esperadas:
|
|
|
|
- branch atual correta
|
|
- `git status` responde
|
|
- `node`, `npm` e `npx` respondem
|
|
- variables do workflow estão presentes
|