O problema
O CLAUDE.md manda rodar make check antes de commitar, mas o alvo falha. make pint e make format também.
pint:
@export XDEBUG_MODE=off # morre aqui, não alcança a linha de baixo
@$(CURDIR)/vendor/bin/pint --parallel
@unset XDEBUG_MODE # e esta linha derruba o target
Cada linha de receita do make roda no próprio shell, então o export nunca teve efeito nenhum sobre o Pint. E o unset quebra: o make executa a linha direto, sem shell, e unset é builtin e não binário, então dá make: unset: No such file or directory e Error 1.
Reproduz mesmo com a sintaxe correta (unset XDEBUG_MODE, sem o =off). O =off sobrando no test-pint é só um segundo erro na mesma linha, não a causa.
Segundo motivo de falha no make check
O alvo test-phpstan não tem o --memory-limit=2G que o alvo phpstan tem, então estoura os 128M padrão do PHP CLI e morre com fatal de memória. São duas causas independentes derrubando o mesmo comando.
Por que o CI não pega
Os workflows chamam vendor/bin/pint, vendor/bin/phpstan e vendor/bin/pest direto, nenhum passa pelo Makefile. O pipeline segue verde com o gate local quebrado. Vale discutir se o CI deveria consumir os mesmos alvos, pra não existirem duas definições de "checar o projeto" que voltam a divergir.
Também pega junto
O help do env-down está como "Start the development environment", cópia do env-up.
Critérios de aceite
Ponto em aberto
O env-down roda --rmi all --volumes, o que apaga o banco de desenvolvimento e remove as imagens. Quem digita make env-down esperando só parar os containers perde o Postgres local. Se não for intencional, a proposta é env-down virar um down puro e o comportamento atual migrar pra um env-destroy.
O problema
O
CLAUDE.mdmanda rodarmake checkantes de commitar, mas o alvo falha.make pintemake formattambém.Cada linha de receita do make roda no próprio shell, então o
exportnunca teve efeito nenhum sobre o Pint. E ounsetquebra: o make executa a linha direto, sem shell, eunseté builtin e não binário, então dámake: unset: No such file or directoryeError 1.Reproduz mesmo com a sintaxe correta (
unset XDEBUG_MODE, sem o=off). O=offsobrando notest-pinté só um segundo erro na mesma linha, não a causa.Segundo motivo de falha no
make checkO alvo
test-phpstannão tem o--memory-limit=2Gque o alvophpstantem, então estoura os 128M padrão do PHP CLI e morre com fatal de memória. São duas causas independentes derrubando o mesmo comando.Por que o CI não pega
Os workflows chamam
vendor/bin/pint,vendor/bin/phpstanevendor/bin/pestdireto, nenhum passa pelo Makefile. O pipeline segue verde com o gate local quebrado. Vale discutir se o CI deveria consumir os mesmos alvos, pra não existirem duas definições de "checar o projeto" que voltam a divergir.Também pega junto
O help do
env-downestá como "Start the development environment", cópia doenv-up.Critérios de aceite
make checksai com 0make pintemake formatsaem com 0make test-phpstanroda sem estourar memóriaXDEBUG_MODE=offde fato aplicado na chamada do Pintenv-downcorrigidoPonto em aberto
O
env-downroda--rmi all --volumes, o que apaga o banco de desenvolvimento e remove as imagens. Quem digitamake env-downesperando só parar os containers perde o Postgres local. Se não for intencional, a proposta éenv-downvirar umdownpuro e o comportamento atual migrar pra umenv-destroy.