В итоге пришлось воспользоваться вебхукой.
По какой-то причине, если я использую регулярное выражение, переменная окружения
$GIT_BRANCH будто содержит неактуальный матч ( почему-то ветка предыдущей сборки джобы). И судя по всему, триггер на изменение в SCM бесконечно срабатывает.
При использовании вебхуки мне доступна переменная окружения $gitlabBranch, а сама регулярка уже прописывается в настройках вебхуки джобы.
также на всякий случай в shell-скрипте, котрый запускаю в рамках конкретной джобы, делаю проверку на наличие $gitlabBranch
if [ -n "${gitlabBranch}" ]; then
echo "gitlabBranch is set ${gitlabBranch}"
else
echo "gitlabBranch isn't set"
exit 1
fi
это понадобилось для того, чтобы джоба не продолжала сборку, если $gitlabBranch отсутствует (например если запустить её в ручную). Раньше (когда я думал, что все работало и так) при ручной сборке просто запускалась сборка последней совпавшей по регулярке ветки. Если разберусь, в чем дело и где я допустил ошибку - поделюсь.