Skip to content

docs: add central and caller release flow guide - #289

Open
KyleVorster7 wants to merge 2 commits into
devfrom
docs/central-and-caller-release-flow
Open

docs: add central and caller release flow guide#289
KyleVorster7 wants to merge 2 commits into
devfrom
docs/central-and-caller-release-flow

Conversation

@KyleVorster7

@KyleVorster7 KyleVorster7 commented Jul 14, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Adds a guide for the central/caller platform release model
  • Covers the full journey from central workflow setup through release PRs, publish, Docker images, and GitHub tags
  • Aimed at product/project readers as well as engineers

Summary by CodeRabbit

  • Documentation
    • Added comprehensive guidance for the central-and-caller release workflow model.
    • Documented release phases, workflow triggers, repository participation, and responsibilities by role.
    • Added explanations of release automation, common questions, terminology, and links to related workflow documentation.

@KyleVorster7
KyleVorster7 requested review from a team as code owners July 14, 2026 21:25
@github-actions github-actions Bot added the documentation Improvements or additions to documentation label Jul 14, 2026
Explain the platform release process from end to end for product and
engineering readers, including central vs caller workflows and what
triggers each step.

Signed-off-by: Kyle Vorster <kyle.vorster69@gmail.com>
@KyleVorster7
KyleVorster7 force-pushed the docs/central-and-caller-release-flow branch from ec03827 to b5591ac Compare July 14, 2026 21:41
@coderabbitai

coderabbitai Bot commented Jul 14, 2026

Copy link
Copy Markdown

Review Change Stack

Warning

Review limit reached

@KyleVorster7, you've reached your PR review limit, so we couldn't start this review.

Next review available in: 56 minutes

Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available.
You're only billed for reviews past your plan's rate limits ($0.25/file).

How can I continue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews.

How do review limits work?

CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability.

For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window.

Please refer docs for additional details.

Review details
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 617ca704-a4fd-46d1-ab5d-5896cd64b15c

📥 Commits

Reviewing files that changed from the base of the PR and between b5591ac and 3b840c9.

📒 Files selected for processing (1)
  • Technical/Release-Management/Central-and-Caller-Release-Flow.md
📝 Walkthrough

Walkthrough

Adds a release-management guide documenting the central workflow and thin caller workflow model, its workflow building blocks, release triggers, end-to-end phases, responsibilities, FAQs, glossary, and related documentation.

Changes

Release Flow Documentation

Layer / File(s) Summary
Central and caller model
Technical/Release-Management/Central-and-Caller-Release-Flow.md
Introduces the central/caller workflow model, repository roles, system overview, and reusable release workflow building blocks.
Release journey and triggers
Technical/Release-Management/Central-and-Caller-Release-Flow.md
Maps triggers and outcomes, then documents release execution from planning through publishing and GitHub release creation.
Operational reference material
Technical/Release-Management/Central-and-Caller-Release-Flow.md
Adds day-to-day guidance, role responsibilities, FAQs, glossary terms, related documentation links, and a summary.

Estimated code review effort: 2 (Simple) | ~10 minutes

Poem

A rabbit reviews the release trail,
Central hops where callers sail.
PRs bloom, tags appear,
Workflow steps become crystal clear.
“Merge with care!” the bunny cheers.

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly matches the new documentation guide about the central and caller release flow.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch docs/central-and-caller-release-flow

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

