Skip to content

gofastadev/release

Repository files navigation

Gofasta release coordination

This repo coordinates releases of Gofasta across its three product repos:

Repo Module path What it ships
gofasta github.com/gofastadev/gofasta The library: 27 pkg/* packages projects import.
cli github.com/gofastadev/cli The gofasta binary: project scaffolding, code generation, dev pipeline.
website Documentation site and landing page.

The three repos are versioned and released independently in normal operation. This repo is the single source of truth when they ship together as a coordinated release.

What's in this repo

  • QA_TESTING_GUIDE.md — the QA policy. Risk taxonomy, test types, exploratory charters, release gates, the ship rule.
  • COMPATIBILITY.md — the version compatibility matrix. Declares which cli versions are compatible with which gofasta versions. Independent versioning, documented compat windows. Enforced nightly by compat-matrix.yml.
  • CADENCE.md — release cadence policy. Patch / minor / major / coordinated cadences, security-patch SLOs by CVSS tier, and support windows.
  • RELEASING.md — operational playbook. One-time setup before your first release, the per-release procedure, and the automation arc that documents which manual steps are scheduled to graduate to CI or built-in CLI commands.
  • COMMUNITY.md — community guide for indie developers, contributors, and small teams. Where conversations happen, what to expect when filing a bug or PR, the maintenance-team-of-one acknowledgment, sustainability planning.
  • REFERENCES.md — annotated bibliography of works that informed the QA policy, release coordination process, compatibility model, cadence policy, and tooling choices.
  • .github/ISSUE_TEMPLATE/coordinated-release.md — the per-release tracking template. Open a new issue from this template for each release; it walks the sequenced gates.
  • .github/workflows/compat-matrix.yml — the nightly + PR-triggered compatibility matrix regression workflow. Scaffolds a fresh project for every still-supported (cli, gofasta) row in COMPATIBILITY.md and builds it.
  • qa/sessions/ — exploratory testing session notes, one Markdown file per session.
  • releases/ — user-facing release notes, one Markdown file per shipped version.

Maintenance and sustainability

Gofasta is currently maintained by one person; sustainability planning — release cadence, security SLOs, the solo-to-team transition, and the automation arc that retires manual steps as the project matures — is documented across CADENCE.md, RELEASING.md, and COMMUNITY.md. Reviewers evaluating Gofasta for institutional adoption should read those three together for the full picture.

How a coordinated release works

The full procedure is in RELEASING.md. At the top level:

  1. Open a release issue in this repo from the Coordinated release template. Title it Release: cli vX.Y.Z + gofasta vA.B.C (or just one repo if only one is shipping).
  2. Fill in scope and risks. Which repos at which versions/branches; rescore the Risk Matrix for the actual edits in this cycle.
  3. Walk the gates in order: gofasta library → cli ↔ gofasta integration handshake → COMPATIBILITY.md PR → cli release → website. Each gate ends with a 🛑 step that must not be skipped.
  4. Run exploratory charters on the highest-tier P1 areas. Commit session notes under qa/sessions/.
  5. Tick exit criteria. When every gate, P1 test, and exit-criteria item is checked, ship.
  6. Tag and ship in order: gofasta first, then cli, then website. Verify install on a clean machine.
  7. Retro. Fill in the retro section. Anything painful gets a release:retro label in its source repo for the next cycle.

For your very first release, follow the Part A one-time setup in RELEASING.md before opening the tracking issue. There's a five-day timeline for v0.1.0 specifically.

Why a separate repo

The QA framework, release templates, and session notes don't belong to any single product repo — they govern all three. Keeping them here means:

  • Cross-repo session notes (e.g., a charter that exercises gofasta + cli together) have one home.
  • Release issues that reference outward to all three repos live in a neutral location.
  • The QA methodology is discoverable as one document, not buried inside cli or gofasta history.

License

MIT.

About

This is the gofasta's release coordinator repo

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors