gpt4 book ai didi

github - 运行 Github Action 当 PR 从特定分支名称提升到特定分支名称时?

转载 作者:行者123 更新时间:2023-12-02 15:56:12 26 4
gpt4 key购买 nike

我们有一个公共(public) SDK 存储库,我正在为其编写多个 github 工作流程。一个这样的工作流程包括当 PR 从 develop 提升到 master 时生成一个 Release SDK(缩小,用私钥编码)。另一个这样的操作是当 PR 从 task/** 分支到 develop 分支时运行静态代码检查。我尝试使用以下工作流程:

name: validate PR raised from task/** branched to develop branch
on:
pull_request:
branches: [ task/** ]

pull_request_target:
branches: [ develop ]
...

此代码被推送到 develop 分支。但这会在每次提出或修改 PR 时触发工作流两次,表明该操作正在使用“或”配置运行。我只想在“AND”条件下运行此工作流一次(即当源分支为 task/** 且目标分支为 develop 时)

对于我的第一个用例,只有内部开发人员才能触发生成构建非常重要。那么是否可以针对特定目标和源分支运行操作?

最佳答案

您可以触发对基本分支的拉取请求的工作流,并进一步细化要基于 head 分支运行的作业。因此,您可以使用 github.head_ref 中提供的信息并在 if conditional 中对其进行评估.因此,只要表达式不匹配,作业就会被跳过。以下是符合您描述的两个工作流程:

build-sdk.yml

name: Build-SDK

on:
pull_request:
branches: [ master ]

jobs:
build-sdk:
if: github.head_ref == 'develop'
runs-on: ubuntu-latest
steps:
- run: echo "Build SDK..."

验证.yml:

name: Validate

on:
pull_request:
branches: [ develop ]

jobs:
validate:
if: startsWith(github.head_ref, 'task/')
runs-on: ubuntu-latest
steps:
- run: echo "Validate..."

关于github - 运行 Github Action 当 PR 从特定分支名称提升到特定分支名称时?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71481578/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com