Signed-off-by: Kyle Vorster <kyle.vorster69@gmail.com>

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 5

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@Technical/Release-Management/Central-and-Caller-Release-Flow.md`:
- Around line 399-406: Update the “Related technical docs” section to link
directly to the referenced workflow-docs documentation and the historical
Github-Release.md and Jenkins-Release-Builds.md files, using exact repository
paths or URLs so readers can open each document without navigating from
repository roots.
- Around line 275-279: Clarify the “Dependency tip” to distinguish preparation
from execution: dependent release PRs may be prepared before shared libraries
are published, but the libraries’ release PRs must be merged and the libraries
published before dependent release PRs are merged.
- Around line 208-216: Update the “Create GitHub release/tag” step in the
release-flow table and the corresponding Phase 6 section to specify the exact
workflow name, how it is invoked, all required inputs, and the verification gate
confirming every required package and rule-image merge has completed. State that
this gate must pass before the release/tag workflow runs, while preserving the
existing “finally” sequencing.
- Around line 13-20: Clarify the central workflow repository contract throughout
the release-flow guide, especially the introductory model and the sections
around the Phase 1 setup and repository references. Explicitly identify whether
tazama-lf/workflows or frmscoe/workflows is authoritative, describe how changes
are mirrored, and state which repository or tag must be used before release
setup so callers cannot select inconsistent workflow versions.
- Around line 238-240: Update the central workflow release steps to reference a
full commit SHA instead of a mutable tag such as `@v1`, ensuring product
repositories consume an immutable known-good revision. Apply the same change to
the later “stable workflows tag” guidance, or explicitly require tags to be
immutable if tag-based releases remain supported.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 6b7ca93d-5bd1-4e73-ba71-b6edc00f7b49

📥 Commits

Reviewing files that changed from the base of the PR and between 6d47f3a and b5591ac.

📒 Files selected for processing (1)
  • Technical/Release-Management/Central-and-Caller-Release-Flow.md

Comment on lines +13 to +20
The new model works like this:

1. **One central place** holds the full release instructions (`workflows` repo).
2. Each product repository gets a **thin caller workflow** that invokes that shared instruction.
3. Release helpers open **pull requests** for humans to review.
4. After those PRs are merged, packages, Docker images, and GitHub releases are created automatically where needed.

**Important:** Putting new workflows into the central `workflows` repo does **not** release products by itself. It only installs the shared instructions. The actual release wave comes later.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🗄️ Data Integrity & Integration | 🟠 Major | 🏗️ Heavy lift

Make the central repository and mirror contract explicit.

The guide says there is “one central place,” but later names both tazama-lf/workflows and frmscoe/workflows, with the latter described as a mirror. Phase 1 does not state which repository is authoritative, how changes are mirrored, or whether both references must be tagged before release setup. Clarify this contract to prevent repositories from using inconsistent workflow versions.

Also applies to: 53-59, 236-243

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@Technical/Release-Management/Central-and-Caller-Release-Flow.md` around lines
13 - 20, Clarify the central workflow repository contract throughout the
release-flow guide, especially the introductory model and the sections around
the Phase 1 setup and repository references. Explicitly identify whether
tazama-lf/workflows or frmscoe/workflows is authoritative, describe how changes
are mirrored, and state which repository or tag must be used before release
setup so callers cannot select inconsistent workflow versions.

Comment on lines +208 to +216
| Step | What starts it | What you see | Human action needed? |
|------|----------------|--------------|----------------------|
| Prepare package release | Release automation / manual "run release train" from `dev` | PR `release: vX.Y.Z` | Yes - review and approve |
| Prepare non-code release | Release automation / manual "run dev-to-main" from `dev` | PR to merge `dev` -> `main` | Yes - review and approve |
| Publish npm package | Merge of release PR (package files changed on `main`) | Package appears in GitHub Packages | Usually no |
| Build stable rule Docker image | Push/merge to `main` in a rule repo | Image tags `:X.Y.Z` and `:latest` | Usually no |
| Build RC rule Docker image | Push to `dev` in a rule repo | Image tags RC version and `:rc` | Usually no |
| Create GitHub release/tag | Release automation / manual "run release" from `main` | GitHub Release `vX.Y.Z` | Usually no after start |
| Sync day-to-day CI to rule repos | Changes merged to `dev` in `frmscoe/workflows` | Sync PRs in rule repos | Yes - merge sync PRs |

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🩺 Stability & Availability | 🟠 Major | 🏗️ Heavy lift

Specify the exact trigger and preconditions for the final release/tag step.

The table only says “release automation / manual run release from main,” while Phase 6 says the step runs “finally.” Document the workflow name, invocation method, required inputs, and the gate proving that all required package and image merges completed; otherwise operators may create the platform tag before the release wave is complete.

