Rewrite the README and make image publishing reliable #9

Merged
nexus merged 2 commits from ci/readme-and-push-fix into main 2026-07-24 14:01:32 +02:00
Owner

Two independent changes, bundled into one PR as requested.

Rewrite the README for end users. Everything that only concerns building
and shipping the project is gone — the registry-token setup, the Podman
socket-proxy CI plumbing, the BuildKit and version-tag details, the
race-detector notes and the clone-based make workflow. What remains is written
for someone deploying the published image: a short quick start (env file,
discover, run), the channel-mapping fix, the topic and Home Assistant
reference, a configuration table, and troubleshooting that now covers the two
first-run stumbles — a wildcard broker address and port 8080 already in use.

Verify each image push by pulling the tag back. publish-commit-tag failed
intermittently with an empty Error response from daemon:. A debug run showed
the push printing its digest line — the completion marker — before the error,
and the tags did land in the registry despite the red job. Podman's
Docker-compatible API appends a spurious non-zero exit after a completed push,
unpredictably. Every publish step now pushes and then pulls the tag back: it
passes when the tag is in the registry regardless of the push exit code, and
fails only when the tag is genuinely absent.

Two independent changes, bundled into one PR as requested. **Rewrite the README for end users.** Everything that only concerns building and shipping the project is gone — the registry-token setup, the Podman socket-proxy CI plumbing, the BuildKit and version-tag details, the race-detector notes and the clone-based make workflow. What remains is written for someone deploying the published image: a short quick start (env file, discover, run), the channel-mapping fix, the topic and Home Assistant reference, a configuration table, and troubleshooting that now covers the two first-run stumbles — a wildcard broker address and port 8080 already in use. **Verify each image push by pulling the tag back.** publish-commit-tag failed intermittently with an empty `Error response from daemon:`. A debug run showed the push printing its digest line — the completion marker — before the error, and the tags did land in the registry despite the red job. Podman's Docker-compatible API appends a spurious non-zero exit after a completed push, unpredictably. Every publish step now pushes and then pulls the tag back: it passes when the tag is in the registry regardless of the push exit code, and fails only when the tag is genuinely absent.
The README had grown to serve two audiences at once. Everything that only
concerns building and shipping the project is gone: the registry token setup,
the Podman socket-proxy CI plumbing, the BuildKit and version-tag details, the
race-detector notes and the clone-based make workflow.

What remains is written for someone deploying the published image: a short
quick start (env file, discover, run), the channel-mapping fix, the topic and
Home Assistant reference, a configuration table, and a troubleshooting section
that now covers the two first-run stumbles — a wildcard broker address and port
8080 already being in use. Building from source is a five-line pointer at the
end.

(cherry picked from commit f5388cda73)
Verify each image push by pulling the tag back
All checks were successful
CI / image (push) Successful in 1m2s
CI / image (pull_request) Successful in 54s
CI / publish-commit-tag (push) Has been skipped
CI / publish-version-tag (push) Has been skipped
CI / publish-commit-tag (pull_request) Has been skipped
CI / publish-version-tag (pull_request) Has been skipped
CI / test (push) Successful in 2m48s
CI / test (pull_request) Successful in 3m13s
8fa46d8ac7
publish-commit-tag failed intermittently with an empty 'Error response from
daemon:'. In a debug run the push printed its digest line — the completion
marker — and only then returned the error, so the image had actually been
uploaded. Podman's Docker-compatible API appends a spurious non-zero exit after
a completed push, and does so unpredictably: the same job succeeded on one main
merge and failed on the next.

Every publish step now pushes and then pulls the tag back. If the tag is in the
registry the step passes regardless of the push exit code; if it is genuinely
absent the step fails. This is correct whichever way the push actually went,
without depending on the exact cause.

(cherry picked from commit d3d0d0bdeb)
nexus merged commit 7eba00bbcc into main 2026-07-24 14:01:32 +02:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
nexus/WifiPoolToMQTT!9
No description provided.