#!/bin/bash set -e _uuid() { if which uuid >/dev/null 2>&1 ; then uuid else uuidgen fi } if git rev-parse --verify HEAD >/dev/null 2>&1 then base=HEAD else # Initial commit: diff against an empty tree object base=4b825dc642cb6eb9a060e54bf8d69288fbee4904 fi error=0 for i in $(git diff --cached --name-only --diff-filter=AM $base -- "*yaml" | grep -vF .schema.yaml) do # Generate unique key if missing if ! grep -q ^key: "$i" then key=$(_uuid) while grep -qrw "$key" . do key=$(_uuid) done echo "Generated key $key for $i" sed -i "/^team:/akey: $key" "$i" git add "$i" fi # Validate new/modified YAML project files echo -n "Validating $i: " if ! scripts/validator "$i" then echo "ERROR: $i failed to validate" error=1 fi done exit $error