Files
headscale/tools/release-check.sh
T

22 lines
651 B
Bash

#!/usr/bin/env bash
set -euo pipefail
status=$(git status --porcelain --untracked-files=all)
if [[ -n "$status" ]]; then
printf 'release: working tree is dirty\n%s\n' "$status" >&2
exit 1
fi
for binary in "$@"; do
info=$(go version -m "$binary")
if ! grep -Eq '[[:space:]]vcs.modified=false$' <<< "$info"; then
printf 'release: %s lacks clean VCS metadata\n%s\n' "$binary" "$info" >&2
exit 1
fi
revision=$(git rev-parse HEAD)
if ! grep -Eq "[[:space:]]vcs.revision=${revision}$" <<< "$info"; then
printf 'release: %s was not built from HEAD\n%s\n' "$binary" "$info" >&2
exit 1
fi
done