-
Notifications
You must be signed in to change notification settings - Fork 225
92 lines (86 loc) · 3.51 KB
/
config-change.yaml
File metadata and controls
92 lines (86 loc) · 3.51 KB
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
84
85
86
87
88
89
90
91
92
name: Check Config Changes
on: # yamllint disable-line rule:truthy
pull_request:
# default permissions as read only
permissions: read-all
jobs:
check-changes:
runs-on: ubuntu-latest
outputs:
changes: ${{ steps.filter.outputs.config }}
doc_changes: ${{ steps.filter.outputs.doc }}
compose_dev_changes: ${{ steps.filter.outputs.compose_dev }}
compose_latest_changes: ${{ steps.filter.outputs.compose_latest }}
hack_changes: ${{ steps.filter.outputs.hack }}
manifest_changes: ${{ steps.filter.outputs.manifest }}
helm_changes: ${{ steps.filter.outputs.helm }}
steps:
- name: Checkout source
uses: actions/checkout@v6
- name: Filter changes
uses: dorny/paths-filter@v4
id: filter
with:
predicate-quantifier: every
filters: |
config:
- 'config/**/*.go'
- '!config/**/*_test.go'
doc:
- 'docs/user/configuration.md'
compose_dev:
- 'compose/dev/kepler-dev/etc/kepler/config.yaml'
compose_latest:
- 'compose/default/kepler/etc/kepler/config.yaml'
hack:
- 'hack/config.yaml'
manifest:
- 'manifests/k8s/configmap.yaml'
helm:
- 'manifests/helm/kepler/values.yaml'
generate-comment-message:
needs: check-changes
if: >-
needs.check-changes.outputs.changes == 'true' &&
(
needs.check-changes.outputs.doc_changes != 'true' ||
needs.check-changes.outputs.compose_dev_changes != 'true' ||
needs.check-changes.outputs.compose_latest_changes != 'true' ||
needs.check-changes.outputs.hack_changes != 'true' ||
needs.check-changes.outputs.manifest_changes != 'true' ||
needs.check-changes.outputs.helm_changes != 'true'
)
runs-on: ubuntu-latest
steps:
- name: Generate comment message
run: |
{
echo "⚠️ Config changes detected in this PR"
echo "Please make sure that the config changes are updated in the following places as part of this PR:"
if [[ "${{ needs.check-changes.outputs.doc_changes }}" != "true" ]]; then
echo "- docs/user/configuration.md"
fi
if [[ "${{ needs.check-changes.outputs.compose_dev_changes }}" != "true" ]]; then
echo "- compose/dev/kepler-dev/etc/kepler/config.yaml"
fi
if [[ "${{ needs.check-changes.outputs.compose_latest_changes }}" != "true" ]]; then
echo "- compose/default/kepler/etc/kepler/config.yaml"
fi
if [[ "${{ needs.check-changes.outputs.hack_changes }}" != "true" ]]; then
echo "- hack/config.yaml"
fi
if [[ "${{ needs.check-changes.outputs.manifest_changes }}" != "true" ]]; then
echo "- manifests/k8s/configmap.yaml"
fi
if [[ "${{ needs.check-changes.outputs.helm_changes }}" != "true" ]]; then
echo "- manifests/helm/kepler/values.yaml"
fi
} > /tmp/message-${{ github.event.pull_request.number }}.txt
# NOTE: Uploading the message as an artifact so that PR Comment workflow can use it to
# add comment on PR with the message.
- name: Upload message
uses: actions/upload-artifact@v7
with:
name: message
path: /tmp/message-${{ github.event.pull_request.number }}.txt
retention-days: 1 # Keep artifact for 1 days