check / check (push) Canceled after 0s
By convention, and in scripts-to-rule-them-all, script/install installs the program itself. This script fetches the shared policy files into a repo. The make target, the test names and the messages take the new name. Behaviour is unchanged. Model: opus-5-5
44 lines
1.2 KiB
Bash
Executable File
44 lines
1.2 KiB
Bash
Executable File
#!/bin/sh
|
|
# script/update-policy: bring this repo up to standards. It fetches the
|
|
# current script/fetch-policy from the prompts repo over HTTP, runs it
|
|
# on this repo and commits the files it wrote. It does not push.
|
|
# Identical in all repos. Our own extension to scripts-to-rule-them-all.
|
|
set -eu
|
|
|
|
ROOT="$(cd "$(dirname "$0")/.." && pwd -P)"
|
|
FETCH_POLICY_URL="https://git.eeqj.de/sneak/prompts/raw/branch/main/script/fetch-policy"
|
|
|
|
die() {
|
|
echo "update-policy: $*" >&2
|
|
exit 1
|
|
}
|
|
|
|
main() {
|
|
[ "$#" -eq 0 ] || die "usage: script/update-policy"
|
|
|
|
cd "$ROOT"
|
|
|
|
tmp="$(mktemp -d)"
|
|
trap 'rm -rf "$tmp"' EXIT
|
|
|
|
curl --fail --silent --show-error --max-time 60 \
|
|
--output "$tmp/fetch-policy" "$FETCH_POLICY_URL" ||
|
|
die "cannot fetch $FETCH_POLICY_URL"
|
|
|
|
sh "$tmp/fetch-policy" "$ROOT" > "$tmp/written"
|
|
commit="$(head -n 1 "$tmp/written")"
|
|
paths="$(tail -n +2 "$tmp/written")"
|
|
|
|
for path in $paths; do
|
|
git add -- "$path"
|
|
done
|
|
|
|
if git diff --cached --quiet -- $paths; then
|
|
echo "update-policy: already at prompts $commit, nothing to commit"
|
|
else
|
|
git commit -m "Update policy files from prompts $commit" -- $paths
|
|
fi
|
|
}
|
|
|
|
main "$@"
|