Skip to content

ci: add CI workflow to run plugin against itself#267

Merged
jmeridth merged 1 commit intomainfrom
jm_ci_run_plugin
Mar 18, 2026
Merged

ci: add CI workflow to run plugin against itself#267
jmeridth merged 1 commit intomainfrom
jm_ci_run_plugin

Conversation

@jmeridth
Copy link
Member

@jmeridth jmeridth commented Mar 17, 2026

TLDR I need this to feel comfortable when we merge PRs

What

Added a CI workflow and supporting script that builds the plugin, downloads the latest privateer release, and runs the plugin against the ossf/pvtr-github-repo-scanner repository to validate OSPS baseline Level 1 controls.

Why

The project had no integration-level CI to verify the plugin works end-to-end against a real GitHub repository. This mirrors the CI pattern used by the privateer project itself, giving confidence that changes don't break the plugin's evaluation capabilities.

Notes

  • The workflow uses secrets.GITHUB_TOKEN with only contents: read — if OSPS controls query endpoints beyond basic repo content (branch protection, security advisories, Dependabot), additional permissions or a PAT may be needed.
  • The ci.sh script downloads the latest privateer release at runtime; a breaking change in privateer could cause CI failures unrelated to this repo's code.
  • The tmp/ directory was added to .gitignore to support local runs of ci.sh.

## What

Added a CI workflow and supporting script that builds the plugin, downloads
the latest privateer release, and runs the plugin against the
ossf/pvtr-github-repo-scanner repository to validate OSPS baseline Level 1
controls.

## Why

The project had no integration-level CI to verify the plugin works end-to-end
against a real GitHub repository. This mirrors the CI pattern used by the
privateer project itself, giving confidence that changes don't break the
plugin's evaluation capabilities.

## Notes

- The workflow uses `secrets.GITHUB_TOKEN` with only `contents: read` — if OSPS controls query endpoints beyond basic repo content (branch protection, security advisories, Dependabot), additional permissions or a PAT may be needed.
- The ci.sh script downloads the latest privateer release at runtime; a breaking change in privateer could cause CI failures unrelated to this repo's code.
- The `tmp/` directory was added to .gitignore to support local runs of ci.sh.

Signed-off-by: jmeridth <jmeridth@gmail.com>
@jmeridth jmeridth requested a review from a team as a code owner March 17, 2026 22:18
@jmeridth jmeridth merged commit 8276c0b into main Mar 18, 2026
11 checks passed
@jmeridth jmeridth deleted the jm_ci_run_plugin branch March 18, 2026 01:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants