【问题标题】:GitHub Actions workflow triggered with files not stated in on.push.paths or on.pull_request.pathsGitHub Actions 工作流程由 on.push.paths 或 on.pull_request.paths 中未说明的文件触发
【发布时间】:2022-02-09 20:35:19
【问题描述】:
name: Console
on:
  push:
    paths:
      - "services/console/**"
      - ".github/workflows/console.yaml"
  pull_request:
    paths:
      - "services/console/**"
      - ".github/workflows/console.yaml"

我们在以下文件中有上述内容:.github/workflows/console.yaml。我们在源代码中有其他文件,例如services/example-service/**

我试图解决或理解的问题是,当services/example-service 中的文件被更改和推送或处于拉取请求中时,会触发上述工作流程。这不应该发生,因为该目录未在 on push pathson pull_request paths 中说明。

这是相关文档:https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#example-including-paths

是否有一些我没有想到的情况,或者这会被认为是一个错误?

我唯一能看到的可能是这个:https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#git-diff-comparisons

注意:如果您推送超过 1,000 个提交,或者如果 GitHub 没有 由于超时而生成差异,工作流将始终运行。

我们的代码有数千个提交,但我们不会在更新时推送数千个新提交。

【问题讨论】:

  • 在创建 PR 后,您是否在 master 上添加了这些 PATH?新创建的 PR 会发生这种情况吗? PR 的问题在于它们从创建的那一刻起就在使用工作流 - 您必须将它们重新定位到 master 上才能看到效果。

标签: github-actions


【解决方案1】:

原因是在联系 GitHub 支持后,推送使用两个点差异,而 PR 使用三个点差异。

两个点差异导致了一个触发器,因为我们将分支重新定位到 master 上,该分支对所述目录进行了更改,然后我们强制推送。这导致新的强制推送分支与之前在分支上的立即提交之间的差异包含大量差异,其中一些在指定的目录中。

【讨论】:

    猜你喜欢
    • 2022-11-02
    • 1970-01-01
    • 2023-01-11
    • 2021-02-09
    • 1970-01-01
    • 2022-12-23
    • 1970-01-01
    • 2022-01-10
    • 1970-01-01
    相关资源
    最近更新 更多