Files
ha-gronod-addons/AGENTS.md
gronod e6b6968b5e
Validate add-ons / YAML and layout (pull_request) Failing after 26s
Validate add-ons / emby-mcp Go (pull_request) Failing after 57s
Validate add-ons / openai-codex-proxy (pull_request) Successful in 1m47s
Validate add-ons / n95-mqtt-bridge pin and upstream tests (pull_request) Failing after 44s
ci: add Gitea Actions validation for add-ons
Run YAML/config checks, emby-mcp gofmt/vet/build/test, proxy
entrypoint syntax, and n95 upstream pin + go test on push and PR
to develop/main.
2026-09-25 20:17:08 +00:00

2.0 KiB

Repository guidance

This is Gronod's Home Assistant Add-Ons — a Home Assistant add-on repository. Each top-level directory is one add-on.

Layout conventions

  • Add-on directory names use hyphens and mirror the add-on slug: emby-mcp/ ↔ slug emby_mcp, openai-codex-proxy/ ↔ slug openai_codex_proxy (config.yaml slugs allow [a-z0-9_] only).
  • Each add-on contains: config.yaml, Dockerfile, README.md, DOCS.md, CHANGELOG.md, icon.png, logo.png; build.yaml/rootfs/ as needed.
  • README.md = decision content (what it is, features, requirements, install summary). DOCS.md = installation, configuration, usage, troubleshooting — the file shown in the add-on's Documentation tab.
  • repository.yaml at the root defines the repo display name/URL.

Hostname rule

Supervisor names add-ons {sha1(repo_url)[:8]}-{slug-with-hyphens}. For https://git.i3omb.com/gronod/ha-gronod-addons the prefix is 8e663231 (e.g. 8e663231-emby-mcp). If the repo URL changes, the hash changes and every {hash}-{slug} reference in docs must be updated. (Pre-rename installs using ha-emby-mcp keep hash c5cb4244.)

Verification

Gitea Actions (.gitea/workflows/validate.yml) runs on push/PR to develop and main. Enable Actions on the repository and register a runner labelled ubuntu-latest.

  • emby-mcp (Go): cd emby-mcp && go build ./... && go vet ./... && go test ./... (see emby-mcp/AGENTS.md; the internal/mcphttp end-to-end tests are environment-sensitive and may time out on some machines)
  • YAML files: python3 -c 'import yaml,sys; yaml.safe_load(open(sys.argv[1]))' <file>
  • openai-codex-proxy: node --check openai-codex-proxy/rootfs/entrypoint.js
  • n95-mqtt-bridge: build.yaml / Dockerfile UPSTREAM_REF+UPSTREAM_COMMIT must match, and go test ./... on that tagged upstream clone

Notes

  • The Go module git.i3omb.com/gronod/emby-mcp and its container image are published from the separate gronod/emby-mcp repo — do not repoint them.