Вступить в клуб →
средняявопросСборка, релиз и стабильность

Пайплайн выкладывает сборку при упавших тестах: найдите причину в конфигурации

Конфигурация пайплайна:

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 не описаны зависимости от предыдущих этапов, поэтому она стартует параллельно со сборкой и не ждёт результата тестов
  • Сборка релиза идёт до тестов, из-за чего собранный артефакт считается невалидным

🔒 Проверка ответа — для участников клуба

  • Проверка ответа
  • Подсказка, если застряли
  • Разбор с объяснением, почему так
  • Прогресс по всем задачам и виртуальные собеседования
Зарегистрироваться →

Регистрация занимает минуту

Другие задачи раздела