bitrix24-php-sdk icon indicating copy to clipboard operation
bitrix24-php-sdk copied to clipboard

Добавить в GitHub Actions поддержку запуска интеграционных тестов

Open mesilov opened this issue 4 years ago • 4 comments

Проблема

  1. Интеграционные тесты работают с production-версией портала, запускаются с машины разработчика по порталу который принадлежит разработчику.
  2. Вендор не имеет информации о том, что «поломал» контракты в API

требования

  1. Запуск тестов при сборках релизов
  2. Запуск тестов при раскатке новой версии Битрикс24 на тестовое окружение для которого запускаются тесты.
  3. Сохранение артефактов теста

Предлагаемое решение

  • [x] занести запуск интеграционных тестов в пайплайн GitHubActions
  • [x] интеграционные тесты запускать для ветки dev (предрелизная сборка) или выделить отдельную ветку test
  • [x] развернуть отдельный портал bitix24-php-sdk-tests.bitrix24.ru и запросить на него NFR
  • [x] посмотреть, можно ли входящий хук для портала отдавать из переменных окружения (секретов)
  • [ ] посмотреть, как можно отдавать результаты работы тестов в виде артефакта, который будет отправляться вендору, если тесты упали.
  • [ ] обновить документацию с пояснениями как теперь будет организовано интеграционное тестирование

mesilov avatar Dec 04 '21 09:12 mesilov

http://a.e42.link/jmO5Y

mesilov avatar Jan 27 '22 10:01 mesilov

Результаты предварительных изысканий:

Минимальный набор

  • прогнали тесты
  • результаты забрали из STDIN
  • в случае фейла кинули в нужный эндпоинт всё скриптуем на githubactions

Публикация результатов на github pages

  • прогнали тесты
  • результаты забрали из STDIN
  • конвертнули в человекочитаемый вид
  • опубликовали на githubpages
  • дёрнули ручку и сообщили всем, кому следует
phpunit:
  stage: test
  script:
    - composer install
    - vendor/bin/phpunit --log-junit report.xml
  artifacts:
    when: always
    reports:
      junit: report.xml

Попробовали завести qodana

  1. Добавили в пайплайн qodana guthub actions
  2. настроили
  3. ...
  4. PROFIT

mesilov avatar Feb 02 '22 10:02 mesilov

https://docs.github.com/en/actions/advanced-guides/storing-workflow-data-as-artifacts

mesilov avatar Feb 06 '22 08:02 mesilov

event type run_vendor_integration_tests

mesilov avatar Feb 06 '22 20:02 mesilov