GitHub Actions推送到所有分支

问题描述

easy是对任何推或拉请求运行GitHub Action的方式:

# Triggers the workflow on push or pull request events
on: [push,pull_request]

但是如果我想限制运行以拉取针对特定基本引用打开的请求,同时允许在所有分支上运行该怎么办?

我想到了这一点:

on:
  push:
    branches:
      - "*"
  pull_request:
    branches:
      - "develop"
      - "staging"

但是没有用。我将此动作添加功能分支中,而GitHub并未将其选中。

我的glob有什么问题吗?为什么“ *”不起作用?

解决方法

发布问题后,我发现了Filter pattern cheat sheet

'*':匹配所有不包含斜杠(/)的分支和标记名称。 *字符是YAML中的特殊字符。用*开头的模式>时,必须使用引号。

'**':匹配所有分支和标签名称。这是默认行为 当您不使用分支或标签过滤器时。

碰巧我正在测试的分支包含一个斜杠(/),所以一个星号(*)还不够。我切换到两个星号(**),现在可以使用。