-
Notifications
You must be signed in to change notification settings - Fork 1
83 lines (77 loc) · 2.65 KB
/
wc-changes.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
name: "Check for changes in paths"
on:
workflow_call:
outputs:
action:
value: ${{ jobs.changes.outputs.action }}
backend:
value: ${{ jobs.changes.outputs.backend }}
analyze:
value: ${{ jobs.changes.outputs.analyze }}
any:
value: ${{ jobs.changes.outputs.any }}
test:
value: ${{ jobs.changes.outputs.test }}
dependencies:
value: ${{ jobs.changes.outputs.dependencies }}
permissions:
contents: read
pull-requests: read
jobs:
changes:
runs-on: ubuntu-24.04
outputs:
action: ${{ steps.filter.outputs.action }}
backend: ${{ steps.filter.outputs.backend }}
analyze: ${{ steps.filter.outputs.analyze }}
any: ${{ steps.filter.outputs.changes != '[]' }}
test: ${{ steps.filter.outputs.test }}
dependencies: ${{ steps.needs.outputs.dependencies }}
steps:
# https://github.com/marketplace/actions/checkout
- name: Checkout
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
# https://github.com/marketplace/actions/paths-changes-filter
- name: Paths Changes Filter
uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
id: filter
with:
filters: |
action:
- '.github/actions/*.yml'
- '.github/workflows/*.yml'
backend:
- 'app/backend/**/*'
- 'core/network_model/**/*'
- '.tool-versions'
- '**/pubspec.*'
analyze:
- '.github/workflows/checks.yml'
- '.github/workflows/wc-changed.yml'
- '.tool-versions'
- 'melos.yaml'
- 'app/mobile/**/*'
- 'core/**/lib/**/*'
- 'feature/**/lib/**/*'
- '**/pubspec.*'
test:
- '.github/workflows/checks.yml'
- '.github/workflows/wc-changed.yml'
- '.tool-versions'
- 'melos.yaml'
- 'app/mobile/**/*'
- 'core/**/lib/**/*'
- 'feature/**/lib/**/*'
- '**/pubspec.*'
- name: Check for dependencies changes
uses: actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea # v7.0.1
id: needs
with:
script: |
const changes = ${{ steps.filter.outputs.changes }};
// 依存関係の解決が必要な変更箇所
const dependencies = [
'analyze',
'test',
];
core.setOutput('dependencies', changes.some(value => dependencies.includes(value)));