Files
Matysh 9419842333
Validate / golden (push) Failing after 6m50s
Validate / hacs (push) Failing after 11s
Validate / hassfest (push) Failing after 14s
Validate / frontend (push) Successful in 8m18s
Validate / backend (push) Failing after 10m34s
Validate / smoke (push) Failing after 24m45s
Validate / performance_smoke (push) Failing after 9m42s
Full Performance / performance (push) Failing after 54m31s
fix(hacs): keep exactly one *manifest.json in the tree
The HACS submission check does not read hacs.json to find the integration: it
globs `*manifest.json` over the whole clone of the default branch and exits 1
unless there is exactly one (hacs/default, scripts/helpers/integration_path.py).
Three files matched — the two stand-only integrations added on 2026-07-31 and
the golden baseline index added on 2026-08-11 — so the Hassfest job of PR #9004
went red five weeks into the review queue, with a log that named no file.

The stand manifests ship as manifest.template.json and demo/stand/install.sh
renames them at install time; the golden index becomes baselines-index.json
(the exported constant keeps its name, so no consumer changes).
test/repo-hygiene.test.mjs fails if a second manifest ever appears, and the
existing golden-policy assertion — which compared against 'manifest.json' and
happily passed on 'baseline-manifest.json' — now checks the suffix.
2026-08-11 14:03:38 +03:00

24 lines
858 B
Bash
Executable File

#!/usr/bin/env sh
# Install the stand-only integrations into a Home Assistant config directory.
#
# ./install.sh /mnt/data/supervisor/homeassistant
#
# The manifests are stored as `manifest.template.json` on purpose: the HACS
# submission check globs `*manifest.json` over the whole clone of the default
# branch and refuses a repository with more than one of them
# (hacs/default, scripts/helpers/integration_path.py). See README.md.
set -eu
target="${1:?usage: install.sh <path to the Home Assistant config directory>}"
here="$(cd "$(dirname "$0")" && pwd)"
for comp in demo_robot demo_guard; do
src="$here/$comp"
[ -d "$src" ] || { echo "missing $src" >&2; exit 1; }
dst="$target/custom_components/$comp"
mkdir -p "$dst"
cp -a "$src/." "$dst/"
mv -f "$dst/manifest.template.json" "$dst/manifest.json"
echo "installed $comp -> $dst"
done