bitrix24-php-sdk
bitrix24-php-sdk copied to clipboard
Добавить в GitHub Actions поддержку запуска интеграционных тестов
Проблема
- Интеграционные тесты работают с production-версией портала, запускаются с машины разработчика по порталу который принадлежит разработчику.
- Вендор не имеет информации о том, что «поломал» контракты в API
требования
- Запуск тестов при сборках релизов
- Запуск тестов при раскатке новой версии Битрикс24 на тестовое окружение для которого запускаются тесты.
- Сохранение артефактов теста
Предлагаемое решение
- [x] занести запуск интеграционных тестов в пайплайн GitHubActions
- [x] интеграционные тесты запускать для ветки dev (предрелизная сборка) или выделить отдельную ветку test
- [x] развернуть отдельный портал bitix24-php-sdk-tests.bitrix24.ru и запросить на него NFR
- [x] посмотреть, можно ли входящий хук для портала отдавать из переменных окружения (секретов)
- [ ] посмотреть, как можно отдавать результаты работы тестов в виде артефакта, который будет отправляться вендору, если тесты упали.
- [ ] обновить документацию с пояснениями как теперь будет организовано интеграционное тестирование
http://a.e42.link/jmO5Y
Результаты предварительных изысканий:
Минимальный набор
- прогнали тесты
- результаты забрали из 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
- Добавили в пайплайн qodana guthub actions
- настроили
- ...
- PROFIT
https://docs.github.com/en/actions/advanced-guides/storing-workflow-data-as-artifacts
event type
run_vendor_integration_tests