Jer*_*ick 9 github github-actions
我想创建一个github操作来创建一个集成测试环境。我们已经有一个可以执行此操作的 dockerized 脚本,但是,环境由 2 个以上的存储库组成。因此,为了在开发过程中使其有效,我们需要指定其他存储库的分支。
例如,假设我在 repo:frontend, branch:my-feature-brach 中有一个 PR。它需要 repo: backend, branch: their-feature-branch。我想从我的 PR 开始构建,它使用该 PR 的分支(在前端存储库中),并询问我将哪个分支用于后端存储库。
这可能吗?
hEn*_*ngi 13
您可以使用输入定义手动可执行的工作流。
on:
workflow_dispatch:
inputs:
environment:
description: 'Define env name'
required: true
default: 'prod'
branch:
description: 'Define branch name'
required: true
default: 'master'
Run Code Online (Sandbox Code Playgroud)
您可以使用这些预定义的参数,例如:
jobs:
printInputs:
runs-on: ubuntu-latest
steps:
- run: |
echo "Env: ${{ github.event.inputs.environment }}"
echo "Branch: ${{ github.event.inputs.branch }}"
Run Code Online (Sandbox Code Playgroud)
我认为你可以用它来支持你的用例。更多细节在这里。
GitHub Actions 可以使用 GitHub API 与 PR 进行交互。
这意味着,您的脚本可以在存储库上创建评论,并且如果 PR 创建者(或任何您想要的人)的评论中提到了分支(您决定格式),它从分支开始测试。
另一种可能性是要求 PR 具有指定的格式(例如,需要branch:<branch>在评论中)。该操作从 PR 描述中提取分支并使用该分支。
请参阅PR 的 GitHub API 文档和github 上下文的 GitHub 操作文档(有关 PR 的信息)以供参考。