Skip to content

feat(ci): guard device-visible app changes behind a version bump - #143

Open
salim-b wants to merge 1 commit into
home-assistant:mainfrom
salim-b:version-guard
Open

salim-b wants to merge 1 commit into
home-assistant:mainfrom
salim-b:version-guard

Conversation

@salim-b

@salim-b salim-b commented Oct 10, 2026

Copy link
Copy Markdown

The HA Supervisor detects app updates by comparing the version string in the app config against the installed version; images are published under exactly that version as their tag. A device-visible change without a bump therefore ships to nobody (existing installs never see it) and silently repoints an already-published version tag, so "the same version" means different images depending on install time (the opposite of immutable releases).

So while the Supervisor does not enforce its own update model (arguably a design flaw), we can at least protect against violating it by accident (or ignorance) downstream.

Hence add a repo-agnostic version-guard workflow: fails pull requests and pushes to main when device-visible app files (rootfs/, Dockerfile, config.yaml, apparmor.txt, translations/) changed without a version bump. App discovery by config-file presence, plain Git for the diff and version compare, fail-open where a guard cannot know better (new apps, no-base pushes). Docs-only changes pass untouched.

Assisted-by: Goose:glm-5.3-flash

The HA Supervisor detects app updates by comparing the version string in
the app config against the installed version; images are published under
exactly that version as their tag. A device-visible change without a
bump therefore ships to nobody (existing installs never see it) and
silently repoints an already-published version tag, so 'the same
version' means different images depending on install time (the opposite
of immutable releases).

Add a repo-agnostic version-guard workflow: fails pull requests and
pushes to main when device-visible app files (rootfs, Dockerfile,
config.yaml, apparmor.txt, translations) changed without a version
bump. App discovery by config-file presence, plain git for the diff and
version compare, fail-open where a guard cannot know better (new apps,
no-base pushes). Docs-only changes pass untouched.

Assisted-by: Goose:glm-5.3-flash
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant