Условное выражение jobs.<job_id>.if можно использовать для предотвращения выполнения задания, если условие не выполняется. Для создания условного выражения можно использовать любой поддерживаемый контекст и любое выражение. Дополнительные сведения о том, какие контексты поддерживаются в этом ключе, см. в разделе Справочник по контекстам.
Пример. Выполнение задания только для определенного репозитория
В этом примере используется if для управления выполнением задания production-deploy. Оно будет выполняться только в том случае, если репозиторий имеет имя octo-repo-prod и находится в организации octo-org. В противном случае задание будет отмечено как пропущенное.
name: example-workflow
on: [push]
jobs:
production-deploy:
if: ${{ github.repository == 'octo-org/octo-repo-prod' }}
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
- uses: actions/setup-node@v4
with:
node-version: '14'
- run: npm install -g bats
name: example-workflow
on: [push]
jobs:
production-deploy:
if: ${{ github.repository == 'octo-org/octo-repo-prod' }}
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
- uses: actions/setup-node@v4
with:
node-version: '14'
- run: npm install -g bats
Пропущенные задания отображают сообщение "Эта проверка пропущена".
Примечание.
Задание, пропущенное, сообщает о своем состоянии как "Успешно". Это не помешает слиянию запроса на вытягивание, даже если это обязательная проверка.
Чтобы отладить, почему задание было пропущено или запущено неожиданно, можно просмотреть логи выражения состояния задания. Дополнительные сведения см. в разделе Просмотр логов выражения состояния задания.