Skip to content

Add pre-commit script and job for syncing scripts to ansible playbooks #8

Add pre-commit script and job for syncing scripts to ansible playbooks

Add pre-commit script and job for syncing scripts to ansible playbooks #8

name: Check Script and Playbook Updates
on:
pull_request:
paths:
- 'scripts/**'
jobs:
check-updates:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
with:
fetch-depth: 0
- name: Check if scripts/ were updated without corresponding updates in playbooks/
run: |
#!/bin/bash
BASE_COMMIT=${{ github.event.pull_request.base.sha }}
HEAD_COMMIT=${{ github.event.pull_request.head.sha }}
changed_files=$(git diff --name-only "$BASE_COMMIT" "$HEAD_COMMIT")
echo "Changed files:"
echo "$changed_files"
# Check if any files in scripts/ were updated (excluding wrap_scripts_in_yaml.py)
scripts_updated=$(echo "$changed_files" | grep -v 'wrap_scripts_in_yaml.py' | grep 'scripts/' || true)
echo "Scripts updated:"
echo "$scripts_updated"
# Check if any files in playbooks/ were updated
playbooks_updated=$(echo "$changed_files" | grep 'playbooks/' || true)
echo "Playbooks updated:"
echo "$playbooks_updated"
if [[ -n "$scripts_updated" && -z "$playbooks_updated" ]]; then
echo "Files in scripts/ were updated without corresponding updates in playbooks/"
exit 1
fi
echo "Check passed"