feat(v1.1.0): install.sh fetch-latest + setup-logmind scaffold pattern - #147
Merged
Conversation
Locks the 2026-06-05 distribution decision: laptop install via brew/curl
fetches the latest GitHub Release, GitHub Actions consumers use the
dedicated thrillmade/setup-logmind@v1.0.0 action, Dependabot keeps the
action pin current. "Install once, stays current forever" UX.
installer/install.sh:
- Defaults to latest GitHub Release via API (sed-extracts tag_name; no jq)
- Idempotent — re-runs at the same version exit 0 with "already installed"
- LOGMIND_VERSION env var support (back-compat); --version flag overrides
- Detects GITHUB_ACTIONS=true + prints setup-logmind nudge
- shellcheck-clean
internal/templates/github/:
- check-doc-links.yml.template (v3→v4): replaces setup-python + pip install
with `uses: thrillmade/setup-logmind@v1.0.0`
- regen-timeline.yml.template (v3→v4): same swap
- logmind-self-update.yml.template (v7→v8): tracks the setup-logmind ref
instead of the pip pin; falls back to the legacy grep so pre-v1.1.0
installs upgrade once. Decouples version-pin bumps (now Dependabot's
job) from template-body refreshes (this workflow's job)
internal/templates/dependabot.yml.template (new): github-actions ecosystem
with a thrillmade group bundling thrillmade/* action bumps into one PR
per logmind release
internal/inserter/dependabot.go (new): EnsureDependabot — creates fresh,
merges into existing dependabot.yml that lacks github-actions, hands off
when the user already owns the ecosystem (Dependabot rejects duplicate
ecosystem+directory pairs). Idempotent via thrillmade-group detection.
internal/version/version.go: 1.0.0-dev → 1.1.0-dev. Golden goldens
refreshed (version.golden, post-{merge,rewrite}.golden).
Tests: +13 specs (7 dependabot inserter, 2 template shape, 4 init e2e).
311 → 324 PASS lines. `go test ./... -race -count=1` green.
Docs: README install section now leads with brew/curl laptop install +
new "In GitHub Actions" subsection. docs/install.md adds LOGMIND_VERSION
env form + GitHub Actions section.
Alternatives rejected: keep curl-install pattern in workflow YAML
(needs version-bump ceremony forever); moving major tag instead of
static pin + Dependabot (against Go ecosystem convention).
Half-A of the v1.1.0 wave; thrillmade/setup-logmind action repo is
half-B (built in parallel). v1.1.0 tag-push gated on setup-logmind
shipping first. PR #178 (cosmetic v1.0.0→v1.0.1 sweep) obsolete once
this lands.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
|
👋 hello from This is a placeholder. Real review output lands in D.2 against |
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
thrillmot
enabled auto-merge (squash)
June 5, 2026 22:02
Collaborator
Author
|
Admin-merge — locked distribution-decision scope (plan §Architectural Decisions 2026-06-05). setup-logmind v1.0.0 shipped + verified cross-OS via 9-leg matrix; scaffold templates now resolve cleanly. GH blocks self-approve since I'm author; PR is otherwise green on all 7 required checks. |
This was referenced Jul 25, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Locks the 2026-06-05 evening distribution decision so logmind consumers get install once, stays current forever:
brew installorcurl logmind.dev/install.sh | bash(script now auto-fetches the latest GitHub Release; no more hardcoded version sweeps every release).uses: thrillmade/setup-logmind@v1.0.0(a separate Action wrapper repo, half-B of the wave, built in parallel by another agent)..github/dependabot.ymlblock shipped bylogmind init(v1.1.0+).logmind self-updaterefreshes template bodies in place.This PR is the laptop-install + scaffold half of that story.
What changed
installer/install.shrewrite:tag_name; no jq dep).LOGMIND_VERSIONenv var (back-compat with pre-1.1.0 pinning);--versionflag overrides.SHA256SUMSline (existing behavior preserved).GITHUB_ACTIONS=trueand prints a one-line nudge pointing atthrillmade/setup-logmindso CI users who slip the script into a workflow get redirected.Workflow templates (
internal/templates/github/):check-doc-links.yml.templatev3 → v4 — replacessetup-python+pip installwithuses: thrillmade/setup-logmind@v1.0.0.regen-timeline.yml.templatev3 → v4 — same swap.logmind-self-update.yml.templatev7 → v8 — tracks thesetup-logmindref instead of the pip pin (falls back to the legacy pip grep so pre-v1.1.0 installs upgrade once). Pure version-pin bumps are now Dependabot's job; this workflow only handles template-body refreshes.Dependabot scaffold:
internal/templates/dependabot.yml.template(new) —github-actionsecosystem with athrillmadegroup bundlingthrillmade/*action bumps into one PR per release.internal/inserter/dependabot.go(new) —EnsureDependabothandles fresh-install, merge-into-existing, and hands-off when the user already owns thegithub-actionsecosystem (Dependabot rejects duplicate ecosystem+directory pairs).Version bump:
internal/version/version.go1.0.0-dev→1.1.0-dev. Golden files refreshed.Docs: README install section now leads with the brew/curl laptop install + a new "In GitHub Actions" subsection.
docs/install.mdadds theLOGMIND_VERSIONenv form + a GitHub Actions section.Tests
go test ./... -race -count=1is green.Alternatives considered
setup-logmind@v1) — rejected; Go ecosystem convention is immutable refs + Dependabot for bumps, and moving tags trip supply-chain auditors and break SHA-pinning policies.Test plan
go test ./... -race -count=1greenuses: thrillmade/setup-logmind@v1.0.0and nopip installlinecheck-derived-docsgreen (timeline.md regenerated with the new decision row)check-linksgreenbash installer/install.sh --helpshows the newLOGMIND_VERSIONenv docRelease sequence (NOT done in this PR)
thrillmade/setup-logmindaction repo must ship its v1.0.0 tag before this v1.1.0 release tag is pushed.git tag v1.1.0 -m "v1.1.0: install.sh fetch-latest + setup-logmind scaffold pattern" && git push origin v1.1.0(tag-push requires explicit user authorization per classifier).Co-Authored-By: Claude Opus 4.7 (1M context) noreply@anthropic.com