Skip to content

docs: a VPS vira o caminho principal do README, e a 1.2.0 ganha changelog para ser cortada #497

docs: a VPS vira o caminho principal do README, e a 1.2.0 ganha changelog para ser cortada

docs: a VPS vira o caminho principal do README, e a 1.2.0 ganha changelog para ser cortada #497

Workflow file for this run

name: ci
on:
pull_request:
push:
branches: [main]
jobs:
verify:
runs-on: ubuntu-latest
timeout-minutes: 15
steps:
- uses: actions/checkout@v7
- uses: pnpm/action-setup@v6
- uses: actions/setup-node@v7
with:
node-version: 22
cache: pnpm
- run: pnpm install --frozen-lockfile
- name: Typecheck
run: pnpm typecheck
- name: Lint
run: pnpm lint
# Invariante 1 de docs/doctrine/restricao-de-canal.md: nenhuma feature
# nomeia um provider. Step próprio (e não só dentro de `gov:verify`)
# porque é o CI que gateia PR — `gov:verify` não é invocado por nenhum
# workflow, e mecanismo que não roda no gate não protege nada.
- name: Channel provider leak
run: pnpm lint:channels
- name: Unit tests
run: pnpm test:unit
# Scripts do kit self-host num repo git descartável (docker/crontab
# dublados). É o único gate que exercita o update.sh — um erro aqui
# rebobina a instalação de quem hospeda, e nenhum teste TS o veria.
#
# Desde 2026-08-08 inclui `hostgator-setup-kit/test-validators.sh`, os 163
# casos que cobrem o install.sh. Eles existiam e NÃO rodavam em job nenhum
# (issue #191): dois defeitos que tornavam a instalação impossível —
# escolher OpenRouter travava o instalador num laço, escolher OpenAI
# deixava o .env pela metade — passaram por todos os checks verdes. 15s.
- name: Kit self-host (bash)
run: pnpm test:shell
# Gate de isolamento multi-tenant + invariantes de governança.
# Job separado de propósito: roda em paralelo ao verify (não atrasa o feedback
# rápido) e vira um check nomeado, que é o que a doutrina de RLS exige provar.
# scripts/test-db.sh sobe pgvector/pgvector:pg17, aplica supabase/baseline.sql
# em modo install (ON_ERROR_STOP=1) e update (idempotência), e roda
# tests/invariants/** contra ele. Invocar via `pnpm test:db` é o que põe
# node_modules/.bin no PATH que o script herda para chamar `vitest`.
invariants:
runs-on: ubuntu-latest
timeout-minutes: 20
steps:
- uses: actions/checkout@v7
- uses: pnpm/action-setup@v6
- uses: actions/setup-node@v7
with:
node-version: 22
cache: pnpm
- run: pnpm install --frozen-lockfile
- name: RLS isolation + governance invariants
run: pnpm test:db