Github 可重用工作流程:如何使用上次提交(或分支头)的工作流程而不是硬编码分支名称/发布版本?

Joh*_*ika 14 github github-actions

我正在使用 GitHub 操作设置可重用的工作流程:https://docs.github.com/en/actions/learn-github-actions/reusing-workflows

由于被调用者工作流程和调用者工作流程都位于同一存储库中,因此我想在调用工作流程的uses语句中引用被调用工作流程的最新提交。

例子:

uses: owner/repo/.github/workflows/called-workflow.yml@${{GITHUB_SHA}}
Run Code Online (Sandbox Code Playgroud)

${{GITHUB_SHA}}不会被插值,所以我收到以下错误:

Invalid workflow file : .github/workflows/calling-workflow.yml#L1
handling usage of workflow "owner/repo/.github/workflows/called-workflow.yml@${{GITHUB_SHA}}": can't obtain workflow file: reference to workflow should be either a valid branch, tag, or commit
Run Code Online (Sandbox Code Playgroud)

ref在工作流程中调用工作流程时,如何将其设置为最新提交?

bri*_*ist 11

现在这是可能的

截至 2022 年 2 月。

一月第一次:https://github.blog/changelog/2022-01-25-github-actions-reusable-workflows-can-be-referenced-locally/

但直到今天(2022 年 2 月 10 日),还有一个错误导致它无法处理pull_request事件;现在已修复: https: //github.community/t/ref-head-in-reusable-workflows/203690/74 ?u=briantist

用法示例:

jobs:
  call-workflow-in-local-repo:
    uses: ./.github/workflows/workflow-2.yml
Run Code Online (Sandbox Code Playgroud)

注意:被调用者和调用者工作流必须位于同一存储库中。(请参阅:此处了解更多信息)