К сожалению, на самом деле, механизм конвейера запросов на получение запросов работает на основе исходной ветви, а не на целевой ветви.
Это объясняется на проблеме с их трекером, добавляющим функцию pull-request
одним изчлен команды:
Шаблон ветвления при запросах на получение определяет ветвь источника.Это сделано для того, чтобы вы могли запустить другой конвейер в зависимости от исправления.Например, у вас может быть другой набор тестов для ветвей функций и ветвей исправлений.Обратите внимание, что речь идет только о тестах, которые выполняются против PR во время разработки.
Источник: Комментарий Джеффа Крейна
На самом деле есть еще одна проблема, открытая для этой точной функции .
Но ответ команды:
Я определенно понимаю, почемуэто было бы полезно, особенно при слиянии с основной / основной ветвью.
Однако, учитывая наши текущие приоритеты, мы вряд ли это поддержим в краткосрочной перспективе.В то же время я открою этот тикет, чтобы измерить интерес других пользователей к тому же.
Источник : Комментарий Анейты Янг
Тем не менее, вы могли бы как-то иметь требуемое поведение с таким взломом:
pipelines:
pull-requests:
'**': #this runs as default for any branch not elsewhere defined
- step:
script
- if [ "${BITBUCKET_PR_DESTINATION_BRANCH}" != "master" ]; then printf 'not a target branch we want to check'; exit; fi
- printf 'running useful tests'
Или, если вы уже выполняете некоторые тесты для всех запросов на извлечениеКак я понимаю:
pipelines:
pull-requests:
'**': #this runs as default for any branch not elsewhere defined
- step:
script
- printf 'these are the all PR tests'
- if [ "${BITBUCKET_PR_DESTINATION_BRANCH}" = "master" ]; then printf 'those are the extra checks on master'; fi
Или еще раз, он может быть выведен в сценарий самостоятельно:
bitbucket-pipelines.yaml
pipelines:
pull-requests:
'**': #this runs as default for any branch not elsewhere defined
- step:
script
- ./bin/tests "${BITBUCKET_PR_DESTINATION_BRANCH}"
корзина / тесты
#!/usr/bin/env bash
printf 'these are the all PR tests'
if [ "${1}" = "master" ]
then
printf 'those are the extra checks on master'
fi
См. Также : Переменные на странице документации трубопроводов: https://confluence.atlassian.com/bitbucket/variables-in-pipelines-794502608.html