ci(pr-leakage): add caller stub for shared pr-leakage workflow#873
ci(pr-leakage): add caller stub for shared pr-leakage workflow#873btipling wants to merge 1 commit into
Conversation
What: Add .github/workflows/pr-leakage.yaml that invokes the reusable
pr-leakage-check.yaml hosted in ConductorOne/github-workflows on every
pull_request opened, edited, synchronize, and reopened event.
Why: config-validation — Public repos must not name a specific customer or
expose internal service topology in a permanent world-readable
artifact.
Refs: ConductorOne/github-workflows#85
| uses: ConductorOne/github-workflows/.github/workflows/pr-leakage-check.yaml@main | ||
| with: | ||
| pr_number: ${{ github.event.pull_request.number }} | ||
| secrets: inherit |
There was a problem hiding this comment.
🟡 Suggestion: secrets: inherit forwards all repository secrets to the reusable workflow. Since the scanner only needs read access to PR metadata (and GITHUB_TOKEN is automatically available to reusable workflows), consider dropping this line to follow least-privilege. If the reusable workflow later adds a secrets: input, this would silently expose every repo secret to it.
| secrets: inherit |
General PR Review: ci(pr-leakage): add caller stub for shared pr-leakage workflowBlocking Issues: 0 | Suggestions: 1 | Threads Resolved: 0 Review SummaryThis PR adds a single GitHub Actions workflow file ( Security IssuesNone found. Correctness IssuesNone found. Suggestions
Prompt for AI agents |
Summary
Add a one-file caller stub that wires this repo into the reusable
pr-leakage-checkworkflow hosted inConductorOne/github-workflows. The stub scans every PR's title, body, and commit messages for customer-identifying data and internal infra references.What changed
.github/workflows/pr-leakage.yaml— invokesConductorOne/github-workflows/.github/workflows/pr-leakage-check.yaml@mainonpull_requestevents of typesopened,edited,synchronize, andreopened.No source code changes.
Why
config-validation — Public repos must not name a specific customer or expose internal service topology in a permanent, world-readable artifact. The four trigger types cover the failure modes: a clean PR cannot have its body edited later to add a customer name without re-scanning, and new commit messages on a push are also scanned.
Test plan
ConductorOne/github-workflows) covers the scanner against captured leaky and clean fixtures.Risk
low — The workflow runs in the base-repo context with read-only
GITHUB_TOKENand pulls the scanner from@mainof the shared repo, not from the PR head, so a fork PR cannot modify the scanner that runs on it. Failure surfaces as a check failure without blocking merge until a repo admin adds the check to required-checks.Follow-ups
uses:ref to a tagged version onceConductorOne/github-workflowscuts one.pr-leakage / checkto this repo's required checks.Refs: ConductorOne/github-workflows#85