Skip to content

chore: repo hygiene — CodeQL, Dependabot, SECURITY.md, badges#12

Open
nvandessel wants to merge 3 commits intomainfrom
chore/repo-hygiene
Open

chore: repo hygiene — CodeQL, Dependabot, SECURITY.md, badges#12
nvandessel wants to merge 3 commits intomainfrom
chore/repo-hygiene

Conversation

@nvandessel
Copy link
Copy Markdown
Owner

Summary

  • CodeQL scanning workflow (weekly + on PRs)
  • Dependabot for pip and GitHub Actions dependencies
  • SECURITY.md with vulnerability reporting process
  • README badges: tests, CodeQL, license, Python version
  • Coverage reporting in CI
  • Repo description and topics set

No PyPI deployment

Not needed yet — hippofloop is used locally via uv run hippofloop. PyPI publishing can be added when there's a stable release.

nvandessel and others added 2 commits March 29, 2026 23:06
…ge in CI

- Add CodeQL scanning workflow (weekly + on PRs)
- Add Dependabot config for pip and GitHub Actions
- Add SECURITY.md with vulnerability reporting process
- Add README badges (tests, CodeQL, license, Python version)
- Add coverage reporting to CI test step
- Set repo description and topics

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@greptile-apps
Copy link
Copy Markdown
Contributor

greptile-apps bot commented Mar 29, 2026

Greptile Summary

This PR adds repo hygiene infrastructure: Dependabot config for pip and GitHub Actions, a SECURITY.md vulnerability reporting policy, README status badges, and coverage reporting in CI. The changes are straightforward and largely low-risk, but one issue needs attention before merge.

  • Dependabot (dependabot.yml): Correctly configured for weekly pip and GitHub Actions updates.
  • Coverage in CI (test.yml): --cov=hippofloop --cov-report=term-missing added; pytest-cov>=5.0 is already in dev dependencies — no breakage risk.
  • .gitignore: .coverage entry added; the binary accidentally committed in an earlier commit of this branch was properly removed.
  • SECURITY.md: Clean vulnerability disclosure policy pointing to GitHub private advisories; the previously flagged misleading "Email:" label was fixed in the head commit.
  • README badges: The Tests, License, and Python badges are fine. The CodeQL badge image URL still references .github/workflows/codeql.yml/badge.svg, but that workflow file was removed in this PR's head commit. The badge will render as permanently inactive until either the workflow file is restored or the badge is updated to use the security/code-scanning/badge.svg endpoint.

Confidence Score: 4/5

Safe to merge after fixing the broken CodeQL badge image URL — all other changes are correct and low-risk.

One P1 issue remains: the CodeQL badge image points to a workflow file (codeql.yml) that no longer exists in the repo, so it will render as permanently inactive. All other changes (Dependabot, coverage flags, gitignore, SECURITY.md) are clean. Score is 4 rather than 5 because of this present, observable defect in the changed file.

README.md — the CodeQL badge image URL references a deleted workflow file.

Important Files Changed

Filename Overview
README.md Adds four status badges; the CodeQL badge image URL references a workflow file that was removed in this PR's head commit, causing it to render as permanently inactive.
.github/dependabot.yml New Dependabot config enabling weekly updates for both pip and GitHub Actions dependencies — correctly structured.
.github/workflows/test.yml Adds --cov=hippofloop --cov-report=term-missing to the pytest invocation; pytest-cov>=5.0 is already declared in dev dependencies so this is safe.
.gitignore Adds .coverage to gitignore; the binary was accidentally committed in an earlier commit of this PR and was subsequently removed — the gitignore entry prevents recurrence.
SECURITY.md New security policy file directing reporters to GitHub private security advisories; previously flagged 'Email:' label issue was resolved in the head commit.

Flowchart

%%{init: {'theme': 'neutral'}}%%
flowchart TD
    A[Push or PR to main] --> B[test.yml workflow]
    B --> C[Checkout]
    C --> D[Install uv + deps]
    D --> E[Lint via ruff]
    E --> F[pytest + coverage report]

    A --> G{codeql.yml exists?}
    G -- No, file removed --> H[Badge inactive - no status returned]
    G -- Yes, file present --> I[CodeQL scan runs]
    I --> J[Code scanning results page]

    K[Dependabot weekly] --> L[pip deps PR]
    K --> M[GitHub Actions deps PR]
Loading

Reviews (2): Last reviewed commit: "fix: address Greptile review + CodeQL co..." | Re-trigger Greptile

- Remove custom codeql.yml — repo default setup already handles it
- Fix SECURITY.md misleading "Email:" label (Greptile P2)
- CodeQL badge points to code scanning page

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
# hippofloop

[![Tests](https://github.com/nvandessel/hippofloop/actions/workflows/test.yml/badge.svg)](https://github.com/nvandessel/hippofloop/actions/workflows/test.yml)
[![CodeQL](https://github.com/nvandessel/hippofloop/actions/workflows/codeql.yml/badge.svg)](https://github.com/nvandessel/hippofloop/security/code-scanning)
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 CodeQL badge image will always render as inactive

The badge image URL (https://github.com/…/actions/workflows/codeql.yml/badge.svg) requires an actual .github/workflows/codeql.yml file to exist in the repository. In the latest commit of this PR (a3359c3), that file was deliberately removed ("Remove custom codeql.yml — repo default setup already handles it") and no such file exists at HEAD. GitHub's default CodeQL setup does not create a user-visible codeql.yml workflow file, so the .badge.svg endpoint will return a permanent "no status" / inactive badge.

The link target was correctly updated to /security/code-scanning, but the image source was left pointing at the missing workflow.

Options to fix:

  1. Re-add codeql.yml — restore a minimal CodeQL workflow (with all actions pinned to SHAs per the previous review feedback) so the badge has a real workflow to track.
  2. Remove the badge — since the default setup doesn't surface a per-workflow badge, omit the CodeQL badge until a workflow file is added.
Suggested change
[![CodeQL](https://github.com/nvandessel/hippofloop/actions/workflows/codeql.yml/badge.svg)](https://github.com/nvandessel/hippofloop/security/code-scanning)
[![CodeQL](https://github.com/nvandessel/hippofloop/security/code-scanning/badge.svg)](https://github.com/nvandessel/hippofloop/security/code-scanning)

Note: the security/code-scanning/badge.svg path is the GitHub-provided badge for the code-scanning results page and works without a custom workflow file.

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