Skip to content

feat(workflows): pin reusable callers to @v1 and document tier model - #88

Merged
don-petry merged 3 commits into
mainfrom
feat/pin-stubs-to-v1-and-tier-doc
Apr 8, 2026
Merged

feat(workflows): pin reusable callers to @v1 and document tier model#88
don-petry merged 3 commits into
mainfrom
feat/pin-stubs-to-v1-and-tier-doc

Conversation

@don-petry

@don-petry don-petry commented Apr 8, 2026

Copy link
Copy Markdown
Contributor

Summary

Follow-up to #87. Now that the v1 tag exists on the central repo's reusables, pin every stub from @main to @v1 so downstream repos are insulated from breaking changes on main. Also documents the centralization tier model in ci-standards.md.

Changes

  • Pinned to @v1 (7 files):
    • All 6 stubs in standards/workflows/ (claude, dependency-audit, dependabot-automerge, dependabot-rebase, agent-shield, feature-ideation)
    • The central repo's own .github/workflows/claude.yml
  • ci-standards.md: Added a "Centralization tiers" section documenting the three tiers (Tier 1 stub / Tier 2 per-repo template / Tier 3 free per-repo). Includes a tier column in the templates table and explains the @v1 pinning rationale.

Test plan

  • actionlint clean on all 8 changed files
  • All 7 callers verified pinned to @v1
  • CI on this branch
  • After merge: extend compliance-audit (PR C), then sweep downstream repos

Risk

Low. The v1 tag was created in #87's merge commit (9524890) and points to identical content. Switching from @main to @v1 is a no-op for the next run; the value comes from future immunity to bad commits on main.

🤖 Generated with Claude Code

Summary by CodeRabbit

  • Documentation

    • Updated CI standards with a new workflow centralization tier framework defining three adoption patterns with editing constraints and compliance guidelines.
  • Chores

    • Transitioned six reusable workflow references from dynamic branch tracking to pinned version tags for consistent execution.

Pins all stubs in standards/workflows/ and the central repo's own
.github/workflows/claude.yml from @main to @v1. From here on, a bad
commit on main cannot break every downstream repo simultaneously —
breaking changes will publish v2 and downstream repos opt in.

Adds a "Centralization tiers" section to ci-standards.md documenting
the three tiers (stub / per-repo template / free per-repo) so future
agents know whether a workflow file is editable, what they may tune,
and where to send fixes when behavior needs to change.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Copilot Bot review requested due to automatic review settings April 8, 2026 03:12
@coderabbitai

coderabbitai Bot commented Apr 8, 2026

Copy link
Copy Markdown

Warning

Rate limit exceeded

@don-petry has exceeded the limit for the number of commits that can be reviewed per hour. Please wait 4 minutes and 40 seconds before requesting another review.

Your organization is not enrolled in usage-based pricing. Contact your admin to enable usage-based pricing to continue reviews beyond the rate limit, or try again in 4 minutes and 40 seconds.

⌛ How to resolve this issue?

After the wait time has elapsed, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

We recommend that you space out your commits to avoid hitting the rate limit.

🚦 How do rate limits work?

CodeRabbit enforces hourly rate limits for each developer per organization.

Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout.

Please see our FAQ for further information.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro

Run ID: d916ee33-b9cc-4737-acc1-4941d8984ed3

📥 Commits

Reviewing files that changed from the base of the PR and between c36c21b and aa0dce0.

📒 Files selected for processing (2)
  • standards/ci-standards.md
  • standards/workflows/feature-ideation.yml
📝 Walkthrough

Walkthrough

Updated CI standards documentation to define workflow centralization tiers and pinned multiple stub workflows to stable version tag (@v1) instead of tracking the main branch.

Changes

Cohort / File(s) Summary
Documentation Update
standards/ci-standards.md
Introduced "Centralization tiers" framework defining three adoption levels: Tier 1 (stub workflows delegating to reusable files), Tier 2 (per-repo templates with limited edits), and Tier 3 (free automation with compliance requirements). Updated "Available templates" table to include tier mappings.
Workflow Version Pinning
standards/workflows/agent-shield.yml, standards/workflows/claude.yml, standards/workflows/dependabot-automerge.yml, standards/workflows/dependabot-rebase.yml, standards/workflows/dependency-audit.yml, standards/workflows/feature-ideation.yml
Updated reusable workflow references from @main to @v1 across all six stub caller workflows, stabilizing version references while maintaining existing job structure and secret inheritance.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~12 minutes

Possibly related PRs

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately summarizes the main changes: pinning reusable workflow callers from @main to @v1 and documenting the tier model in ci-standards.md.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch feat/pin-stubs-to-v1-and-tier-doc

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

claude-code-action validates that .github/workflows/claude.yml in a PR
is byte-identical to main, so updating it within a normal PR is
impossible — the validation fails before the merge can land. Updating
the central repo's own caller will be done as a tiny separate change
after this lands.

Standards stubs remain pinned to @v1 — that is the change that matters
for downstream repos.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

Pins the org’s thin caller workflow stubs to the newly created @v1 reusable-workflow tag (instead of @main) to reduce downstream breakage risk, and updates CI standards documentation to explain the workflow centralization tier model.

Changes:

  • Updated all standards/workflows/* thin caller stubs to use petry-projects/.github/.github/workflows/*-reusable.yml@v1.
  • Updated this repo’s own .github/workflows/claude.yml to call the @v1 reusable.
  • Added “Centralization tiers” documentation and a tier column to the “Available templates” table in standards/ci-standards.md.

Reviewed changes

Copilot reviewed 7 out of 7 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
standards/workflows/feature-ideation.yml Pins reusable call from @main to @v1.
standards/workflows/dependency-audit.yml Pins reusable call from @main to @v1.
standards/workflows/dependabot-rebase.yml Pins reusable call from @main to @v1.
standards/workflows/dependabot-automerge.yml Pins reusable call from @main to @v1.
standards/workflows/claude.yml Pins reusable call from @main to @v1.
standards/workflows/agent-shield.yml Pins reusable call from @main to @v1.
standards/ci-standards.md Documents centralization tiers and adds tier column to the templates table.
.github/workflows/claude.yml Pins reusable call from @main to @v1 for this repo’s own caller.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread standards/ci-standards.md Outdated
Comment thread standards/ci-standards.md
coderabbitai[bot]
coderabbitai Bot previously approved these changes Apr 8, 2026
Address Copilot review on #88:

1. feature-ideation.yml: prepend the same SOURCE OF TRUTH header block
   used by the other Tier 1 stubs so the claim "Tier 1 stubs all carry
   an identical header" is actually true.

2. ci-standards.md tier table: drop the inaccurate "~30-line" claim
   (feature-ideation.yml is ~95 lines because of the `project_context`
   input). Replace with "thin caller stub" and call out feature-ideation's
   required input alongside agent-shield's optional ones.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@sonarqubecloud

sonarqubecloud Bot commented Apr 8, 2026

Copy link
Copy Markdown

@don-petry
don-petry merged commit 6ba1b56 into main Apr 8, 2026
@don-petry
don-petry deleted the feat/pin-stubs-to-v1-and-tier-doc branch April 8, 2026 03:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants