Valcilio / api-crypto-figma

This repository contains code to the financial market asserts dashboard.
GNU General Public License v3.0
0 stars 0 forks source link

Adicionar etapa de testes na esteira de CI/CD #10

Closed FernandesMF closed 2 years ago

FernandesMF commented 2 years ago

Hey Valcilio!

Vou fazer algumas sugestões aqui pelas issues. Fica à vontade pra me pedir pra explicar melhor, se ficar confuso, e também pra só ignorar elas caso vc veja que elas não agregam muito no projeto! Rs

A primeira delas a gente falou rapidamente hoje durante nossa conversa, de rodar os testes automaticamente antes do passo de deploy. Pra isso, é só adicionar um passo anterior que roda o mesmo comando que vc usa manualmente pra chamar o pytest lá no yaml da sua action:

 - name: Run tests
   run: <seu comando do pytest>

Quando vc fizer isso, a VM que tá executando vai chamar o pytest, então vai precisar instalar ele durante o setup.

Um outro ponto pra verificar é se o fluxo de CI/CD para quando algum teste tá quebrando (afinal, é pra abortar o deploy caso tenha algo de errado). Pra verificar se essa estratégia de chamar o pytest tá fucnionando, cria um teste que quebra sempre e olha se a action quebra. Se isso não acontecer, a gente pensa em uma outra forma de resolver.

Valcilio commented 2 years ago

Boa, vou trabalhar para adicionar isso agora mesmo!

Valcilio commented 2 years ago

Consegui adicionar @FernandesMF, mas adicionei na imagem docker, pois todas as libs e o python ficam internamente nela, então não teria muito sentido e mesmo se tivesse, acredito que não iria dar muito certo, aí quando está fazendo a build, já faz logo a validação do código com os testes unitários.

Infelizmente, um dos testes (o teste do modelo especificamente) está dando algum problema (?) não sei o motivo disso, estou usando docker e na minha máquina dá tudo certinho quando eu faço a build e o container, passa em todos os testes, mas aqui no github o resultado é diferente mesmo todo o código sendo exatamente igual é bem estranho, vou revisar isso e resolver após finalizar o dashboard.

Valeu pela ajuda!