Skip to content

Improve monorepo scan diagnostics and guidance - #325

Merged
lelia merged 8 commits into
mainfrom
lelia/monorepo-scan-diagnostics
Sep 9, 2026
Merged

Improve monorepo scan diagnostics and guidance#325
lelia merged 8 commits into
mainfrom
lelia/monorepo-scan-diagnostics

Conversation

@lelia

@lelia lelia commented Aug 28, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Add concise scan configuration, manifest-count, baseline, and fallback diagnostics.
  • Clarify monorepo scan scoping, workspace flags, CI path filters, and timeout behavior.
  • Add a changed-workspace GitHub Actions matrix example.
  • Route full-scan and streamed-diff API failures through the configured infrastructure exit code.

Validation

  • uv run pytest -q tests/unit tests/core — 532 passed, 2 skipped
  • Ruff
  • actionlint on the documented workflow
  • git diff --check

Public Changelog

Improved monorepo scan diagnostics and guidance, with consistent API-error exit-code handling.

Refs: CE-436

@lelia
lelia requested a review from a team as a code owner August 28, 2026 21:58
@lelia lelia added publish-preview Publish a CLI preview to TestPyPI. publish-docker-preview Publish `socketdev/cli:pr-<number>` to DockerHub labels Aug 28, 2026
@lelia
lelia deployed to socket-firewall August 28, 2026 21:58 — with GitHub Actions Active
@github-actions

github-actions Bot commented Aug 28, 2026

Copy link
Copy Markdown

🚀 CLI preview published: socketsecurity==2.7.0.dev3321567765801

pip install --index-url https://test.pypi.org/simple/ --extra-index-url https://pypi.org/simple socketsecurity==2.7.0.dev3321567765801

TestPyPI's package index can take several minutes to expose a newly uploaded version.

@lelia lelia added publish-preview Publish a CLI preview to TestPyPI. publish-docker-preview Publish `socketdev/cli:pr-<number>` to DockerHub and removed publish-preview Publish a CLI preview to TestPyPI. publish-docker-preview Publish `socketdev/cli:pr-<number>` to DockerHub labels Aug 28, 2026
@lelia
lelia deployed to socket-firewall August 28, 2026 22:00 — with GitHub Actions Active
@github-actions

Copy link
Copy Markdown

🐳 Docker preview published: socketdev/cli:pr-325

This mutable tag is only created when a Docker preview is explicitly requested.

@lelia

lelia commented Aug 28, 2026

Copy link
Copy Markdown
Contributor Author

bugbot run

@lelia
lelia deployed to socket-firewall August 28, 2026 22:02 — with GitHub Actions Active
@lelia lelia added publish-preview Publish a CLI preview to TestPyPI. publish-docker-preview Publish `socketdev/cli:pr-<number>` to DockerHub and removed publish-preview Publish a CLI preview to TestPyPI. publish-docker-preview Publish `socketdev/cli:pr-<number>` to DockerHub labels Aug 28, 2026
@lelia
lelia deployed to socket-firewall August 28, 2026 22:06 — with GitHub Actions Active
@lelia lelia removed publish-preview Publish a CLI preview to TestPyPI. publish-docker-preview Publish `socketdev/cli:pr-<number>` to DockerHub labels Aug 28, 2026

@cursor cursor Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

✅ Bugbot reviewed your changes and found no new issues!

Comment @cursor review or bugbot run to trigger another review on this PR

Reviewed by Cursor Bugbot for commit 3d8cdb3. Configure here.

@lelia lelia added publish-docker-preview Publish `socketdev/cli:pr-<number>` to DockerHub publish-preview Publish a CLI preview to TestPyPI. labels Aug 28, 2026
@lelia
lelia deployed to socket-firewall September 2, 2026 20:27 — with GitHub Actions Active
@lelia
lelia deployed to socket-firewall September 3, 2026 17:52 — with GitHub Actions Active
The mechanics of --sub-path and --workspace-name were documented, but not the
choice they force. One combined scan gives a single dashboard entry and no
per-component attribution; one scan per component gives attribution, baselines
and per-component policy, but adds a repository entry per component, which grows
the dashboard's repository list. There is no layout that provides both today.

Customers hit this at a dozen-plus components and reasonably assume they have
configured something wrong. Naming the trade-off, and adding rules of thumb for
picking a side, is cheaper than each of them discovering it.

Cross-referenced from the CI/CD guide's independent-workspace pattern, which is
the layout that grows the list.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@lelia
lelia deployed to socket-firewall September 9, 2026 18:58 — with GitHub Actions Active
@lelia
lelia merged commit f65b6af into main Sep 9, 2026
31 checks passed
lelia added a commit that referenced this pull request Sep 11, 2026
main shipped 2.8.0 (#325 monorepo scan diagnostics and API exit codes, #331
Slack severity normalization and the socketdev 3.6.0 bump) while this branch
was open, so the 2.7.3 it targeted is now behind the published release.

Conflict resolution, in every case keeping main's shipped behaviour and this
branch's formatting and fixes:

- slack.py: kept the "middle" -> "medium" normalization from #331, restyled to
  double quotes. Losing it would have silently reintroduced the wrong Slack
  severity counts.
- socketcli.py: kept #325's _log_scan_mode_fallback diagnostics and the
  force_api_mode branch; this branch's side was the older logic reformatted.
- core/__init__.py: kept #325's _log_scan_configuration helper and its call
  sites, and the switch from sys.exit to raise so API failures reach the
  configured infrastructure exit code. Kept this branch's contextlib.suppress
  cleanup and modern annotations, and modernized the helper's own signature
  since this branch drops the typing.List/Optional imports.
- version-check.yml: already assembled from main plus the enforcement gating
  and this branch's both-quote version strip.
- CHANGELOG: this branch's section is now 2.8.1, above the shipped 2.8.0.

uv.lock regenerated from the merged pyproject with the pinned uv 0.12.8.
ruff check and ruff format are both clean; 584 passed, 2 skipped.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

publish-docker-preview Publish `socketdev/cli:pr-<number>` to DockerHub publish-preview Publish a CLI preview to TestPyPI.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants