文件结构:
apps
-- app-1
-- app-2
libs
-- lib-1
-- lib-2
我们有一些测试,只有在文件发生更改的情况下才应该运行lib-2
。
我尝试过做
on:
push:
paths:
- 'libs/lib-2/**'
但它仅在文件来自lib-2
被推送到提交中,但如果之后推送了其他一些代码,则不会运行。
想象测试失败lib-2
,然后开发人员已提交文件lib-1
在下一次提交和测试中,之前的更改将不会运行,并且 github 会认为检查成功。
如果某个目录中的文件在分支中发生更改,无论在哪个提交中,是否有办法运行操作?
感谢@guifalourd,我设计了一个解决方案。
name: 'UI-kit Tests'
on:
pull_request:
branches:
- proto
- develop
- staging
- master
jobs:
filter-ui-kit:
runs-on: ubuntu-latest
name: Filter Ui kit
steps:
- uses: actions/checkout@v3
with:
fetch-depth: 0
- name: Get changed files in the docs folder
id: changed-files-specific
uses: tj-actions/changed-files@v34
with:
files: libs/ui-kit/**
- name: Run step if any file(s) in the docs folder change
if: steps.changed-files-specific.outputs.any_changed == 'true'
run: echo UI-kit is affected
- name: Prevent from running
if: steps.changed-files-specific.outputs.any_changed != 'true'
run: exit 1
test:
timeout-minutes: 60
runs-on: ubuntu-latest
needs: [filter-ui-kit]
steps:
... test actions goes there
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)