Skip to content

feat: Trigger warning for PRs likely requiring updates to management-plane-charts #7

feat: Trigger warning for PRs likely requiring updates to management-plane-charts

feat: Trigger warning for PRs likely requiring updates to management-plane-charts #7

name: "Check Config Changes"
on:
pull_request:
types: [opened, synchronize, reopened, labeled, unlabeled]
jobs:
check-configs-changes:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
with:
fetch-depth: 2
- name: Install Dependencies
run: |
sudo apt update
sudo apt install -y make
- name: Get list of changed files
id: changed-files
uses: actions/github-script@v7
with:
script: |
const { data: files } = await github.rest.pulls.listFiles({
owner: context.repo.owner,
repo: context.repo.repo,
pull_number: context.payload.pull_request.number,
});
const configFiles = files.filter(file => file.filename.startsWith('config/') || file.filename.startsWith('e2e/'));
core.setOutput('configFiles', configFiles.map(file => file.filename).join(','));
- name: Evaluate Config Changes
run: |
echo "Changed config files:"
echo "${{ steps.changed-files.outputs.configFiles }}" | tr ',' '\n'
if [ "${{ steps.changed-files.outputs.configFiles }}" != "" ]; then
echo "⚠️ Config directory changes detected!"
echo "config_changed=true" >> $GITHUB_OUTPUT
else
echo "✅ No changes in config directory."
echo "config_changed=false" >> $GITHUB_OUTPUT
fi
- name: Add Warning if Config Files Changed
if: steps.eval-changes.outputs.config_changed == 'true'
uses: actions/github-script@v7
with:
script: |
github.rest.issues.createComment({
owner: context.repo.owner,
repo: context.repo.repo,
issue_number: context.payload.pull_request.number,
body: "⚠️ **Config folder changes detected!** Please review if manifest updates are necessary."
});
- name: Add PR Label for Config Changes
if: steps.eval-changes.outputs.config_changed == 'true'
uses: actions/github-script@v7
with:
script: |
github.rest.issues.addLabels({
owner: context.repo.owner,
repo: context.repo.repo,
issue_number: context.payload.pull_request.number,
labels: ["configs-changed"]
});