build: declare version 26.7.1 so imgver can name the image

The build never reached the C++ compile: imgver runs before docker buildx, and
it exits non-zero rather than let a build fall back to sha-<short>. datastore
declared a version nowhere imgver looks — no package.json, no Cargo.toml, no
VERSION, and the root pyproject.toml is pylint configuration with no `version =`
key — so it died with "no version for ghcr.io/hanzoai/datastore" about a minute
in. Run #2 did not show this because it ran an older build.yml that never called
imgver; the ci v1 that main resolves to now does.

26.7.1 is read off the tree, not chosen: cmake/autogenerated_versions.txt carries
VERSION_MAJOR 26, VERSION_MINOR 7, VERSION_PATCH 1. Upstream's VERSION_STRING is
the four-component 26.7.1.1 and imgver's semver is three, hence 26.7.1.

Declaring it is safe against an unknown registry floor, which matters because the
floor could not be read from here (the available credential lacks read:packages).
imgver publishes max(declared, published): verified against the real script at
three floors — none -> 26.7.1, 26.7.1 -> 26.7.2, 26.7.9 -> 26.7.10. The series
cannot be walked backwards by naming a lower number, and no tag can ever cover
two digests.

Same shape and same reason as hanzoai/postgres, which declares version: 18.0.0.
This commit is contained in:
2026-08-06 12:35:22 -07:00
parent 4c80aa0243
commit 50f29ddfaa
+15
View File
@@ -5,6 +5,21 @@
# source and not docker/server/Dockerfile (short version: the .deb path points at
# packages.hanzo.ai, an apt repo that does not exist).
# The version this image publishes, and it has to be stated here rather than
# derived: imgver reads a repo's own manifest — package.json / Cargo.toml /
# VERSION / pyproject.toml — and nothing in this tree carries a number. The root
# pyproject.toml is pylint configuration with no `version =` key, so imgver finds
# nothing and exits non-zero ("no version for ghcr.io/hanzoai/datastore") BEFORE
# docker buildx is ever invoked. hanzoai/postgres declares its 18.0.0 for the
# same reason.
#
# The number is not invented. cmake/autogenerated_versions.txt says VERSION_MAJOR
# 26, VERSION_MINOR 7, VERSION_PATCH 1 — this tree IS 26.7.1. (Upstream's
# VERSION_STRING is the four-component 26.7.1.1; imgver takes three.) Naming it
# cannot walk the series backwards: imgver publishes max(declared, published),
# so a higher tag already at the registry still wins and gets its next patch.
version: 26.7.1
images:
- name: datastore
context: .