aboutsummaryrefslogtreecommitdiff
path: root/bin
diff options
context:
space:
mode:
Diffstat (limited to 'bin')
-rwxr-xr-xbin/check76
1 files changed, 76 insertions, 0 deletions
diff --git a/bin/check b/bin/check
new file mode 100755
index 0000000..4663bf3
--- /dev/null
+++ b/bin/check
@@ -0,0 +1,76 @@
+#!/bin/sh
+set -eu
+
+usage() {
+ cat <<-'EOF'
+ Usage:
+ check.sh
+ check.sh -h
+ EOF
+}
+
+help() {
+ cat <<-'EOF'
+
+ Options:
+ -h, --help show this message
+ EOF
+}
+
+for flag in "$@"; do
+ case "$flag" in
+ --)
+ break
+ ;;
+ --help)
+ usage
+ help
+ exit
+ ;;
+ *)
+ ;;
+ esac
+done
+
+while getopts 'h' flag; do
+ case "$flag" in
+ h)
+ usage
+ help
+ exit
+ ;;
+ *)
+ usage >&2
+ exit 2
+ ;;
+ esac
+done
+shift $((OPTIND - 1))
+
+cd -- "$(dirname -- "$0")"
+cd -- "$(git rev-parse --show-toplevel)"
+
+
+git ls-files |
+ xargs awk 'FNR==1 && /^#!\/bin\/sh$/ { print FILENAME }' |
+ xargs shellcheck -x
+
+if git grep FIXME -- ":(exclude)$0"; then
+ printf 'Leftover FIXME markers\n' >&2
+ exit 1
+fi
+
+if ! git diff --quiet || ! git diff --quiet --staged; then
+ printf 'Dirty tilde repository.\n' >&2
+ exit 1
+fi
+
+PRIV="$XDG_CONFIG_HOME/../var/lib/private/tilde"
+if ! git -C "$PRIV" diff --quiet || ! git -C "$PRIV" diff --quiet --staged; then
+ printf 'Dirty private tilde repository.\n' >&2
+ exit 1
+fi
+
+# FIXME:
+# verify that the expiry date on the GPG key is greater than 1 year
+# assert git pushed