Github Actions:基于新标签使用workflow_run

Bru*_*res 12 continuous-integration github continuous-delivery github-actions

我有两个工作流程:CI(用于持续集成)和 CD(用于持续交付)。两者单独工作都很好。我的目标是仅在以下情况下运行 CD 工作流程:

  • 在 master 分支上创建了一个像 v1.1.1 这样的新标签
  • CI工作流程完成

为了实现我的目标,我正在使用workflow_run事件。这些是我的工作流程文件的片段:

ci.yml:

name: CI

on:
  push:
    tags: v[1-9]+.[0-9]+.[0-9]+
    
  pull_request:
    branches: [develop, hotfix*]
Run Code Online (Sandbox Code Playgroud)

cd.yml

name: CD

on:
  workflow_run:
    workflows: [CI] 
    branches: [master]
    types:     
      - completed
Run Code Online (Sandbox Code Playgroud)

当前的行为是:在主分支中创建标签时,仅运行 CI 工作流程。我试过tags: v[1-9]+.[0-9]+.[0-9]+放入workflow_run行为是相同的。

我的问题是:我怎样才能实现我的目标?是否可以?

小智 -3

您需要在触发工作流程的名称周围添加“” cd.yml

name: CD

on:
  workflow_run:
    workflows: ["CI"] 
Run Code Online (Sandbox Code Playgroud)