Skip to content

ci: add OSPO branch protection and environment-scoped workflows#20

Merged
jung-thomas merged 1 commit into
mainfrom
ospo-branch-protection
May 22, 2026
Merged

ci: add OSPO branch protection and environment-scoped workflows#20
jung-thomas merged 1 commit into
mainfrom
ospo-branch-protection

Conversation

@jung-thomas
Copy link
Copy Markdown
Contributor

Summary

Implements OSPO requirements for main branch protection and secret-handling workflow protection.

  • Ruleset main-protection (already created via API, JSON spec checked in at .github/rulesets/main-protection.json): requires PR + CI test check, blocks force-push and deletion, admin bypass enabled.
  • Three GitHub Environments (already created via API):
    • releaserelease.yml runs here
    • signingrelease-tray.yml and sign-windows.yml run here, requires manual approval from a repo admin (currently jung-thomas)
    • news-syncnews-sync.yml runs here
  • Workflows updated with environment: declarations on the relevant jobs.
  • CLAUDE.md release-pipeline section updated to document the approval gate.

Test plan

Notes

  • This is the first PR exercising the new protection rules; if anything is misconfigured, this PR is where it'll surface.
  • Tag protection was intentionally not added at the repo level — the SAP-samples org already enforces tag immutability, and a repo-level tag ruleset would conflict with release.yml pushing tags via GITHUB_TOKEN (see CLAUDE.md release section).

Adds repo ruleset on `main` (PR + CI `test` check required, blocks
force-push and deletion, admin bypass). Wires publishing/secret-using
workflows to GitHub Environments: release.yml -> release,
sign-windows.yml + release-tray.yml -> signing (required reviewer),
news-sync.yml -> news-sync. Documents the new approval gate in the
CLAUDE.md release section.

Follow-up (manual): scope SIGNPATH_* secrets to the signing
environment and YOUTUBE_API_KEY to the news-sync environment.
@jung-thomas jung-thomas merged commit d6e73be into main May 22, 2026
3 checks passed
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