All checks were successful
Gitea Actions Demo / Explore-Gitea-Actions (push) Successful in 0s
27 lines
747 B
Bash
27 lines
747 B
Bash
#!/bin/bash
|
|
|
|
# Get the list of changed files
|
|
CHANGED_FILES=$(git diff --name-only HEAD~1 HEAD)
|
|
|
|
# Initialize an array for playbooks to run
|
|
PLAYBOOKS_TO_RUN=()
|
|
|
|
# Check for changes in specific directories and add corresponding playbooks
|
|
if echo "$CHANGED_FILES" | grep -q "roles/webserver/"; then
|
|
PLAYBOOKS_TO_RUN+=("playbooks/webserver.yml")
|
|
fi
|
|
|
|
if echo "$CHANGED_FILES" | grep -q "roles/database/"; then
|
|
PLAYBOOKS_TO_RUN+=("playbooks/database.yml")
|
|
fi
|
|
|
|
# Run the identified playbooks
|
|
if [ ${#PLAYBOOKS_TO_RUN[@]} -gt 0 ]; then
|
|
for playbook in "${PLAYBOOKS_TO_RUN[@]}"; do
|
|
echo "Running playbook: $playbook"
|
|
ansible-playbook "$playbook" -i inventory.ini
|
|
done
|
|
else
|
|
echo "No relevant playbooks modified. Skipping Ansible run."
|
|
fi
|
|
shell: bash |