The warning dated from when .build-host was the release trigger's own setting and push was a second consumer of it. One setting now names one machine for all three commands, so there is nothing to keep separate -- and the advice was wrong regardless: OMARCHY_REPO_HOST is read by the same resolver, so it arms the trigger exactly as the file does. Only --host is per-invocation. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
43 lines
1.2 KiB
Bash
43 lines
1.2 KiB
Bash
# Resolving the Omarchy repository host
|
|
#
|
|
# One machine both serves pkgs.omarchy.org and runs the scheduled builds. The
|
|
# commands that reach it are doing repository work — uploading artifacts,
|
|
# signing, publishing — so the setting is named for the repository rather than
|
|
# for building, which happens on whatever machine the operator prefers.
|
|
|
|
# Usage: resolve_repo_host [explicit-host]
|
|
# Prints the host, or nothing when none is configured.
|
|
resolve_repo_host() {
|
|
local explicit="${1:-}"
|
|
|
|
if [[ -n "$explicit" ]]; then
|
|
echo "$explicit"
|
|
return 0
|
|
fi
|
|
|
|
if [[ -n "${OMARCHY_REPO_HOST:-}" ]]; then
|
|
echo "$OMARCHY_REPO_HOST"
|
|
return 0
|
|
fi
|
|
|
|
if [[ -f "$BUILD_ROOT/.repo-host" ]]; then
|
|
# Ignore blank lines and comments so the file can be annotated.
|
|
local value
|
|
value=$(grep -vE '^\s*(#|$)' "$BUILD_ROOT/.repo-host" | head -1 | tr -d '[:space:]')
|
|
if [[ -n "$value" ]]; then
|
|
echo "$value"
|
|
return 0
|
|
fi
|
|
fi
|
|
|
|
return 1
|
|
}
|
|
|
|
# Shared wording so every command explains configuration the same way.
|
|
print_no_repo_host() {
|
|
print_error "No repository host configured"
|
|
echo ""
|
|
echo "Pass --host, set OMARCHY_REPO_HOST, or write the destination to:"
|
|
echo " $BUILD_ROOT/.repo-host"
|
|
}
|