From b345b0d14d92d13c8a42e8d3fb31752ab9a44b3b Mon Sep 17 00:00:00 2001 From: Mikhail Chusavitin Date: Wed, 25 Mar 2026 18:40:48 +0300 Subject: [PATCH] Derive ISO version from git tags --- iso/builder/build.sh | 46 ++++++++++++++++++++++++++++++++++++++++---- 1 file changed, 42 insertions(+), 4 deletions(-) diff --git a/iso/builder/build.sh b/iso/builder/build.sh index 211eba6..a113b93 100755 --- a/iso/builder/build.sh +++ b/iso/builder/build.sh @@ -34,6 +34,43 @@ mkdir -p "${CACHE_ROOT}" : "${GOMODCACHE:=${CACHE_ROOT}/go-mod}" export GOCACHE GOMODCACHE +resolve_audit_version() { + if [ -n "${BEE_AUDIT_VERSION:-}" ]; then + echo "${BEE_AUDIT_VERSION}" + return 0 + fi + + tag="$(git -C "${REPO_ROOT}" describe --tags --match 'audit/v*' --abbrev=7 --dirty 2>/dev/null || true)" + if [ -z "${tag}" ]; then + tag="$(git -C "${REPO_ROOT}" describe --tags --match 'v*' --abbrev=7 --dirty 2>/dev/null || true)" + fi + case "${tag}" in + audit/v*) + echo "${tag#audit/v}" + return 0 + ;; + v*) + echo "${tag#v}" + return 0 + ;; + "") + ;; + *) + echo "${tag}" + return 0 + ;; + esac + + if [ -n "${AUDIT_VERSION:-}" ]; then + echo "${AUDIT_VERSION}" + return 0 + fi + + date +%Y%m%d +} + +AUDIT_VERSION_EFFECTIVE="$(resolve_audit_version)" + # Auto-detect kernel ABI: refresh apt index, then query current linux-image-amd64 dependency. # If headers for the detected ABI are not yet installed (kernel updated since image build), # install them on the fly so NVIDIA modules and ISO kernel always match. @@ -64,6 +101,7 @@ fi echo "=== bee ISO build ===" echo "Debian: ${DEBIAN_VERSION}, Kernel ABI: ${DEBIAN_KERNEL_ABI}, Go: ${GO_VERSION}" +echo "Audit version: ${AUDIT_VERSION_EFFECTIVE}" echo "" echo "=== syncing git submodules ===" @@ -83,7 +121,7 @@ if [ "$NEED_BUILD" = "1" ]; then cd "${REPO_ROOT}/audit" GOOS=linux GOARCH=amd64 CGO_ENABLED=0 \ go build \ - -ldflags "-s -w -X main.Version=${AUDIT_VERSION:-$(date +%Y%m%d)}" \ + -ldflags "-s -w -X main.Version=${AUDIT_VERSION_EFFECTIVE}" \ -o "$BEE_BIN" \ ./cmd/bee echo "binary: $BEE_BIN" @@ -230,8 +268,8 @@ mkdir -p "${OVERLAY_STAGE_DIR}/etc" BUILD_DATE="$(date +%Y-%m-%d)" GIT_COMMIT="$(git -C "${REPO_ROOT}" rev-parse --short HEAD 2>/dev/null || echo unknown)" cat > "${OVERLAY_STAGE_DIR}/etc/bee-release" <&1 # live-build outputs live-image-amd64.hybrid.iso in LB_DIR ISO_RAW="${LB_DIR}/live-image-amd64.hybrid.iso" -ISO_OUT="${DIST_DIR}/bee-debian${DEBIAN_VERSION}-v${AUDIT_VERSION}-amd64.iso" +ISO_OUT="${DIST_DIR}/bee-debian${DEBIAN_VERSION}-v${AUDIT_VERSION_EFFECTIVE}-amd64.iso" if [ -f "$ISO_RAW" ]; then cp "$ISO_RAW" "$ISO_OUT" echo ""