注: GitHub 托管的运行器目前在 GitHub Enterprise Server 上不受支持。 您可以在 GitHub 公共路线图 上查看有关未来支持计划的更多信息。
概览
注意: 跳过的作业将报告其状态为“成功”。 它不会阻止拉取请求合并,即使它是必需的检查。
您可以使用 jobs.<job_id>.if
条件阻止作业在条件得到满足之前运行。 您可以使用任何支持上下文和表达式来创建条件。
在 if
条件下使用表达式时,可以省略表达式语法 (${{ }}
),因为 GitHub 会自动将 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@v3
- uses: actions/setup-node@v3
with:
node-version: '14'
- run: npm install -g bats
您将在跳过的作业上看到以下状态: