Openwisp-utils: [enchancement] Script CI comum

Criado em 13 fev. 2019  ·  13Comentários  ·  Fonte: openwisp/openwisp-utils

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

testing

Todos 13 comentários

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

  • before_install: aqui ./runflake8 , ./runisort , ./runcheckmigration etc são chamados
  • instalar: aqui estão todos os comandos de instalação ...
  • script: checkcommit é executado aqui e o teste específico do repositório, ou seja, jshint, ./runtest, coverage etc, são chamados.

Além disso, existem diferentes comandos em cada .travis.yml para instalar openwisp-utils

  • pip install openwisp-utils[qa]>=0.2.1 em openwisp-config
  • pip install https://github.com/openwisp/openwisp-utils/tarball/master no site OpenWISP
  • pip install https://github.com/openwisp/openwisp-utils/tarball/master#egg=openwisp_utils --upgrade em usuários openwisp
  • pip install -U https://github.com/openwisp/openwisp-utils/tarball/master em django-freeradius
  • pip install --user https://github.com/openwisp/openwisp-utils/tarball/master em ansible-openwisp

alguns 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:

  1. Haverá algum problema em executar o teste apenas na seção de script? e não before_install (consulte https://github.com/openwisp/django-ipam/blob/master/.travis.yml)
  2. Eu considero os argumentos como --no testname1 testname2 testname2 ..... está bem?

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

  1. Sim, os testes de CI também podem ser executados após outros testes, então, desde que funcione, não vejo nenhum problema. :sorriso:
  2. Sim, parece bom. Se algo estiver pronto, você pode fazer uma solicitação pull [Trabalho em andamento] para que possamos dar uma olhada enquanto você trabalha nisso?
    Obrigado. :sorriso:

Fechado por # 45

Esta página foi útil?
0 / 5 - 0 avaliações