Skip to content

docs(dependabot): App secrets at org level + rebase workflow optional for non-strict repos#97

Merged
don-petry merged 2 commits intomainfrom
docs/dependabot-app-secrets-org-level
Apr 8, 2026
Merged

docs(dependabot): App secrets at org level + rebase workflow optional for non-strict repos#97
don-petry merged 2 commits intomainfrom
docs/dependabot-app-secrets-org-level

Conversation

@don-petry
Copy link
Copy Markdown
Contributor

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

Updates standards/dependabot-policy.md based on findings from petry-projects/ContentTwin#53 and petry-projects/bmad-bgreat-suite#79.

Changes

  1. APP_ID / APP_PRIVATE_KEY are org-level, not per-repo. The reusable callers already use secrets: inherit, so any repo with a centralized dependabot workflow picks them up from org automatically. Per-repo copies (currently in broodly, google-app-scripts, markets, TalkTerm) are deprecated drift; rotation should happen once at the org level.

  2. dependabot-rebase.yml is now marked optional — adopt only when the repo enforces strict required-status-checks. Non-strict repos (bmad-bgreat-suite is one) don't need it. Adding it without strict checks just produces failure noise from missing app secrets and serves no purpose.

  3. Required-status-check guidance now names the canonical reusable check (dependency-audit / Detect ecosystems) and warns against requiring per-ecosystem jobs which would fail the gate when reporting SKIPPED.

