[英]GitAction: Trigger workflow on PR approval AND when base branch is main AND .csv file is updated
我正在嘗試使用以下代碼,但由於以下原因,它沒有處理所有 3 個條件:
dorny/paths-filter@v2.2.1
僅適用於 pull_request/push 事件on:
pull_request_review:
types: [submitted]
branches:
- main
jobs:
myJob:
name: myJob
if: github.event.review.state == 'approved' && startsWith(github.base_ref, 'main/')
runs-on: [self-hosted, prd]
steps:
- name: Checkout repository
uses: actions/checkout@v2.2.0
- name: Check if *.csv is modified
uses: dorny/paths-filter@v2.2.1
id: changes
with:
filters: |
csv:
- 'data/*.csv'
- name: Run process bmv script
if: ${{ steps.changes.outputs.csv == 'true' }}
run: |
echo "-Started running script-"
任何人都可以建議我如何處理所有 3 個條件:PR 批准、基本分支作為主要分支並且僅修改 csv。
最后,我通過執行 Matteo 的方式並調整現有代碼得到了答案。 調整:將dorny/paths-filter@v2.10.2
dorny/paths-filter@v2.2.1
因為此版本支持它處理 pull/pill_request 事件以外的事件。
on:
pull_request_review:
types: [submitted]
jobs:
myJob:
name: myJob
if: startsWith(github.event.pull_request.base.ref, 'main') && (github.event.review.state == 'approved')
runs-on: [self-hosted, prd]
steps:
- name: Checkout repository
uses: actions/checkout@v2.2.0
- name: Check if *.csv is modified
uses: dorny/paths-filter@v2.10.2
id: changes
with:
filters: |
csv:
- 'data/*.csv'
- name: Run process bmv script
if: ${{ steps.changes.outputs.csv == 'true' }}
run: |
echo "-Started running script-"
感謝所有幫助,上面是完整的工作解決方案,它檢查所有 3 個條件,即僅當 PR 被批准並且 PR 將基本分支作為主要分支並且數據文件夾中的 csv 文件被修改時才運行工作流。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.