ajuste no header e organizaco de elementos, e ajuste no footer
tests / ci (push) Canceled after 0s

This commit is contained in:
2026-10-20 11:39:25 +02:00
parent a128c5a1b8
commit 97a08df2a0
33 changed files with 2272 additions and 166 deletions
+36 -1
View File
@@ -22,14 +22,49 @@ composer run dev
Abra http://127.0.0.1:8000. O comando inicia Laravel, o worker da fila e Vite.
Use Ctrl+C para terminar. A base conserva os dados entre arranques.
`composer run dev` aguarda até 900 segundos se o PostgreSQL estiver indisponível
ou em recuperação. Mostra o motivo e o progresso, sem revelar credenciais.
Erros de autenticação ou de base inexistente interrompem o arranque imediatamente.
O diagnóstico directo `php artisan portal:dev-check` continua sem espera;
use `--wait=900` para aguardar. O comando não inicia Docker nem executa migrations.
O script de arranque executa estes passos, parando no primeiro erro:
```powershell
docker compose --env-file .env -f deploy/local/compose.yaml up -d --wait
docker compose --env-file .env -f deploy/local/compose.yaml up -d --wait --wait-timeout 900
php tools/local-qa-bootstrap.php
composer run dev
```
O `start.ps1` usa `--wait-timeout 900`. O healthcheck admite 600 segundos de
arranque antes de contar falhas e reconhece imediatamente um servidor pronto.
O Compose concede 60 segundos para um encerramento normal do PostgreSQL.
### PostgreSQL em recuperação
Em 20/10/2026, os registos mostraram um encerramento incorrecto seguido de
recuperação entre 09:59 e 10:07 (Africa/Johannesburg). Durante esse período,
o servidor recusava ligações com `the database system is in recovery mode`.
O teste anterior ocultava a causa e terminava na primeira falha.
Se voltar a acontecer, deixe a recuperação concluir e consulte:
```powershell
docker compose --env-file .env -f deploy/local/compose.yaml ps -a
docker compose --env-file .env -f deploy/local/compose.yaml logs --tail 40 postgres
php artisan portal:dev-check --wait=900
```
Se o contentor estiver parado, execute `./deploy/local/start.ps1` com Docker
Desktop iniciado. Não remova o volume nem reinicie repetidamente durante a
recuperação. Para parar a base normalmente, use
`docker compose --env-file .env -f deploy/local/compose.yaml stop postgres`
antes de encerrar Docker Desktop ou o computador.
A espera, os diagnósticos e estes prazos são escolhas técnicas para a correcção
solicitada em 20/10/2026, sob as decisões Tempo de AGENTS.md; não criam regras
de negócio nem alteram dados activos.
O preparador verifica configuração e identidade real da base antes de migrar.
Só admite `investmoz_local_test`, TCP local e porta real 55441, sem DB_URL nem
configuração em cache. Executa migrations em `testing`, como exigem as guardas
+2
View File
@@ -4,6 +4,7 @@ services:
image: postgis/postgis:17-3.5
command: ['postgres', '-p', '55441']
restart: unless-stopped
stop_grace_period: 60s
environment:
POSTGRES_DB: investmoz_local_test
POSTGRES_USER: investmoz_test
@@ -16,6 +17,7 @@ services:
test: ['CMD-SHELL', 'pg_isready -p 55441 -U investmoz_test -d investmoz_local_test']
interval: 5s
timeout: 5s
start_period: 600s
retries: 20
volumes:
postgres-qa:
+1 -1
View File
@@ -2,7 +2,7 @@ $ErrorActionPreference = 'Stop'
$projectRoot = (Resolve-Path (Join-Path $PSScriptRoot '../..')).Path
Push-Location $projectRoot
try {
docker compose --progress plain --env-file .env -f deploy/local/compose.yaml up -d --wait --wait-timeout 120
docker compose --progress plain --env-file .env -f deploy/local/compose.yaml up -d --wait --wait-timeout 900
if ($LASTEXITCODE -ne 0) { throw 'Inicie Docker Desktop e verifique o serviço PostgreSQL QA.' }
php tools/local-qa-bootstrap.php
if ($LASTEXITCODE -ne 0) { throw 'Preparação QA interrompida; veja a mensagem acima.' }