Conn2Flow
Navegação das docs

SDD

req-156: Eliminação da recompilação redundante de recursos Tailwind no pipeline de CI/CD de Release

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…

  • 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.php

Impactos Medidos:

  1. 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.

  2. 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.

  3. 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)

  1. Remover a etapa de recompilação: Deletar do workflow a etapa Generate resources and per-resource Tailwind CSS e a etapa Commit Resources Updates.

  2. 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 pacote gestor.zip.

2.2 Verificação nos demais Workflows (release-instalador.yml)

  1. Garantir que .github/workflows/release-instalador.yml mantenha 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 CSS e Commit Resources Updates removidas 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 -l se aplicável, validação de YAML) passando 100% sem erros.

  • [ ] Suítes de testes local (composer test e npm run test) permanecem íntegras.

O Futuro é Híbrido: Humano + IA.

O Conn2Flow é a ferramenta. Se você precisa do Arquiteto para desenhar a estratégia da sua empresa usando essa tecnologia...

Contrate Consultoria Especializada