shivao-projeto/.forgejo/workflows/README.md
PontualTech / Karlão c46d30f7b9
Some checks are pending
Build Android (APK + AAB) / build-android (push) Waiting to run
feat(legal+ci): termos de uso + workflow Forgejo Actions pra build Android automático
LEGAL
- GET /termos: termos de uso completos (11 seções) com aviso CRÍTICO de limitação de responsabilidade pra navegação náutica (não substitui chartplotter/cartas/atenção do skipper)
- Reembolso CDC art. 49 (7 dias arrependimento) explicito
- Lei aplicável Brasil + foro SP

CI/CD
- .forgejo/workflows/build-android.yml: pipeline completo (checkout → JDK17 → Android SDK → npm install mobile/ → cap sync → gradle bundleRelease + assembleRelease → upload artifacts → release no manual)
- .forgejo/workflows/README.md: como configurar runner Forgejo no Coolify, secrets necessários (KEYSTORE_BASE64, KEYSTORE_PWD, FORGEJO_TOKEN), alternativas (Codemagic, GitHub Actions)
- Trigger automático em push em app/, mobile/, scripts/sync-html.mjs
- Trigger manual via botão Forgejo

VALIDADO
- Bundletool 1.17.2 instalado em ~/bundletool/
- AAB validado: arquivos OK
- APK por device gerado: 2.8-2.9 MB (vs 3.4 MB universal — Play Store entrega menor)
- ~/Downloads/Shivao-v1.2.0.apks (12MB, contém splits por arquitetura)

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-27 18:57:01 -03:00

63 lines
2.1 KiB
Markdown

# Forgejo Actions — CI/CD do Shivao
## Como ativar (uma vez)
### 1. Configure um runner Forgejo no Coolify
```bash
# Sub-domínio sugerido: actions.pontualtech.work (DNS A → Hetzner)
# Sobe via Coolify usando docker-compose:
```
```yaml
# Cole no Coolify → Pontualtech → New Resource → Docker Compose Empty
services:
forgejo-runner:
image: code.forgejo.org/forgejo/runner:6
restart: unless-stopped
environment:
FORGEJO_INSTANCE_URL: https://git.pontualtech.work
FORGEJO_RUNNER_REGISTRATION_TOKEN: ${RUNNER_TOKEN} # pega em git.pontualtech.work/admin/runners
volumes:
- runner_data:/data
- /var/run/docker.sock:/var/run/docker.sock
volumes:
runner_data:
```
### 2. Configure secrets no Forgejo
`git.pontualtech.work/karlao/shivao-projeto/settings/actions/secrets`
| Secret | Como obter |
|---|---|
| `SHIVAO_KEYSTORE_BASE64` | `base64 -w0 ~/Downloads/Shivao-keystore-backup/shivao-release-CAPACITOR.keystore` |
| `SHIVAO_KEYSTORE_PWD` | `ShivaoKeystore2026!` (a senha que você definiu) |
| `FORGEJO_TOKEN` | Settings → Applications → Generate New Token (permissions: write:repository) |
### 3. Triggers do workflow
- **Auto:** push em `master` que toque em `app/`, `mobile/` ou `scripts/sync-html.mjs`
- **Manual:** botão "Run workflow" no painel Forgejo Actions
## Output
Cada build gera:
- APK assinado: `Shivao-v{X.Y.Z}.apk`
- AAB assinado: `Shivao-v{X.Y.Z}.aab`
- Anexados como artifact (download via UI Forgejo)
- Se trigger for manual: cria release `v{X.Y.Z}-ci` no repo
## Vantagens vs build local
- ✅ Zero setup local — Karlão pode editar HTML do iPad e o build roda no servidor
- ✅ Imutável e reproduzível
- ✅ Self-hosted (alinhado com `feedback_self_hosted.md`)
- ✅ Logs centralizados
- ⚠️ Custo: 1 container Coolify rodando (low-resource, ~50MB RAM idle)
## Alternativas se runner não funcionar
- **Codemagic:** 500min grátis/mês, conecta ao Forgejo via webhook
- **GitHub Actions (free tier):** mirror do repo no GitHub → workflow padrão
- **Build local:** `cd mobile && npm run android:build:aab` (já documentado em mobile/README.md)