Openwisp-utils: [enchancement] Общий сценарий CI

Созданный на 13 февр. 2019  ·  13Комментарии  ·  Источник: openwisp/openwisp-utils

Нам нужен общий сценарий CI для запуска всех тестов CI, поэтому, если есть незначительные изменения или добавляется / удаляется новая проверка, нам не нужно обновлять все репозитории с незначительными изменениями.

Подробнее: https://github.com/openwisp/openwisp-utils/pull/37#issuecomment -461733269

Все 13 Комментарий

Это все сценарии, которые нужно запускать?

  • checkcommit
  • runcheckendline
  • runcheckmigration
  • runflake8
  • runisort

Однако некоторые из этих проверок применимы не ко всем репозиториям, как бы вы это разрешили?
Например, runcheckmigration самом деле не будет применяться в openwisp-website , но checkcommit и runcheckendline все равно должны выполняться.

@dwang Я думаю о переменной командной строки, по умолчанию все задачи будут выполняться,
Однако, если я хочу избежать runcheckmigration , я могу просто сделать --no-runcheckmigration чтобы избежать запуска этого сценария, что вы думаете об этом? :улыбка:

Звучит неплохо!

@ atb00ker, это здорово! ты работаешь над этим?

Нет. В настоящее время я не работаю над этим. :улыбка:

хорошо, я работаю над этим сейчас

@ atb00ker, в каком порядке должны запускаться скрипты?
Я вижу, что checkcommit и runcheckendline должны запускаться при каждом репо.
Итак, я возьму максимум 3 аргумента.

Тесты не зависят друг от друга, поэтому порядок не имеет значения.
Вы можете проверить файл .travis.yml в каждом репозитории, чтобы проверить, какие тесты выполняются в этом конкретном репозитории.
Оформить заказ так же для следующих репозиториев:

- django-ipam
- openwisp-ipam
- django-freeradius
- openwisp-freeradius
- openwisp-users
- openwisp-utils
- openwisp-config
- openwisp-controller
- django-loci
- django-netjsonconfig
- django-x509

@ atb00ker Я вижу, что файл .travis.yml в каждом репозитории разделен на 3 части

  • before_install: здесь ./runflake8 , ./runisort , ./runcheckmigration т. д.
  • install: вот все команды установки ...
  • скрипт: здесь запускается checkcommit и вызывается специфичный для репозитория тест, т.е. jshint, ./runtest, coverage т. д.

Также в каждом .travis.yml есть разные команды для установки openwisp-utils.

  • pip install openwisp-utils[qa]>=0.2.1 в openwisp-config
  • pip install https://github.com/openwisp/openwisp-utils/tarball/master на OpenWISP-сайте
  • pip install https://github.com/openwisp/openwisp-utils/tarball/master#egg=openwisp_utils --upgrade в openwisp-users
  • pip install -U https://github.com/openwisp/openwisp-utils/tarball/master в django-freeradius
  • pip install --user https://github.com/openwisp/openwisp-utils/tarball/master в ansible-openwisp

у некоторых есть строка в requirements-test.txt, а также копия тестовых файлов, присутствующих в репозитории, я думаю включить команду установки для openwisp-utils

несколько проблем:

  1. Можно ли запускать тест только в разделе скриптов? а не before_install (см. https://github.com/openwisp/django-ipam/blob/master/.travis.yml)
  2. Я принимаю аргументы как --no testname1 testname2 testname2 ..... все в порядке?

пожалуйста, дайте мне знать ваше мнение по этому поводу :)

@ ankit-kumar-dwivedi не запускает сценарии "before_install" в разделе "сценарии". Вот я пытаюсь объяснить, почему (исправление приветствуется) -

Выполнение некоторых сценариев до того, как может потребоваться для правильного запуска основных сценариев.
& Если какой-либо сценарий "before_script" или "after_script" не работает, это не влияет на общий "статус" сборки.

«Например, runcheckmigration на самом деле не применима к openwisp-website, но checkcommit и runcheckendline все равно должны выполняться».
Я думаю, нам нужно добавить переменную для исключения репозитория. @ригель

@ ankit-kumar-dwivedi

  1. Да, тесты CI могут запускаться и после других тестов, поэтому, пока он работает, я не вижу проблемы. :улыбка:
  2. Ага, выглядит хорошо. Если что-то готово, не могли бы вы сделать пул-реквест [Работа в процессе], чтобы мы могли посмотреть, пока вы над этим работаете?
    Спасибо. :улыбка:

Закрыл # 45

Была ли эта страница полезной?
0 / 5 - 0 рейтинги