Follow-ups (separate work, not in this PR)

  • Org admin runs gh secret set APP_ID --org petry-projects --visibility all and same for APP_PRIVATE_KEY to provision the org-level secrets (resolves ContentTwin#53)
  • Delete dependabot-rebase.yml from bmad-bgreat-suite (separate PR to that repo, resolves bmad#79)
  • Optional cleanup: delete the per-repo APP_ID/APP_PRIVATE_KEY from the 4 existing repos once org-level secrets are confirmed in place

Test plan

  • Doc-only change, no code touched
  • CI on this branch

🤖 Generated with Claude Code

Summary by CodeRabbit

  • Documentation
    • Updated repository setup instructions for conditional workflow configuration based on branch protection settings.
    • Migrated GitHub App secret management from per-repository to organization-level centralization.
    • Clarified branch protection required status check specifications to prevent merge blocking.

…n-strict

Three updates to standards/dependabot-policy.md based on findings from
the org-wide compliance work in #87..96 and
petry-projects/ContentTwin#53:

1. APP_ID / APP_PRIVATE_KEY are documented as ORG-LEVEL secrets, not
   per-repo. The reusable callers use `secrets: inherit` so any repo
   with a centralized dependabot workflow picks them up automatically
   from org. Per-repo copies are deprecated drift; rotation should
   happen once at the org level.

2. dependabot-rebase.yml is now marked OPTIONAL — adopt only when the
   repo enforces strict required-status-checks. Non-strict repos
   (e.g. petry-projects/bmad-bgreat-suite) don't need it because PRs
   that fall behind can merge as-is. Adding the rebase workflow on
   non-strict repos just produces failure noise from missing app
   secrets and serves no purpose.

3. The required-status-check guidance now names the canonical
   reusable check (`dependency-audit / Detect ecosystems`) and warns
   against requiring per-ecosystem jobs, which report SKIPPED when
   their lockfile is absent and would fail the gate.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Copilot AI review requested due to automatic review settings April 8, 2026 22:41
@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented Apr 8, 2026

Warning

Rate limit exceeded

@don-petry has exceeded the limit for the number of commits that can be reviewed per hour. Please wait 7 minutes and 28 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 7 minutes and 28 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: aadff4ae-3fcf-41e0-b624-8e49b7be29f1

📥 Commits

Reviewing files that changed from the base of the PR and between 171c44d and d3ee2f6.

📒 Files selected for processing (1)
  • standards/dependabot-policy.md
📝 Walkthrough

Walkthrough

Documentation update to the Dependabot policy clarifying conditional workflow inclusion based on branch protection settings, centralizing secrets to organization level with secrets: inherit, and specifying the exact required status check name dependency-audit / Detect ecosystems while prohibiting per-ecosystem job requirements.

Changes

Cohort / File(s) Summary
Dependabot Policy Documentation
standards/dependabot-policy.md
Clarified conditional inclusion of dependabot-rebase.yml workflow based on strict branch protection checks, transitioned secret management from per-repository APP_ID/APP_PRIVATE_KEY to centralized organization-level secrets using secrets: inherit, and refined required status check naming to require dependency-audit / Detect ecosystems specifically while prohibiting per-ecosystem conditional job requirements.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~5 minutes

Possibly related issues

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 directly describes the main changes: moving app secrets to organization level and making the rebase workflow optional for non-strict repos.
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 docs/dependabot-app-secrets-org-level

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

don-petry pushed a commit to petry-projects/bmad-bgreat-suite that referenced this pull request Apr 8, 2026
…trict repo

Closes #79.

The dependabot-rebase reusable exists to handle the case where branch
protection requires "branches must be up to date" (strict required-
status-checks). When a Dependabot PR falls behind main, the rebase
workflow uses a GitHub App token to merge main into the PR branch and
then merge the PR, forming a self-sustaining serialized chain.

This repo does NOT enforce strict status checks:

  - ruleset 14805960 (code-quality): strict_required_status_checks_policy=false
  - ruleset 14759908 (protect-branches): strict_required_status_checks_policy=false
  - no classic branch protection on main

Without strict checks, Dependabot PRs that fall behind can merge as-is,
so the rebase workflow has nothing useful to do. It was being added
on every CI run and failing immediately with:

  Secret APP_ID is required, but not provided while calling.
  Secret APP_PRIVATE_KEY is required, but not provided while calling.

Removing the workflow eliminates the failure noise and removes the
need for repo-level GitHub App secrets here entirely.

Per the updated standards/dependabot-policy.md (petry-projects/.github#97),
dependabot-rebase.yml is now documented as optional and only required
when strict status checks are enforced.

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

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Updates Dependabot adoption guidance to reflect org-level GitHub App secrets, clarify when the rebase workflow is actually needed, and correct required-status-check configuration to match the canonical dependency-audit reusable workflow.

Changes:

  • Document that APP_ID / APP_PRIVATE_KEY should be managed as org-level secrets and inherited by caller stubs.
  • Mark dependabot-rebase.yml as optional unless strict required-status-checks are enforced.
  • Update required-status-check guidance to the canonical dependency-audit / Detect ecosystems and warn against requiring conditional per-ecosystem jobs.

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

Comment thread standards/dependabot-policy.md
Copy link
Copy Markdown

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@standards/dependabot-policy.md`:
- Around line 211-217: Add a short verification step to the APP_ID /
APP_PRIVATE_KEY org-secrets paragraph: explain how to confirm org-level secrets
exist before deleting per-repo copies by running the GitHub CLI check (e.g., use
`gh secret list --org <org>` and filter for APP_ID and APP_PRIVATE_KEY) and
mention confirming `secrets: inherit` usage in dependabot workflows; reference
the APP_ID, APP_PRIVATE_KEY and secrets: inherit terms so maintainers know where
to verify and what command to run.
🪄 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: ASSERTIVE

Plan: Pro

Run ID: 7985007f-0dba-4f4e-903f-637734bf03a8

📥 Commits

Reviewing files that changed from the base of the PR and between 99bd596 and 171c44d.

📒 Files selected for processing (1)
  • standards/dependabot-policy.md

Comment thread standards/dependabot-policy.md
don-petry added a commit to petry-projects/bmad-bgreat-suite that referenced this pull request Apr 8, 2026
…trict repo (#82)

Closes #79.

The dependabot-rebase reusable exists to handle the case where branch
protection requires "branches must be up to date" (strict required-
status-checks). When a Dependabot PR falls behind main, the rebase
workflow uses a GitHub App token to merge main into the PR branch and
then merge the PR, forming a self-sustaining serialized chain.

This repo does NOT enforce strict status checks:

  - ruleset 14805960 (code-quality): strict_required_status_checks_policy=false
  - ruleset 14759908 (protect-branches): strict_required_status_checks_policy=false
  - no classic branch protection on main

Without strict checks, Dependabot PRs that fall behind can merge as-is,
so the rebase workflow has nothing useful to do. It was being added
on every CI run and failing immediately with:

  Secret APP_ID is required, but not provided while calling.
  Secret APP_PRIVATE_KEY is required, but not provided while calling.

Removing the workflow eliminates the failure noise and removes the
need for repo-level GitHub App secrets here entirely.

Per the updated standards/dependabot-policy.md (petry-projects/.github#97),
dependabot-rebase.yml is now documented as optional and only required
when strict status checks are enforced.

Co-authored-by: DJ <dj@Rachels-MacBook-Air.local>
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…epo App secrets

CodeRabbit on #97: explain how to confirm org-level secrets exist
before deleting per-repo copies. Adds the exact gh CLI command and
notes that the dependabot caller stubs must also be confirmed to
include 'secrets: inherit' before cleanup, otherwise the workflow
falls back to nothing.

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

sonarqubecloud Bot commented Apr 8, 2026

@don-petry don-petry merged commit ae9709f into main Apr 8, 2026
18 checks passed
@don-petry don-petry deleted the docs/dependabot-app-secrets-org-level branch April 8, 2026 22:51
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