Files

2.2 KiB

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