Commit Graph
6 Commits
Author SHA1 Message Date
Sahilb315 0920a955a1 add pip fail case with unsupported package manager prefix 2026-06-24 13:07:44 +05:30
Sahilb315 7cf5592312 add pip fail case 2026-06-24 13:04:34 +05:30
Sahilb315 12570a802c fix(proxy-e2e): let pmg proxy stop fail the job when packages are blocked
Remove the if-wrapper that was swallowing the exit code. The step now
fails naturally when stop exits 1, which is the correct CI behavior —
a blocked package should fail the job.
2026-06-23 17:11:49 +05:30
Sahilb315 ea2c7e8242 feat(proxy): report blocked packages on stop, exit 1 if any were blocked
pmg proxy stop now waits for the proxy process to exit, reads the final
blocked count written to the state file on shutdown, and exits non-zero
when one or more packages were blocked during the session.

This gives CI a clear failure signal from the proxy itself, separate
from the package manager's own exit code.
2026-06-23 17:07:07 +05:30
Sahilb315 e19aa274f1 update workflow 2026-06-23 15:47:34 +05:30
Sahilb315 39debb474d feat(proxy): add persistent proxy server with start/stop/env/status commands
Adds pmg proxy command group for running a long-lived MITM proxy that
intercepts all package manager traffic without requiring PMG shims or
wrappers. Targets CI/CD pipelines where env vars can be set globally.

- pmg proxy start: starts proxy with npm+pypi interceptors, writes
  state file (pid/addr/ca-cert-path), auto-blocks suspicious packages
- pmg proxy stop: sends SIGTERM to the running proxy
- pmg proxy env: emits HTTP_PROXY/HTTPS_PROXY/SSL_CERT_FILE etc. as
  shell exports, or writes directly to $GITHUB_ENV with --gha
- pmg proxy status: shows running/stopped status

GHA usage:
  pmg proxy start &
  pmg proxy env --gha   # populates env for all subsequent steps
  npm install           # intercepted automatically, no wrapper needed

Also adds .github/workflows/persistent-proxy-e2e.yml to validate the
persistent proxy mode end-to-end in CI.
2026-06-23 15:36:41 +05:30