release: zddc-server v0.0.8-alpha.2 + binary publish step
Adds binary mirroring to release-image.sh: cross-compiled binaries from zddc/dist/ are now copied to website/releases/zddc-server-<os>-<arch>-<channel> for every channel in the cascade, so https://zddc.varasys.io/releases/ serves binaries alongside the HTML tools. Channel pointers are mutable; no immutable per-version files are written (the container registry provides per-version pinning via image tags). Plain `sh build.sh` does NOT mirror binaries — only `release-image.sh` does, deliberately, to avoid 40MB git churn per dev iteration. This commit also picks up the routine alpha-mirror refresh from the v0.0.8-alpha.2 image cut.
This commit is contained in:
parent
43c370ab3c
commit
566070ca80
11 changed files with 50 additions and 5 deletions
12
AGENTS.md
12
AGENTS.md
|
|
@ -321,6 +321,18 @@ Pre-release semver ordering (`0.0.8-alpha.1 < 0.0.8-alpha.2 <
|
||||||
tag sorting, `git tag --sort=-v:refname`, `sort -V`, npm, cargo —
|
tag sorting, `git tag --sort=-v:refname`, `sort -V`, npm, cargo —
|
||||||
so consumers can pin or compare versions without surprises.
|
so consumers can pin or compare versions without surprises.
|
||||||
|
|
||||||
|
**Binary publishing** — `release-image.sh` also mirrors the
|
||||||
|
cross-compiled binaries from `zddc/dist/zddc-server-<os>-<arch>` into
|
||||||
|
`website/releases/zddc-server-<os>-<arch>-<channel>` for every channel
|
||||||
|
in the cascade. These are mutable channel pointers (no immutable
|
||||||
|
per-version files — those live in the container registry to keep the
|
||||||
|
git tree from growing 40MB per release). Plain `sh build.sh` does
|
||||||
|
NOT mirror the binaries; only `release-image.sh` does, deliberately,
|
||||||
|
so the website's binaries always match a published image.
|
||||||
|
|
||||||
|
The mirrored files at `https://zddc.varasys.io/releases/zddc-server-…`
|
||||||
|
are what the dev shell's `zddc-use` helper fetches by default.
|
||||||
|
|
||||||
Prerequisite: `podman login codeberg.org` (one-time, with a Codeberg
|
Prerequisite: `podman login codeberg.org` (one-time, with a Codeberg
|
||||||
personal token scoped `package:write`).
|
personal token scoped `package:write`).
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -133,6 +133,39 @@ echo
|
||||||
# --- Refresh HTML dist (Containerfile COPYs from dist/web) ------------------
|
# --- Refresh HTML dist (Containerfile COPYs from dist/web) ------------------
|
||||||
sh "$SCRIPT_DIR/build.sh"
|
sh "$SCRIPT_DIR/build.sh"
|
||||||
|
|
||||||
|
# --- Mirror cross-compiled binaries to website/releases/ -------------------
|
||||||
|
# Channel pointers, mutable: cascade rules mirror this image's binaries to
|
||||||
|
# every channel in the cascade so a `zddc-use :stable` curl pulls bytes that
|
||||||
|
# match the just-published stable image. Per-version pinning is provided by
|
||||||
|
# the container registry's :vX.Y.Z-alpha.N tag, not by an immutable file
|
||||||
|
# here — keeps the repo from growing 40MB per release. Plain `sh build.sh`
|
||||||
|
# does NOT mirror binaries, deliberately: it would dirty 40MB of files on
|
||||||
|
# every dev iteration. Use release-image.sh as the publish trigger.
|
||||||
|
publish_binary() {
|
||||||
|
_src="$1" # path under zddc/dist/, e.g. zddc-server-linux-amd64
|
||||||
|
_basename=$(basename "$_src")
|
||||||
|
if [ ! -f "$SCRIPT_DIR/zddc/dist/$_src" ]; then
|
||||||
|
echo "warn: $_src not found in zddc/dist/; skipping mirror" >&2
|
||||||
|
return 0
|
||||||
|
fi
|
||||||
|
# The version-style tag (e.g. 0.0.8-alpha.1) is in $TAGS too — skip it;
|
||||||
|
# only iterate the channel-name tags.
|
||||||
|
for _tag in $TAGS; do
|
||||||
|
case "$_tag" in
|
||||||
|
alpha | beta | stable)
|
||||||
|
_dest="$SCRIPT_DIR/website/releases/${_basename%.exe}-${_tag}"
|
||||||
|
case "$_basename" in *.exe) _dest="${_dest}.exe" ;; esac
|
||||||
|
cp -f "$SCRIPT_DIR/zddc/dist/$_src" "$_dest"
|
||||||
|
echo "mirrored $_src → website/releases/$(basename "$_dest")"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
}
|
||||||
|
publish_binary zddc-server-linux-amd64
|
||||||
|
publish_binary zddc-server-darwin-amd64
|
||||||
|
publish_binary zddc-server-darwin-arm64
|
||||||
|
publish_binary zddc-server-windows-amd64.exe
|
||||||
|
|
||||||
# --- Tag the commit (idempotent: skip if the tag already points here) -------
|
# --- Tag the commit (idempotent: skip if the tag already points here) -------
|
||||||
if git -C "$SCRIPT_DIR" rev-parse -q --verify "refs/tags/$GIT_TAG" >/dev/null; then
|
if git -C "$SCRIPT_DIR" rev-parse -q --verify "refs/tags/$GIT_TAG" >/dev/null; then
|
||||||
_existing=$(git -C "$SCRIPT_DIR" rev-list -n 1 "$GIT_TAG")
|
_existing=$(git -C "$SCRIPT_DIR" rev-list -n 1 "$GIT_TAG")
|
||||||
|
|
|
||||||
|
|
@ -2095,7 +2095,7 @@ td[data-field="trackingNumber"] {
|
||||||
<div class="header-left">
|
<div class="header-left">
|
||||||
<div class="header-title-group">
|
<div class="header-title-group">
|
||||||
<span class="app-header__title">ZDDC Archive</span>
|
<span class="app-header__title">ZDDC Archive</span>
|
||||||
<span class="build-timestamp"><span style="color:red;font-weight:bold">v0.0.3-alpha · 2026-04-29 22:41:21 · 9459139-dirty</span></span>
|
<span class="build-timestamp"><span style="color:red;font-weight:bold">v0.0.3-alpha · 2026-04-29 23:06:28 · 43c370a-dirty</span></span>
|
||||||
</div>
|
</div>
|
||||||
<button id="addDirectoryBtn" class="btn btn-primary">Add Local Directory</button>
|
<button id="addDirectoryBtn" class="btn btn-primary">Add Local Directory</button>
|
||||||
<button id="refreshHeaderBtn" class="btn btn-secondary hidden" title="Refresh Data" style="font-size:1.1rem;">⟳</button>
|
<button id="refreshHeaderBtn" class="btn btn-secondary hidden" title="Refresh Data" style="font-size:1.1rem;">⟳</button>
|
||||||
|
|
|
||||||
|
|
@ -1358,7 +1358,7 @@ body.help-open .app-header {
|
||||||
<div class="header-left">
|
<div class="header-left">
|
||||||
<div class="header-title-group">
|
<div class="header-title-group">
|
||||||
<span class="app-header__title">ZDDC Classifier</span>
|
<span class="app-header__title">ZDDC Classifier</span>
|
||||||
<span class="build-timestamp"><span style="color:red;font-weight:bold">v0.0.3-alpha · 2026-04-29 22:41:21 · 9459139-dirty</span></span>
|
<span class="build-timestamp"><span style="color:red;font-weight:bold">v0.0.3-alpha · 2026-04-29 23:06:28 · 43c370a-dirty</span></span>
|
||||||
</div>
|
</div>
|
||||||
<button id="selectDirectoryBtn" class="btn btn-primary">Select Directory</button>
|
<button id="selectDirectoryBtn" class="btn btn-primary">Select Directory</button>
|
||||||
<button id="refreshBtn" class="btn btn-secondary hidden" title="Refresh and rescan directory">Refresh</button>
|
<button id="refreshBtn" class="btn btn-secondary hidden" title="Refresh and rescan directory">Refresh</button>
|
||||||
|
|
|
||||||
|
|
@ -884,7 +884,7 @@ body {
|
||||||
<header class="app-header">
|
<header class="app-header">
|
||||||
<div class="header-left">
|
<div class="header-left">
|
||||||
<span class="app-header__title">ZDDC Archive</span>
|
<span class="app-header__title">ZDDC Archive</span>
|
||||||
<span class="build-timestamp"><span style="color:red;font-weight:bold">v0.0.3-alpha · 2026-04-29 22:41:21 · 9459139-dirty</span></span>
|
<span class="build-timestamp"><span style="color:red;font-weight:bold">v0.0.3-alpha · 2026-04-29 23:06:28 · 43c370a-dirty</span></span>
|
||||||
</div>
|
</div>
|
||||||
<div class="header-right">
|
<div class="header-right">
|
||||||
<button id="theme-btn" class="btn btn-secondary" title="Theme: auto (follows OS)" aria-label="Theme: auto (follows OS)">◐</button>
|
<button id="theme-btn" class="btn btn-secondary" title="Theme: auto (follows OS)" aria-label="Theme: auto (follows OS)">◐</button>
|
||||||
|
|
|
||||||
|
|
@ -1650,7 +1650,7 @@ body.help-open .app-header {
|
||||||
<div class="header-left">
|
<div class="header-left">
|
||||||
<div class="header-title-group">
|
<div class="header-title-group">
|
||||||
<span class="app-header__title">ZDDC Markdown</span>
|
<span class="app-header__title">ZDDC Markdown</span>
|
||||||
<span class="build-timestamp"><span style="color:red;font-weight:bold">v0.0.3-alpha · 2026-04-29 22:41:21 · 9459139-dirty</span></span>
|
<span class="build-timestamp"><span style="color:red;font-weight:bold">v0.0.3-alpha · 2026-04-29 23:06:28 · 43c370a-dirty</span></span>
|
||||||
</div>
|
</div>
|
||||||
<button id="select-directory" class="btn btn-primary" title="Select a Directory">Select Directory</button>
|
<button id="select-directory" class="btn btn-primary" title="Select a Directory">Select Directory</button>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
||||||
|
|
@ -2192,7 +2192,7 @@ dialog.modal--narrow {
|
||||||
<span id="no-js-notice" class="text-gray-400 text-xs italic">JavaScript not available</span>
|
<span id="no-js-notice" class="text-gray-400 text-xs italic">JavaScript not available</span>
|
||||||
<div class="header-title-group">
|
<div class="header-title-group">
|
||||||
<span class="app-header__title">ZDDC Transmittal</span>
|
<span class="app-header__title">ZDDC Transmittal</span>
|
||||||
<span class="build-timestamp"><span style="color:red;font-weight:bold">v0.0.3-alpha · 2026-04-29 22:41:21 · 9459139</span></span>
|
<span class="build-timestamp"><span style="color:red;font-weight:bold">v0.0.3-alpha · 2026-04-29 23:06:28 · 43c370a-dirty</span></span>
|
||||||
</div>
|
</div>
|
||||||
<div class="app-header__spacer"></div>
|
<div class="app-header__spacer"></div>
|
||||||
<div class="app-header__icons">
|
<div class="app-header__icons">
|
||||||
|
|
|
||||||
BIN
website/releases/zddc-server-darwin-amd64-alpha
Executable file
BIN
website/releases/zddc-server-darwin-amd64-alpha
Executable file
Binary file not shown.
BIN
website/releases/zddc-server-darwin-arm64-alpha
Executable file
BIN
website/releases/zddc-server-darwin-arm64-alpha
Executable file
Binary file not shown.
BIN
website/releases/zddc-server-linux-amd64-alpha
Executable file
BIN
website/releases/zddc-server-linux-amd64-alpha
Executable file
Binary file not shown.
BIN
website/releases/zddc-server-windows-amd64-alpha.exe
Executable file
BIN
website/releases/zddc-server-windows-amd64-alpha.exe
Executable file
Binary file not shown.
Loading…
Reference in a new issue