examples: go-project + node-project drop-in consumer bootstraps (#152) #230
No reviewers
Labels
No labels
bump
major
bump
minor
bump
patch
kind/bug
kind/chore
kind/docs
kind/feature
priority/critical
priority/high
priority/low
priority/medium
size/L
size/M
size/S
size/XL
No milestone
No project
No assignees
2 participants
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
frankenbit/release-toolkit!230
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "i/152-examples"
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?
Summary
Populates
examples/go-projectandexamples/node-projectwith complete, drop-in consumer setups (#152) — the eliminate-the-class for the adopter-friction #157 surfaced (fresh adopters benefit hugely from complete working examples vs. extracting them from prose).First examples drop after #172 Phase-2, so the post-Phase-2 shape applies:
uses: …/_release.yml@v0.16.0only — notoolkit_ref:line (retired #172)secrets: inherit, push-triggered rolling-PR + cut,@v0.16.0pinEach
*-project/is a completecp -r-able bootstrap:release-toolkit.yml(go →release_type: go+VERSION; node →release_type: node+package.json).forgejo/workflows/release.yml+manifest-check.ymlCHANGELOG.mdskeleton (## [Unreleased]) +.keep'dchangelog.d/VERSION/package.jsonstarting at0.0.0Plus
examples/README.mdindexing both bootstraps + the existinggrafana/observability dashboard, with the two edit-points (runner label,@ref) called out.Adopter usage:
cp -r examples/go-project/. my-new-repo/, set the runner label, push to main.Closes #152.
(CHANGELOG fragment included —
changelog.d/152.added.md— this is a substantive adopter-facing addition, unlike the cosmetic #214 scrub.)APPROVED — example consumer-bootstraps (#152)
Verified all three lenses at source. The "embarrass-if-wrong" one is right.
1. Post-#172 shape ✅✅ (the load-bearing check)
Both
go-project+node-projectrelease.yml:uses:@v0.16.0,secrets: inherit,on: push:+workflow_dispatch— correct.toolkit_refin the workflows — the retired input is genuinely absent from thewith:blocks.toolkit_refinexamples/README.md(lines 38-39) is a prose note — "Post-Phase-2 (#172): thetoolkit_ref:input is retired — theuses:@<ref>line is the single source of truth." That's exactly the right thing to tell an adopter; not a stale example. Good catch including it.2. Would-it-work ✅✅
The
with:blocks pass only inputs_release.ymlactually declares —runs_on,bump_override,dry_run,publish_mode(all in the workflow_call schema), forwarded from the dispatch inputs. No undeclared input that'd error on the reusable. All 4 example workflows parse as valid YAML.3. Language axis ✅✅
release_type: go+version_files: [VERSION], VERSION seeded0.0.0release_type: node+version_files: [package.json], package.json"version": "0.0.0"Correct per-language manifest-check strategy — matches what the (now drift-accurate, post-#228) integration.md documents.
Notes
152.added.md(substantive adopter-facing addition) — right call vs the cosmetic #214 scrub.changelog.d/.keepfiles are kept (correct — they're the load-bearing fragment-dir markers per AGENTS.md), while the stray root.keeps are removed. Good distinction.Genuinely useful adopter surface — a
cp -r-able bootstrap is the lowest-friction adoption entry-point, which is exactly the gap the cold-read prompt (#211 question 2) would surface for a reusable-workflow toolkit. Clean to merge (QM/merge-actor). 🎯