Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
35 changes: 35 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -102,6 +102,41 @@ jobs:
- name: Checkout repository
uses: actions/checkout@v4

- name: Check version consistency

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

CRITICAL: Version consistency check runs unconditionally, breaking CI on all non-tag builds

This step uses GITHUB_REF_NAME as the expected version but has no if guard. On pull requests, GITHUB_REF_NAME is something like 30/merge; on pushes to main, it is main. Neither will match the 0.9.2 in pyproject.toml, so the step will always fail except on tag pushes. The Docker login/push steps below (lines 147, 155) correctly gate on startsWith(github.ref, 'refs/tags/v') but this check is missing that guard.

Suggested change
- name: Check version consistency
- name: Check version consistency
if: startsWith(github.ref, 'refs/tags/v')

Reply with @kilocode-bot fix it to have Kilo Code address this issue.

if: startsWith(github.ref, 'refs/tags/v') # only runs on tag pushes, not PRs
run: |
# Strip 'v' prefix so v0.9.2 → 0.9.2 matches file values.
TAG_VERSION="${GITHUB_REF_NAME#v}"
echo "Tag version: $TAG_VERSION"

# pyproject.toml: value of the `version` key under [project]
PYTOML_VERSION=$(python -c "
import tomllib
with open('pyproject.toml', 'rb') as f:
v = tomllib.load(f)['project']['version']
print(v)
")
echo "pyproject.toml version: $PYTOML_VERSION"

# hexus/plugin.yaml: value of the top-level `version` key
YAML_VERSION=$(python -c "
import yaml
with open('hexus/plugin.yaml') as f:
v = yaml.safe_load(f)['version']
print(v)
")
echo "hexus/plugin.yaml version: $YAML_VERSION"

if [ "$TAG_VERSION" != "$PYTOML_VERSION" ]; then
echo "ERROR: pyproject.toml version '$PYTOML_VERSION' does not match tag '$TAG_VERSION'"
exit 1
fi
if [ "$TAG_VERSION" != "$YAML_VERSION" ]; then
echo "ERROR: hexus/plugin.yaml version '$YAML_VERSION' does not match tag '$TAG_VERSION'"
exit 1
fi
echo "All version fields match tag $TAG_VERSION"

- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3

Expand Down
2 changes: 1 addition & 1 deletion hexus/plugin.yaml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
name: hexus
version: 0.4.0
version: 0.9.2
description: "Postgres + hexus storage layer for hermes-agent + MCP server. Mirrors built-in MEMORY.md / USER.md + captures every substantive (user, assistant) chat turn into a conversations table. Per-agent themes (marketing/sales/trading/incident/morning-report/…) via X-Hermes-Session-Key header — every systemd-run minion gets its own scope. 384-dim local BERT (MiniLM-L6-v2) embeddings by default, with HTTP-embed fallback for operators with an existing Ollama endpoint. Async writer + connection pool. No LLM mediation. The same store is exposed as an MCP server (`hexus-mcp serve`) for non-hermes agents (Claude Desktop, Cursor, fleet agents) — one process, one model load, one shared knowledge base."
pip_dependencies:
- "psycopg[binary]>=3.3.4"
Expand Down
Loading