Complete architecture document set with multi-model review remediation: - Frozen interface contracts, runtime semantics, DB schemas - Event/tool/error/provider registries - Scheduler and main agent state machines - C4 module/code views, solution architecture, baseline V1 - Multi-model review reports and joint assessment - Phase-gate remediation complete (P0/P1/P2/UX resolved) - Implementation plan with T-000A through T-045 - Reference folders kept as placeholders only
48 lines
1.7 KiB
YAML
Executable File
48 lines
1.7 KiB
YAML
Executable File
name: Hermes smoke test
|
|
description: >
|
|
Run the image's built-in entrypoint against `--help` and `dashboard --help`
|
|
to catch basic runtime regressions before publishing. Requires the image
|
|
to already be loaded into the local Docker daemon under `image`.
|
|
|
|
Works identically on amd64 and arm64 runners.
|
|
|
|
inputs:
|
|
image:
|
|
description: Fully-qualified image tag (e.g. nousresearch/hermes-agent:test)
|
|
required: true
|
|
|
|
runs:
|
|
using: composite
|
|
steps:
|
|
- name: Ensure /tmp/hermes-test is hermes-writable
|
|
shell: bash
|
|
run: |
|
|
# The image runs as the hermes user (UID 10000). GitHub Actions
|
|
# creates /tmp/hermes-test root-owned by default, which hermes
|
|
# can't write to — chown it to match the in-container UID before
|
|
# bind-mounting. Real users doing `docker run -v ~/.hermes:...`
|
|
# with their own UID hit the same issue and have their own
|
|
# remediations (HERMES_UID env var, or chown locally).
|
|
mkdir -p /tmp/hermes-test
|
|
sudo chown -R 10000:10000 /tmp/hermes-test
|
|
|
|
- name: hermes --help
|
|
shell: bash
|
|
run: |
|
|
docker run --rm \
|
|
-v /tmp/hermes-test:/opt/data \
|
|
--entrypoint /opt/hermes/docker/entrypoint.sh \
|
|
"${{ inputs.image }}" --help
|
|
|
|
- name: hermes dashboard --help
|
|
shell: bash
|
|
run: |
|
|
# Regression guard for #9153: dashboard was present in source but
|
|
# missing from the published image. If this fails, something in
|
|
# the Dockerfile is excluding the dashboard subcommand from the
|
|
# installed package.
|
|
docker run --rm \
|
|
-v /tmp/hermes-test:/opt/data \
|
|
--entrypoint /opt/hermes/docker/entrypoint.sh \
|
|
"${{ inputs.image }}" dashboard --help
|