balconyjh/NoneBot Plugin Load Check
Install a NoneBot plugin in an isolated uv environment and verify that nonebot.load_plugin() succeeds.
View on GitHubTrust Signals
- Scorecard Score
- not yet scored
- Maintenance Recency
- Activelast commit Jul 10, 2026
- License
- MIT
Pinned Snippet
uses: balconyjh/noneload@7af465a7f2d2fa2f7c227dc1fd9c065eed674109 # v1.0.1tags can be moved; commit SHAs can't. why a SHA?
Inputs
| name | description | required | default |
|---|---|---|---|
| module-name | Plugin module import path, for example nonebot_plugin_foo. If omitted, the action tries to detect it. | no | "" |
| project-link | Distribution project name, for example nonebot-plugin-foo. If omitted, the action reads [project].name from pyproject.toml. | no | "" |
| package | Local package spec passed to uv pip install when install-command is not set. Use . for the current project. | no | . |
| working-directory | Repository subdirectory containing the plugin project. | no | . |
| python-version | Python version installed and used by uv. | no | 3.12 |
| uv-version | uv version installed by astral-sh/setup-uv. Empty means setup-uv resolves the version from uv.toml/pyproject.toml or installs the latest uv. | no | "" |
| uv-cache | Enable astral-sh/setup-uv cache. Use true, false, or auto. | no | true |
| editable | Install local package specs in editable mode when install-command is not set. | no | true |
| install-extra-args | Extra arguments appended to uv pip install, for example --extra-index-url URL. | no | "" |
| install-command | Custom install command. It runs with the uv-created venv at the front of PATH. Overrides package/editable/install-extra-args. | no | "" |
| plugin-config | Inline .env.prod content used while loading the plugin. | no | "" |
| plugin-config-file | Path to a file whose content is appended to .env.prod, relative to working-directory unless absolute. | no | "" |
| registry-url | URL of NoneBot registry plugins.json, used to map plugin package dependencies to module names. | no | https://raw.githubusercontent.com/nonebot/registry/results/plugins.json |
| load-dependencies | Require installed dependent NoneBot plugins detected from registry before finishing the check. | no | true |
| check-optional-dependencies | Install every optional dependency group declared in pyproject.toml and include its installed NoneBot plugin dependencies in the load check. Requires the default uv pip install flow. | no | false |
| timeout | Timeout in seconds for Python installation, package installation, and plugin loading commands. | no | 600 |
| fail-on-error | Fail this action when plugin loading fails. | no | true |
| summary | Write a GitHub Step Summary. | no | true |
Outputs
| name | description |
|---|---|
| load | Whether the plugin loaded successfully. |
| run | Whether the isolated test runner was executed after installation. |
| version | Installed plugin distribution version, if detected. |
| metadata | Plugin metadata as compact JSON, if detected. |
| result-file | Absolute path to the JSON result file. |
| test-env | Resolved test environment, for example python==3.12.8 nonebot2==2.4.0 pydantic==2.10.0. |