Только запустить определенный этап, если другой не удалось? - PullRequest
0 голосов
/ 24 апреля 2020

Я пишу интеграционные тесты для относительно сложного программного обеспечения. Я пытаюсь сэкономить время CI и недавно понял, что в случае успеха одного конкретного интеграционного теста мне не нужно запускать системные тесты для каждого модуля: у меня есть доказательство того, что проект работает при определенных обстоятельствах. Мне нужен только другой этап с тестами подсистемы, если основной тест интеграции не удался. Есть ли способ написать это в CI Gitlab? Нечто подобное (псевдокод):

stages:
  - main_test
  - optional_system_tests

main_test:
  stage: main_test
  (...)

subsystem_test1:
  stage: optional_system_tests
  skipIf: stage_succeeded(main_test)

subsystem_test2:
  stage: optional_system_tests
  skipIf: stage_succeeded(main_test)
...