You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Make non-core action deps optional via lazy imports (#556)
* Make non-core action deps optional via lazy imports
Move docker, requests, pexpect, python-gnupg, Flask, werkzeug, pylev,
click, and pyyaml to optional extras in pyproject.toml. The core action
now only requires PyGithub, Jinja2, semver, and toml.
In repo.py, convert top-level imports of docker, requests, pexpect, and
gnupg to lazy imports at their call sites so the action runs without
them installed. This reduces the mandatory dependency footprint for the
GitHub Action while preserving full functionality when extras are
installed (e.g. in Docker builds via --extras all).
* Fix Dockerfile: use --all-extras, update lock file, fix lint warnings
* CI: install all extras for tests and mypy
* Fix GPG test mock path for lazy import
GPG is now imported locally inside configure_gpg(), so patch
gnupg.GPG directly instead of tagbot.action.repo.GPG.
* Docs: update install instructions for optional extras
DEVGUIDE.md and README.md now reflect that non-core deps are
optional and require --all-extras / .[all] to install.
0 commit comments