aboutsummaryrefslogtreecommitdiff
path: root/bin
diff options
context:
space:
mode:
authorEuAndreh <eu@euandre.org>2022-08-15 14:47:45 -0300
committerEuAndreh <eu@euandre.org>2022-08-15 14:49:22 -0300
commit4b41b1af58b10ae6b7ce1ba0fa8475cec4e4405e (patch)
treeb5b9938ef73f618124576095e61c4937e837d5fd /bin
parentbin/yt: Add working utility (diff)
downloaddotfiles-4b41b1af58b10ae6b7ce1ba0fa8475cec4e4405e.tar.gz
dotfiles-4b41b1af58b10ae6b7ce1ba0fa8475cec4e4405e.tar.xz
mv etc/sh/check.sh bin/check: Also use generic ShellCommand command
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