ZDDC/zddc/release.sh
ZDDC 7570fb7494 refactor: separate website repo + deploy-host model
Migrates from in-repo orphan `website` branch + LFS to a two-repo +
deploy-host model so source editing is fully decoupled from live state.

  - Source code stays here (codeberg.org/VARASYS/ZDDC).
  - Hand-edited website content moves to a separate Codeberg repo
    (codeberg.org/VARASYS/ZDDC-website, cloned at ~/src/zddc-website/).
  - Live site is /srv/zddc/ on the deploy host (Caddy bind-mount),
    populated by ./deploy from this repo's dist/release-output/ plus
    ~/src/zddc-website/.
  - Releases are no longer in any git history — reproducible from
    <tool>-vX.Y.Z tags via `./build release X.Y.Z`. No LFS, no
    Codeberg release assets.

Build/deploy split:
  - ./build (no arg) is source-only; nothing in dist/release-output/
    or /srv/zddc/ is touched.
  - ./build alpha|beta|release seeds dist/release-output/ from
    /srv/zddc/releases/ (preserving symlinks), then mutates the
    channel(s) being cut on top. The bundle is always a complete
    intended-live snapshot, so the verifier sees a complete world
    and ./deploy --releases (rsync --delete-after) replaces live
    state cleanly.
  - New ./deploy wraps the rsync flow with --content / --releases
    subcommands.

Docs updated to reflect the new model: CLAUDE.md, AGENTS.md,
ARCHITECTURE.md, zddc/README.md, README.md, .gitignore, shared/
build-lib.sh comments, deprecated zddc/release.sh message.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-02 09:14:40 -05:00

34 lines
1.2 KiB
Bash
Executable file

#!/bin/sh
# Deprecated — kept as a guard so muscle-memory invocations don't silently
# do nothing.
#
# zddc-server is no longer released independently. The top-level
# `./build alpha|beta|release [version]` is the canonical lockstep cut:
# it bumps every tool (5 HTML + zddc-server) to the same version,
# cross-compiles the binaries, writes a complete release bundle to
# dist/release-output/, regenerates the index, and tags every tool.
# Run ./deploy to publish to /srv/zddc/.
#
# See AGENTS.md "Releasing — lockstep, channels, layout" for the full
# release process.
set -eu
cat >&2 <<'EOF'
zddc/release.sh is deprecated.
Use the top-level lockstep release from the repo root instead:
./build release # stable, coordinated next version
./build release X.Y.Z # stable, explicit version
./build alpha # alpha cut for everything
./build beta # beta cut for everything
./deploy --releases # publish dist/release-output/ to /srv/zddc/
zddc-server binaries now ship in dist/release-output/ (gitignored,
local-only) and are deployed to /srv/zddc/releases/ on the live host.
No Codeberg release-asset publication, no LFS. See AGENTS.md
"Releasing — lockstep, channels, layout" for details.
EOF
exit 1