Skip to content

ci: add GitHub Actions CI workflow - #4

Merged
bkearns merged 3 commits into
mainfrom
ci/github-actions
Jun 27, 2026
Merged

ci: add GitHub Actions CI workflow#4
bkearns merged 3 commits into
mainfrom
ci/github-actions

Conversation

@bkearns

@bkearns bkearns commented Jun 27, 2026

Copy link
Copy Markdown
Contributor

Executive Summary

Adds a CI workflow so main can require green checks before merge. Runs on every PR into main.

Checks (checks job)

  • pre-commit (--all-files) — ruff, ruff-format, bandit, detect-secrets (baseline), shfmt, codespell, hygiene.
  • Python compilecompileall over hooks/ and plugin/.
  • Installer dry-run (hermetic) — stubs the ferrosa-memory turn-hook helper (which ships with ferrosa-memory, not this repo) so the existence check passes, and writes wrappers to $RUNNER_TEMP so nothing outside the workspace is touched. Exercises arg parsing, wrapper/snippet generation, and the manifest.

Notes

  • PR-only (on: pull_request): pre-commit's no-commit-to-branch hook fails on main by design, so CI gates at the PR rather than on push to main.
  • After this merges, I'll add the checks context as a required status check on main's branch protection.

Test Plan

  • CI checks job is green on this PR
  • checks then added as a required status check on main

bkearns added 3 commits June 27, 2026 13:50
Runs on pull_request into main: pre-commit (--all-files), a Python compile check, and a hermetic installer dry-run (stubs the ferrosa-memory turn-hook helper and writes to a temp dir). PR-only because pre-commit's no-commit-to-branch hook fails on main by design.
B310 (raw-urllib MCP client), B404/B603 (installer's fixed verification subprocess), B110 (fail-open config load) are intentional per CLAUDE.md. A stale local pre-commit venv masked these; pinning the skip list makes bandit deterministic in CI.
@bkearns
bkearns merged commit 4a2b8fd into main Jun 27, 2026
1 check passed
@bkearns
bkearns deleted the ci/github-actions branch June 27, 2026 20:56
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