Also applies to: 296-310

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@Technical/Release-Management/Central-and-Caller-Release-Flow.md` around lines
208 - 216, Update the “Create GitHub release/tag” step in the release-flow table
and the corresponding Phase 6 section to specify the exact workflow name, how it
is invoked, all required inputs, and the verification gate confirming every
required package and rule-image merge has completed. State that this gate must
pass before the release/tag workflow runs, while preserving the existing
“finally” sequencing.

Comment on lines +238 to +240
1. Update the shared workflows in the central `workflows` repository.
2. Review and merge that PR into the workflows `dev` branch.
3. Tag a stable reference (for example `@v1`) so product repos use a known-good workflow version.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🔒 Security & Privacy | 🟠 Major | ⚡ Quick win

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
set -euo pipefail

file='Technical/Release-Management/Central-and-Caller-Release-Flow.md'

echo '--- Around lines 220-260 ---'
sed -n '220,260p' "$file"

echo
echo '--- Around lines 338-360 ---'
sed -n '338,360p' "$file"

echo
echo '--- Search for `@v1` / commit SHA / pinned reference mentions ---'
rg -n '`@v1`|commit SHA|SHA|pinned reference|immutable|mutable tag|tag a stable reference' Technical/Release-Management -S

Repository: tazama-lf/docs

Length of output: 3573


🏁 Script executed:

#!/bin/bash
set -euo pipefail

file='Technical/Release-Management/Central-and-Caller-Release-Flow.md'
nl -ba "$file" | sed -n '232,244p'
echo '---'
nl -ba "$file" | sed -n '344,354p'
echo '--- hits ---'
rg -n '`@v1`|commit SHA|pinned reference|immutable|stable reference|tag' "$file" -n -S

Repository: tazama-lf/docs

Length of output: 192


🏁 Script executed:

#!/bin/bash
set -euo pipefail

file='Technical/Release-Management/Central-and-Caller-Release-Flow.md'

echo '--- Around lines 88-96 ---'
sed -n '88,96p' "$file"

echo
echo '--- Around lines 344-352 ---'
sed -n '344,352p' "$file"

echo
echo '--- All mentions of workflows tag / stable reference / pin callers ---'
rg -n 'stable reference|stable workflows tag|Pin callers|`@v1`|known-good workflow version|pin' "$file" -S

Repository: tazama-lf/docs

Length of output: 1406


Use a full commit SHA instead of @v1. Tags can move, so product repos may pick up workflow changes without a caller PR. If tag-based releases are required, make the tag immutable and say so explicitly. Same applies to the later “stable workflows tag” note.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@Technical/Release-Management/Central-and-Caller-Release-Flow.md` around lines
238 - 240, Update the central workflow release steps to reference a full commit
SHA instead of a mutable tag such as `@v1`, ensuring product repositories consume
an immutable known-good revision. Apply the same change to the later “stable
workflows tag” guidance, or explicitly require tags to be immutable if tag-based
releases remain supported.

Comment on lines +275 to +279
Dependency tip:

- Publish shared libraries first.
- Only then release things that depend on those libraries.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win

Clarify dependency ordering at merge and publish time.

Phase 3 prepares release PRs before publishing occurs, so “only then release things that depend on those libraries” is ambiguous. State that dependent release PRs may be prepared early, but libraries must be merged and published before dependent PRs are merged.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@Technical/Release-Management/Central-and-Caller-Release-Flow.md` around lines
275 - 279, Clarify the “Dependency tip” to distinguish preparation from
execution: dependent release PRs may be prepared before shared libraries are
published, but the libraries’ release PRs must be merged and the libraries
published before dependent release PRs are merged.

Comment on lines +399 to +406
## Related technical docs

If you need deeper workflow file details, see the `workflow-docs` folder in each org's `workflows` repository:

- [`tazama-lf/workflows`](https://github.com/tazama-lf/workflows)
- [`frmscoe/workflows`](https://github.com/frmscoe/workflows)

Older historical release notes for GitHub/Jenkins still live in this folder (`Github-Release.md`, `Jenkins-Release-Builds.md`). This page describes the newer central/caller platform release model.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick win

Link the referenced technical documents directly.

This section directs readers to the workflow-docs folder and historical release files but only links repository roots. Add direct links or exact paths so readers can reach the referenced documentation without guessing.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@Technical/Release-Management/Central-and-Caller-Release-Flow.md` around lines
399 - 406, Update the “Related technical docs” section to link directly to the
referenced workflow-docs documentation and the historical Github-Release.md and
Jenkins-Release-Builds.md files, using exact repository paths or URLs so readers
can open each document without navigating from repository roots.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant