-
Status do intake: ready-for-intake
-
Data: 2026-09-02
-
Origem: diretiva do Engenheiro Chefe — eliminação de retrabalho inútil de compilação CSS no GitHub Actions
-
Classificação: DevOps, otimização de CI/CD, governança de build
-
Batch: BATCH-159
1. O Sintoma e o Problema
No fluxo de publicação de releases do Gestor (./c2f manager:release), o script roda localmente no computador do desenvolvedor, compilando todos os recursos Tailwind, gerando o manifesto .tailwind-build-manifest.json, empacotando os arquivos Data.json e criando o commit/tag do release.
No entanto, a esteira remota do GitHub Actions (.github/workflows/release-gestor.yml) continha uma etapa adicional:
- name: Generate resources and per-resource Tailwind CSS
run: |
php gestor/controladores/agents/arquitetura/atualizacao-dados-recursos.phpImpactos Medidos:
-
Perda de Cache por Diferença de Ambiente: Como o fingerprint do cache de compilação do Tailwind v4 inclui o identificador/caminho da CLI do Tailwind, o ambiente Linux do GitHub Actions desconsiderava o cache pré-compilado no Windows, invalidando os 237 recursos e recompilando todos do zero na nuvem.
-
Incoerência de Validação: Os testes do CI (
PHPUnit,Vitest,Playwright) devem testar exatamente o artefato derivado e pré-compilado em desenvolvimento. Recompilar recursos na nuvem após os testes criava o risco de produzir um artefato não testado. -
Consumo Desnecessário de Tempo e CPU: Adicionava tempo desnecessário e mensagens de log repetitivas na execução da action no GitHub.
2. A Solução Especificada
2.1 Ajustes no Workflow de Release (.github/workflows/release-gestor.yml)
-
Remover a etapa de recompilação: Deletar do workflow a etapa
Generate resources and per-resource Tailwind CSSe a etapaCommit Resources Updates. -
Garantir empacotamento direto do artefato pré-compilado: O estágio de release deve utilizar diretamente os arquivos commitados no repositório (
gestor/db/data/*.json,gestor/assets/, etc.) para a remoção dos arquivos-fonte de autoria (rm -rf gestor/resources/) e criação do pacotegestor.zip.
2.2 Verificação nos demais Workflows (release-instalador.yml)
-
Garantir que
.github/workflows/release-instalador.ymlmantenha o mesmo padrão enxugado sem chamadas redundantes a compiladores de recursos.
3. Critérios de Aceite para o Agente Executor
-
[ ] Etapas
Generate resources and per-resource Tailwind CSSeCommit Resources Updatesremovidas de.github/workflows/release-gestor.yml. -
[ ] O workflow de release no GitHub Actions consome diretamente os artefatos pré-compilados commitados pelo release local.
-
[ ] Testes de sintaxe e validação de workflows do GitHub Actions (
php -lse aplicável, validação de YAML) passando 100% sem erros. -
[ ] Suítes de testes local (
composer testenpm run test) permanecem íntegras.