GitHub Actions: マスター以外のすべてのブランチをターゲットにするにはどうすればいいですか? 質問する

GitHub Actions: マスター以外のすべてのブランチをターゲットにするにはどうすればいいですか? 質問する

マスター以外の任意のブランチでアクションを実行できるようにしたいと考えています。 事前に構築されたfilterアクションがあることは承知していますが、その正反対のものを望んでいます。

GitLab のキーワードのようですexcept。これは公式ドキュメントには記載されていないので、適切な回避策を用意している人はいますか?

どうもありがとうございます。

ベストアンサー1

アップデート: より新しいフィルターについては、サミーの答えこれは、これを達成するためのより簡潔な方法を提供します。


ドキュメントより多くの情報が更新されました:

branchesまたはフィルタを指定するとtagsワークフローは少なくとも1つのパターンが一致する場合にのみ実行されます定義されたパターンに一致しないブランチまたはタグへの変更は、ワークフローをトリガーしません。パターンを定義する順序は重要です。

  • 正の一致の後に負のパターンが一致すると、ref は再度除外されます。
  • 否定的な一致の後に肯定的なパターンが一致すると、ref が再度含まれます。

したがって、 を除外するにはmaster、まずすべてに一致するパターンが含まれていることを確認する必要があります。

on:
  push:
    branches:    
      - '*'         # matches every branch that doesn't contain a '/'
      - '*/*'       # matches every branch containing a single '/'
      - '**'        # matches every branch
      - '!master'   # excludes master

おすすめ記事