![](/img/trans.png)
[英]Trigger GitHub actions' workflow when some workflows themselves change
[英]github action - trigger the workflow only when there is a change in files in .github/workflows/
這里的問題是工作流觸發器配置( on
字段)不能完全按照您的預期工作。
根據官方文檔:
如果您指定多個事件,則只需發生其中一個事件即可觸發您的工作流程。 如果您的工作流的多個觸發事件同時發生,則會觸發多個工作流運行。
因此,在您的情況下, pull_request
事件中的每個子類型都被視為一個單獨的事件,即使不滿足其他子類型的條件也會觸發工作流。
這里發生的是, test
分支的任何 PR 都會觸發pull_request: branches: - test
子類型,獨立於paths: - '.github/*'
配置(如果分支是,則更新哪個文件無關緊要test
)。
此外,通過這些配置,如果您在從另一個分支打開 PR 時更新了'.github/*'
路徑,工作流也會觸發。
總結一下,使用您當前的配置:
test
:將觸發工作流。test
分支打開 PR:僅當路徑發生更改時才會觸發工作流是'.github/*'
如果您希望僅在特定路徑發生更改時觸發工作流,則在打開 PR 時,您應該使用:
on:
pull_request:
paths:
- '.github/workflows/*'
(不配置任何其他事件。)
現在,如果您希望每次推送到分支時觸發工作流(例如,當您打開或更新 PR 時),您應該使用:
on:
push:
paths:
- '.github/workflows/*'
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.