#!/usr/bin/env bash set -euo pipefail ROOT="$(cd "$(dirname "$0")/.." && pwd)" test -f "$ROOT/repos.txt" test -f "$ROOT/types/ns1-all-in-one/repos.txt" test -f "$ROOT/types/control-plane/repos.txt" test -f "$ROOT/types/ns1-archive/repos.txt" test -f "$ROOT/types/lan-worker/repos.txt" # every type list is a subset of the master list while read -r name; do [[ -z "$name" || "$name" == \#* ]] && continue grep -qx "$name" "$ROOT/repos.txt" || { echo "type repo not in master: $name" >&2; exit 1; } done < <(cat "$ROOT"/types/*/repos.txt) # every Forgejo module has a host-deps row while read -r name; do [[ -z "$name" || "$name" == \#* ]] && continue grep -q "^${name}|" "$ROOT/host-deps.tsv" || { echo "missing host-deps.tsv row: $name" >&2; exit 1; } done < "$ROOT/repos.txt" bash -n "$ROOT/scripts/host-deps.sh" echo OK