Skip to content

chore(makefile): make check, make pint e make format estão quebrados #471

Description

@sirelves

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

  • make check sai com 0
  • make pint e make format saem com 0
  • make test-phpstan roda sem estourar memória
  • XDEBUG_MODE=off de fato aplicado na chamada do Pint
  • Help do env-down corrigido

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.

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions