Skip to content

fix: enforce owner-controlled releases - #4

Merged
aarikmudgal merged 5 commits into
mainfrom
security/main-guardrails
Aug 18, 2026
Merged

fix: enforce owner-controlled releases#4
aarikmudgal merged 5 commits into
mainfrom
security/main-guardrails

Conversation

@aarikmudgal

@aarikmudgal aarikmudgal commented Aug 18, 2026

Copy link
Copy Markdown
Owner

Summary

  • Limited push-triggered CI to main, so each pull request runs one authoritative suite instead of duplicate branch and pull-request suites.
  • Added repository-wide CODEOWNERS coverage, including explicit ownership of .github/, for @aarikmudgal.
  • Required RELEASE_TOKEN to exist and authenticate exactly as aarikmudgal before release preparation begins.
  • Removed every publication fallback to github.token, keeping release commits, tags, assets, and publication under the authenticated account.
  • Reduced the built-in workflow token to read-only permissions.
  • Changed scheduled GitHub Actions dependency updates from monthly to weekly, grouped minor and patch updates, and kept major updates separate for explicit review.
  • Updated release and security documentation to match the enforced account and token boundaries.

Rationale

Public contributions remain available through pull requests while repository ownership and release publication stay account-controlled. Weekly grouped dependency maintenance reduces update lag and duplicate CI usage without combining higher-risk major upgrades.

Validation

  • Confirmed RELEASE_TOKEN is configured as a GitHub Actions secret without exposing or storing its value in the repository.
  • Passed all 21 release-tool tests.
  • Parsed both workflow files and the Dependabot configuration, then syntax-checked all 29 embedded shell blocks.
  • Confirmed release planning remains v0.2.0, build 2.
  • Confirmed no publication step falls back to github.token.
  • Completed tracked-file secret, signing-material, and attribution scans with no findings.

I limited push-triggered CI to main so pull requests run one authoritative suite while merged commits still receive the release-gating main check.
I made publication require a GitHub secret that authenticates as my account and added CODEOWNERS so only my review can satisfy the main-branch policy.
I removed write permission from the built-in GitHub token so only my verified RELEASE_TOKEN can mutate main, tags, or releases.
@aarikmudgal aarikmudgal self-assigned this Aug 18, 2026
@aarikmudgal
aarikmudgal merged commit d1d60ec into main Aug 18, 2026
6 checks passed
@aarikmudgal
aarikmudgal deleted the security/main-guardrails branch August 18, 2026 12:06
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.

1 participant