fix(ci): derive fallback version from commit sha only, not build date
Build and Publish HeiniRemote Agent Flatpak / build (push) Failing after 5m23s

With the build date baked into the version string, the nightly cron produced
a fresh version — and thus a new tag, release and bundle — every single day
even when upstream main had not moved. Key the version to the sha alone so a
rebuild happens only when the source actually changes.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
pc-heiniandClaude Fable 5 committed 2026-07-07 02:37:46 +02:00
1 parent dd609c5ff8
commit 598eea7ee6
1 file changed
+7 -3
+7 -3
View File
@@ -1,10 +1,14 @@
#!/usr/bin/env bash
# Resolve which HeiniRemote revision to package. Prints eval-able output:
# version=<x.y.z or 0.0.0-git.<date>.<sha>>
# version=<x.y.z or 0.0.0-git.<sha>>
# ref=<tag name or commit sha>
#
# Prefers the newest v* release tag on the upstream repo; while no release tag
# exists yet, falls back to the tip of main (version derived from the commit).
# exists yet, falls back to the tip of main. The fallback version is derived
# ONLY from the commit sha, NOT the build date: the version must be a pure
# function of the source, so the nightly cron rebuilds when main actually
# moves — not every day just because the wall clock advanced (which would spawn
# a new tag/release/bundle daily).
# UPSTREAM_URL may carry credentials (CI injects the actions token for private
# repos); only derived values are printed.
set -euo pipefail
@@ -22,6 +26,6 @@ if [ -n "$tag" ]; then
else
sha=$(git ls-remote "$UPSTREAM_URL" refs/heads/main | cut -c1-12)
[ -n "$sha" ] || { echo "ERROR: cannot resolve upstream main" >&2; exit 1; }
echo "version=0.0.0-git.$(date +%Y%m%d).$sha"
echo "version=0.0.0-git.$sha"
echo "ref=$sha"
fi