Precisamos de um script de CI comum para executar todos os testes de CI, de modo que, se houver uma pequena alteração ou uma nova verificação for adicionada / removida, não precisamos atualizar todos os repositórios com a pequena alteração.
Leia mais: https://github.com/openwisp/openwisp-utils/pull/37#issuecomment -461733269
Esses são todos os scripts que devem ser executados?
checkcommit
runcheckendline
runcheckmigration
runflake8
runisort
No entanto, algumas dessas verificações não se aplicam a todos os repositórios, como você resolveria isso?
Por exemplo, runcheckmigration
não se aplicaria realmente em openwisp-website
, mas checkcommit
e runcheckendline
ainda devem ser executados.
@dwang estou pensando em variável de linha de comando, por padrão, todas as tarefas serão executadas,
No entanto, se eu quiser evitar runcheckmigration
, posso simplesmente fazer --no-runcheckmigration
para evitar a execução desse script, o que você acha disso? :sorriso:
Parece bom para mim!
@ atb00ker isso parece ótimo! você está trabalhando nisso?
Não. Atualmente não estou trabalhando nisso. :sorriso:
ok, estou trabalhando nisso agora
@ atb00ker em que ordem os scripts devem ser executados?
Vejo que checkcommit
e runcheckendline
devem ser executados em cada repo.
Vou pegar no máximo 3 argumentos
Os testes não dependem uns dos outros, portanto a ordem não importa.
Você pode verificar o arquivo .travis.yml
em cada repositório para verificar quais testes estão sendo executados naquele repositório específico.
Verifique o mesmo para os seguintes repositórios:
- django-ipam
- openwisp-ipam
- django-freeradius
- openwisp-freeradius
- openwisp-users
- openwisp-utils
- openwisp-config
- openwisp-controller
- django-loci
- django-netjsonconfig
- django-x509
@ atb00ker vejo que o arquivo .travis.yml em cada repositório é dividido em 3 partes
./runflake8
, ./runisort
, ./runcheckmigration
etc são chamadoscheckcommit
é executado aqui e o teste específico do repositório, ou seja, jshint, ./runtest, coverage
etc, são chamados.pip install openwisp-utils[qa]>=0.2.1
em openwisp-configpip install https://github.com/openwisp/openwisp-utils/tarball/master
no site OpenWISPpip install https://github.com/openwisp/openwisp-utils/tarball/master#egg=openwisp_utils --upgrade
em usuários openwisppip install -U https://github.com/openwisp/openwisp-utils/tarball/master
em django-freeradiuspip install --user https://github.com/openwisp/openwisp-utils/tarball/master
em ansible-openwispalguns têm a linha em requirements-test.txt também uma cópia dos arquivos de teste presentes no repositório. Estou pensando em incluir o comando de instalação para openwisp-utils
algumas preocupações:
por favor, deixe-me saber sua opinião sobre isso :)
@ ankit-kumar-dwivedi não execute scripts "before_install" na seção "scripts". Estou tentando explicar o porquê (correção apreciada) -
A execução de alguns scripts antes pode ser necessária para executar os scripts principais corretamente.
& Se qualquer "before_script" ou "after_script" falhar, isso não afetará o "status" geral da construção.
"Por exemplo, runcheckmigration não se aplicaria realmente no openwisp-website, mas checkcommit e runcheckendline ainda devem ser executados."
Acho que precisamos adicionar variável para excluir repositório. @dwang
@ ankit-kumar-dwivedi
Fechado por # 45