Skip to content

ci: add security scanning and test coverage for the public repo - #23

Merged
titan-ron merged 6 commits into
mainfrom
titan/public-repo-security-setup-0dbe85
Aug 11, 2026
Merged

titan-ron merged 6 commits into
mainfrom
titan/public-repo-security-setup-0dbe85

Conversation

@titan-ron

Copy link
Copy Markdown
Collaborator

Now that the repo is public, wire up the free security features that can live in the repo itself, plus code coverage.

Security

  • CodeQL workflow (javascript-typescript + actions matrix, PRs + main + weekly schedule), pinned to v4.37.6
  • dependency-review job on PRs — fails on newly-introduced deps with known high-severity vulnerabilities
  • CODEOWNERS (@titan-ron @matansocher @amitbreuer) — the branch ruleset already requires code-owner review, which was a no-op without this file
  • SECURITY.md directing reporters to private vulnerability reporting (to be enabled in repo settings after this merges)
  • Dependabot now also covers npm (weekly, minor/patch grouped into one PR)

Coverage

  • npm run test:coverage runs both vitest tiers with v8 coverage over src/**
  • CI posts a coverage table to the run summary and uploads the HTML report as an artifact (report-only for now — no threshold gate)
  • vitest.workspace.ts migrated to vitest.config.ts with test.projects (the workspace file is deprecated in vitest 3.2, and coverage config lives at the root). Baseline: 36.9% lines / 74.7% branches across 92 tests.

Validation

  • npm run typecheck clean
  • npm run test:coverage — 92/92 tests pass, coverage report generated

Follow-up (settings, not PR-able): enable private vulnerability reporting, add ci as a required status check on the ruleset.

- CodeQL workflow (javascript-typescript + actions, weekly schedule)
- dependency-review job blocking PRs that add vulnerable dependencies
- CODEOWNERS so the ruleset's code-owner review requirement is enforced
- SECURITY.md pointing reporters at private vulnerability reporting
- dependabot npm ecosystem (weekly, minor/patch grouped)
- vitest v8 coverage: test:coverage script, CI step summary, report artifact;
  vitest.workspace.ts migrated to vitest.config.ts (workspace file is
  deprecated in vitest 3.2, and coverage config lives at the root)
@github-advanced-security

Copy link
Copy Markdown

You are seeing this message because GitHub Code Scanning has recently been set up for this repository, or this pull request contains the workflow file for the Code Scanning tool.

What Enabling Code Scanning Means:

  • The 'Security' tab will display more code scanning analysis results (e.g., for the default branch).
  • Depending on your configuration and choice of analysis tool, future pull requests will be annotated with code scanning analysis results.
  • You will be able to see the analysis results for the pull request's branch on this overview once the scans have completed and the checks have passed.

For more information about GitHub Code Scanning, check out the documentation.

Replaces the coverage-report artifact with actions/upload-code-coverage,
which feeds GitHub's built-in coverage UI; vitest now also emits a
cobertura report for it.
- unit and component tests run separately again, each with coverage
  scoped to the layer it exercises, uploaded under its own label
- coverage upload is blocking again (fail-on-error default)
- step-summary coverage table removed; GitHub's coverage UI replaces it
- codeql.yml removed in favor of GitHub's built-in default setup
- CODEOWNERS narrowed to @titan-ron
@github-code-quality

github-code-quality Bot commented Aug 10, 2026 •

Copy link
Copy Markdown

Code Coverage Overview

Languages: TypeScript

TypeScript / code-coverage/unit

The overall coverage in commit c7f247b in the titan/public-repo-se... branch is 59%. Coverage data for the main branch is not yet available.

Show a code coverage summary of the most covered files.
File main titan/public-repo-se... c7f247b +/-
src/main/parsers/util.ts — 93% —
src/main/parsers/copilot.ts — 92% —
src/main/providerArchived.ts — 92% —
src/main/repos.ts — 91% —
src/main/mcp.ts — 90% —
src/main/parsers/claude.ts — 87% —
src/main/parsers/codex.ts — 86% —
src/main/indexer.ts — 79% —
src/main/usage.ts — 60% —
src/main/chat.ts — 41% —

TypeScript / code-coverage/component

The overall coverage in commit c7f247b in the titan/public-repo-se... branch is 25%. Coverage data for the main branch is not yet available.

Show a code coverage summary of the most covered files.
File main titan/public-repo-se... c7f247b +/-
src/renderer/src/api.ts — 100% —
src/renderer/src/HomeView.tsx — 97% —
src/renderer/src/logos.tsx — 77% —
src/renderer/src/AiSetup.tsx — 60% —
src/renderer/src/Select.tsx — 40% —
src/renderer/sr.../NewSession.tsx — 21% —
src/renderer/src/App.tsx — 0% —
src/renderer/src/ChatView.tsx — 0% —
src/renderer/src/Settings.tsx — 0% —
src/renderer/sr...TreeSidebar.tsx — 0% —

Updated August 11, 2026 11:29 UTC

@titan-ron
titan-ron merged commit 61731bf into main Aug 11, 2026
5 checks passed
@titan-ron
titan-ron deleted the titan/public-repo-security-setup-0dbe85 branch August 11, 2026 11:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

2 participants