feat: home distribution and the self-updater to cheshirecube #430
No reviewers
Labels
No labels
breaking
bug
documentation
enhancement
epic
good first issue
help wanted
refactoring
resolution/duplicate
resolution/invalid
resolution/wontfix
security
severity/critical
severity/high
severity/low
severity/medium
status/abandoned
status/blocked
status/needs-decision
status/needs-info
status/needs-verification
testing
upstream
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
sixfold-space/madtea!430
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "issue-421-distribution-home-cheshirecube"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Draft for review. Resolves #421; part of #420.
What
Homes madtea's distribution and self-updater to
git.cheshirecube.cloudand backs out the GitHub distribution edge (PR #382). madtea stays a single Gitea/Forgejo API client - no GitHub REST path (ADR 0017).Changes
project-identity.env, overridable via-ldflags -X. The release-verify key fingerprint stays a pinnedconst, never a flag.release.sh, goreleaser (Gitea provider), Homebrew tap, Scoop bucket, plugin marketplace all resolve from cheshirecube.release.shkeepsGITEA_TOKEN; noGITHUB_TOKEN.go install madtea.lol/...is documented as reachable only from a network that can reach the forge, withGOPRIVATE=madtea.lol, until the forge is fully public; curl / Homebrew / Scoop are the public paths meanwhile.Decisions baked in
go installresolves directly from the SHA-256 forge (verified: git clones it, object format is not a blocker). Defaultgo installneeds the forge fully public; until then it is whitelist-reachable-only withGOPRIVATE=madtea.lol.go installfails once the forge is public.Out-of-repo dependency
The
madtea.lolvanitygo-importmeta lives in madtea-site, not here. It must flip to point at cheshirecube: sixfold-space/madtea-site#46.Needs a check at first release
The curl one-liner and README use the GitHub-style
/releases/latest/download/{asset}path. Confirm the Forgejo instance serves that route at the first release; the brew/scoop templates already use the versioned/releases/download/{tag}/{asset}.Verification
./scripts/gate.shgreen (build, test-race, staticcheck, govulncheck, gosec, docs-verify, cross-compile, mcp-conformance, adr-check).goreleaser checkvalidates the Gitea-provider config.meta_test.gobinds the meta defaults toproject-identity.env.