Repository navigation
feat: embed automatic release version identity - #323
Conversation
|
Important
This repository does not receive automatic reviews because it has fewer than 10 stars.
|
There was a problem hiding this comment.
ℹ️ No critical issues — one mislabeled action pin inline.
Reviewed changes
Reviewed the full PR: automatic X.Y.Z + full-commit identity embedded at build time, reported at startup, and verified before publication and promotion.
- Release identity derivation —
release_identity()maps a validated stable or RC tag toX.Y.Zand refuses a non-40-hex commit. Preflight emitsapp_version/revisiononly after confirming the checkout matches the tag. - Shared identity verifier —
verify_image_identity()returnstargetorlegacy. It rejects duplicateAPP_*env entries, mixed forms and runtime/OCI disagreement. Promotion also requires both architectures to share one form before any write. - Native build inputs — both
build-push-actioncalls receive identicalAPP_VERSION/APP_REVISIONand OCI labels. The explicit labels override the duplicatemetadata-actionkeys with equal values. - Runtime gate —
check_container_runtime.shchecks the immutable image config and greps the exact startup line in one-off, scheduled and real-app paths. Unlabeled CI images still pass through thedev/unknownbranch. - Startup output —
entrypoint.shandapp.mainprint the sameversion X — commit <12>line and fall back tounknownfor a malformed revision.
No financial, import, cash or Ghostfolio request helper is touched, so no downstream DEGIRO propagation is needed. Nothing in the diff could log a credential.
claude-opus-5-5 | 𝕏

Problem
Stable promotion copies the qualified RC image. The container therefore kept reporting the RC tag as its build version after promotion.
Result
X.Y.Zand full source commit from validated release metadata.APP_VERSIONandAPP_REVISIONin both native builds.docker/metadata-actionfor OCI metadata generation.ghostfolio-ibkr-sync version X.Y.Z — commit <12-char SHA>at startup and per application cycle.Validation
No registry, lab, or production action is part of this PR.