Выбор ответа Middle CI: пайплайны и артефакты обновлено

concurrency в GitHub Actions

Вопрос

Разработчик пушит в ветку PR пять раз за минуту, и запускается пять одинаковых долгих пайплайнов. Что поможет?

Попробуйте сами

Выберите вариант, и откроется разбор.

Показать ответ и разбор

Коротко

Правильный ответ: concurrency с группой по ветке и cancel-in-progress: true. concurrency объединяет запуски в группу, а cancel-in-progress отменяет устаревший запуск при новом.

Варианты ответа

  1. concurrency с группой по ветке и cancel-in-progress: trueправильный ответ
  2. strategy.matrix с одним элементом, чтобы запуск не дублировался
  3. timeout-minutes: 1, чтобы лишние запуски быстро завершались
  4. runs-on: self-hosted, чтобы запуски шли по очереди на одном раннере

Разбор

concurrency объединяет запуски в группу, а cancel-in-progress отменяет устаревший запуск при новом. Матрица отвечает за набор комбинаций параметров, таймаут убьёт и нужный запуск, а свой раннер не уменьшит число запусков.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.