Пайплайн выкладывает сборку при упавших тестах: найдите причину в конфигурации
Конфигурация пайплайна:
stages:
- build
- test
- deploy
build_apk:
stage: build
script:
- ./gradlew assembleRelease
unit_tests:
stage: test
script:
- ./gradlew test
allow_failure: true
publish:
stage: deploy
script:
- fastlane deploy
Команда обнаружила, что в бета-канал уехала сборка, у которой падали 12 unit-тестов.
Что здесь не так?
- Этапы перечислены в неверном порядке: deploy должен идти перед test
- У задачи unit_tests стоит allow_failure: true — красные тесты не останавливают пайплайн, и следующий этап всё равно выкладывает сборку
- У задачи publish не описаны зависимости от предыдущих этапов, поэтому она стартует параллельно со сборкой и не ждёт результата тестов
- Сборка релиза идёт до тестов, из-за чего собранный артефакт считается невалидным
