chore: chain rename + bump to v0.16.0 (mirror URLs, fix auto-update)

Signed-off-by: flemming-it <stefan.a.flemming@googlemail.com>
This commit is contained in:
flemming-it 2026-06-17 17:19:01 +02:00
parent 425d4166af
commit 2d8e9f4048
2 changed files with 30 additions and 32 deletions

76
Formula/chain.rb Normal file
View file

@ -0,0 +1,76 @@
# Homebrew formula skeleton for the Ch∆In CLI.
#
# Lives in this repo as the canonical source — the actual
# distribution is a checkout of `fai/homebrew-tap` (a separate
# Forgejo repo, seeded by
# `scripts/bootstrap-distribution-repos.sh`) that carries a copy
# of this file at `Formula/chain.rb`. The tap repo's
# `.forgejo/workflows/update.yml` (sourced from
# `installer/homebrew/forgejo-workflow-update.yml` in this repo)
# auto-bumps the version + sha256 entries against each new
# platform release on a 4-hourly cron.
#
# To install a release from the tap:
#
# brew tap fai/tap https://git.flemming.ai/fai/homebrew-tap
# brew install chain
#
# To install from this checkout for testing:
#
# brew install --build-from-source ./installer/homebrew/chain.rb
#
# This file is a *skeleton*. The :url / :sha256 placeholders are
# populated by the release pipeline once macOS builds land on the
# Forgejo Release page. The class name (`Chain`) is what Homebrew
# uses to address the formula; lowercase `chain` is the binary on
# disk after install.
class Chain < Formula
desc "Deterministic workflow engine for AI-assisted data " \
"processing in regulated environments"
homepage "https://flemming.ai"
version "0.16.0"
license "Apache-2.0"
# Platform-specific binary URLs + sha256 are filled in per
# release. cargo-zigbuild-built linux artefacts come from the
# same release; the formula consumes them on Apple Silicon and
# Intel macs via stanza selectors.
if Hardware::CPU.arm?
url "https://releases.chain.flemming.ai/v#{version}/chain-macos-aarch64"
sha256 "4995c355e79e6afeda34f04e2216c5736d9f088c0392122cd3d6a08f7d1eabf7"
else
url "https://releases.chain.flemming.ai/v#{version}/chain-macos-x86_64"
sha256 "f50cae5477105e2734fb9c92b7d1889fbbb4e848297fa41ec72638b3c63f5916"
end
# Plain binary — no source build needed. We rely on the upstream
# CI to have produced + signed it. Notarization is a separate
# follow-up.
def install
bin.install Dir["*"].first => "chain"
end
# `brew test chain` runs this — keeps the formula honest. We don't
# start the daemon; we only verify the binary is callable.
test do
assert_match version.to_s, shell_output("#{bin}/chain --version")
end
def caveats
<<~EOS
The ChIn daemon is not started automatically. After install:
chain bootstrap # writes ~/.chain/ layout + PATH marker
chain daemon start # starts the local hub
chain install debug.echo # smoke-test the install path
For Studio, install separately from
https://flemming.ai/get.
Note: this binary is not yet notarized. macOS Gatekeeper will
ask for confirmation on first launch. The notarization step
is tracked as the remaining half of system-gap S-16.
EOS
end
end