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
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.
44 lines
2.0 KiB
Markdown
44 lines
2.0 KiB
Markdown
# 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.
|