Download .github/actions/plugin-validate/action.yml from SaylorTwift/hermes-agent: direct link, hf CLI and curl.
- Browser
- Download file 1.96 kB
-
https://huggingface.co/SaylorTwift/hermes-agent/resolve/main/.github/actions/plugin-validate/action.yml
- Command line
-
hf download hf://SaylorTwift/hermes-agent/.github/actions/plugin-validate/action.yml
-
curl -L -o action.yml https://huggingface.co/SaylorTwift/hermes-agent/resolve/main/.github/actions/plugin-validate/action.yml
1.96 kB
| name: Hermes Plugin Validate | |
| description: >- | |
| Validate a Hermes Agent plugin (plugin.yaml manifest schema AND | |
| declared-vs-actually-registered capabilities) using | |
| `hermes plugins validate`. Drop this into your plugin repo's CI: | |
| - uses: actions/checkout@<sha> | |
| - uses: NousResearch/hermes-agent/.github/actions/plugin-validate@main | |
| with: | |
| path: . | |
| The caller's job owns checkout; this action installs Python + hermes-agent | |
| (git install — a supported CI-context install route) and runs the | |
| validator against your plugin directory. | |
| inputs: | |
| path: | |
| description: Path to the plugin directory (containing plugin.yaml). | |
| default: "." | |
| hermes-ref: | |
| description: hermes-agent git ref (branch/tag/sha) to install and validate with. | |
| default: "main" | |
| runs: | |
| using: composite | |
| steps: | |
| - name: Set up Python | |
| uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0 | |
| with: | |
| python-version: "3.11" | |
| - name: Install hermes-agent | |
| shell: bash | |
| env: | |
| _HERMES_REF: ${{ inputs.hermes-ref }} | |
| run: | | |
| set -euo pipefail | |
| # CI-context install from git; the ref lets plugin authors validate | |
| # against a pinned hermes release instead of main. | |
| pip install "git+https://github.com/NousResearch/hermes-agent@${_HERMES_REF}" | |
| - name: Validate plugin | |
| shell: bash | |
| env: | |
| _PLUGIN_PATH: ${{ inputs.path }} | |
| run: | | |
| set -uo pipefail | |
| # `hermes plugins validate` checks the plugin.yaml manifest schema | |
| # and loads the plugin in a scratch subprocess to verify that the | |
| # capabilities it DECLARES match what it actually registers. | |
| if hermes plugins validate "$_PLUGIN_PATH"; then | |
| echo "✅ PASS: plugin at '$_PLUGIN_PATH' validated cleanly" | |
| else | |
| echo "❌ FAIL: plugin at '$_PLUGIN_PATH' failed validation (see output above)" | |
| exit 1 | |
| fi | |