Skip to content

Port git-auto-merge check set + bandit + post-release install verification - #36

Merged
clintmod merged 1 commit into
masterfrom
fix/35-port-check-set
Jul 16, 2026
Merged

Port git-auto-merge check set + bandit + post-release install verification#36
clintmod merged 1 commit into
masterfrom
fix/35-port-check-set

Conversation

@clintmod

Copy link
Copy Markdown
Owner

Ports the applicable checks from git-auto-merge's CI (#35), per-row like the rest.

New checks (each its own CI row)

  • typecheck — pyright 1.1.411, basic mode. Immediately found a real bug: get_home_dir() did getenv('HOME') + '/'TypeError when HOME is unset (now environ['HOME'], a clear KeyError), and execute_module used importlib.util/importlib.machinery without importing them (worked only because pytest imports them first).
  • bandit — configured for a subprocess-by-design codebase: blanket subprocess advisories (B404/B603/B607) skipped in config with rationale; the meaningful ones stay active with targeted # nosec + comments (B602 shell= — only used with fixed command strings; B310 urlopen — hardcoded https URLs). Also replaced a release-path assert with an explicit raise (B101).
  • deptry — dependency hygiene; known_first_party covers the flat src/ modules, pytest plugins/CLI tools per-rule-ignored (invoked, never imported). Clean.
  • gitleaks — full-history secret scan (fetch-depth 0; 112 commits, clean). Tool pinned via mise.
  • format:check — split out of lint:ruff into its own row, matching git-auto-merge.

release-verify workflow

New release-verify.yml: on release-published (+ manual dispatch), installs from the live tapbrew install clintmod/formulas/macprefs — with 5×60s retries (the v1.0.27 rollout hit exactly this propagation transient), asserts the installed version equals the release tag, and runs a real backup. This covers the gap between the build job (local tarball) and what users actually run.

Skipped, with reasons

flake8 (ruff already runs pyflakes/pycodestyle — would double-report), hadolint/docker (no Dockerfile).

New umbrella task: rite check runs everything CI runs, in parallel. All checks verified green locally.

Closes #35

🤖 Generated with Claude Code

…mat:check row, release-verify workflow (#35)

pyright found a real bug: get_home_dir crashed with TypeError when HOME
was unset (now a clear KeyError), and execute_module relied on pytest
having already imported importlib.util/machinery.
@clintmod
clintmod merged commit a275434 into master Jul 16, 2026
13 checks passed
@clintmod
clintmod deleted the fix/35-port-check-set branch July 16, 2026 18:02
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.

Port git-auto-merge check set (+ bandit) and add post-release install verification

1 participant