Epic_1_Sprint_1 Set up Github - robbiemu/aclarai GitHub Wiki
Tarefa: Configurar GitHub e GitHub Actions para CI do Monorepo
Descrição
Configurar o repositório GitHub do monorepo para o projeto aclarai e implementar GitHub Actions para integração contínua (CI), garantindo que todos os merges para a branch main
passem por verificações automatizadas que cobrem todos os serviços do monorepo.
Escopo
Incluído
- Criação do repositório GitHub para o projeto aclarai (agora um monorepo único)
- Configuração de proteção da branch
main
para exigir revisões de código - Implementação de workflows de GitHub Actions para:
- Verificação de linting e formatação de código para todos os serviços Python
- Execução de testes unitários para todos os serviços
- Verificação de segurança básica
- Validação de build do Docker para todas as imagens de serviço
- Documentação do processo de CI para a equipe
Excluído
- Configuração de CD (Continuous Deployment)
- Integração com ferramentas de análise de código externas
- Configuração de ambientes de teste ou produção
- Implementação de testes de integração complexos entre serviços (foco inicial é no nível de código)
Critérios de Aceitação
- Repositório GitHub criado com estrutura básica de diretórios de monorepo
- Branch
main
protegida, exigindo pelo menos uma aprovação para merge - Workflow de GitHub Actions configurado e funcionando para verificações básicas em todos os serviços
- Todos os membros da equipe têm acesso apropriado ao repositório
- Documentação clara sobre o processo de CI disponível no README
Dependências
- Acesso administrativo à organização GitHub
- Definição da estrutura básica do projeto (agora como monorepo)
- Decisões sobre padrões de código e ferramentas de linting
Entregáveis
- Repositório GitHub configurado
- Arquivos de workflow do GitHub Actions (
.github/workflows/
) - Documentação do processo de CI no README
- Relatório de verificação do funcionamento do CI
Estimativa de Esforço
- 1 dia de trabalho
Riscos e Mitigações
- Risco: Configuração inadequada de CI pode atrasar o desenvolvimento
- Mitigação: Começar com verificações básicas e expandir gradualmente
- Risco: Falsos positivos em verificações automatizadas
- Mitigação: Testar workflows localmente antes de implementar
- Risco: Resistência da equipe ao processo de CI
- Mitigação: Documentar claramente os benefícios e fornecer treinamento
Notas Técnicas
- Considerar o uso de GitHub Actions pré-configuradas para Docker e Python.
- Implementar cache de dependências para acelerar os workflows (particularmente importante em monorepos).
- Configurar notificações apropriadas para falhas de CI.
- Considerar a implementação de badges de status no README.
- Prever futuras otimizações de CI para monorepos, como gatilhos baseados em caminhos (
paths-ignore
,paths
) para evitar execuções desnecessárias em Pull Requests que afetam apenas um subdiretório específico. Essa otimização não é para este sprint, mas é uma consideração importante para a performance futura.