Я не думаю, что фильтрация ветвей для заданий возможна.Это относится ко всему рабочему процессу.Поэтому я думаю, что вы правы, решение состоит в том, чтобы иметь два рабочих процесса.
Первый рабочий процесс запускается для каждой ветви, кроме master
.В этом рабочем процессе вы запускаете только тесты.
on:
push:
branches:
- '*'
- '!master'
Второй рабочий процесс запускается всего за master
, запускает как ваши тесты, так и развертывается, если тесты были успешно пройдены.
on:
push:
branches:
- master
К сожалению,это означает, что ваши шаги тестирования будут дублироваться в обоих рабочих процессах.Насколько мне известно, в GitHub Actions нет способа делиться общими заданиями и шагами между рабочими процессами, такими как, например, сферы CircleCI.Скорее всего, это будет функция, которую они добавят в будущем, когда она станет более зрелой.