Skip to content

fix(agent-image): relock uses uv image entrypoint (unblocks hermes-agent publish) - #46

Merged
stubbi merged 1 commit into
mainfrom
fix/relock-uv-entrypoint
Jun 1, 2026
Merged

fix(agent-image): relock uses uv image entrypoint (unblocks hermes-agent publish)#46
stubbi merged 1 commit into
mainfrom
fix/relock-uv-entrypoint

Conversation

@stubbi

@stubbi stubbi commented Jun 1, 2026

Copy link
Copy Markdown
Collaborator

make agent-image-relock (and the new CI relock workflow) failed with error: unrecognized subcommand 'sh'. The ghcr.io/astral-sh/uv image is distroless with uv as its entrypoint, so docker run … uv:0.5.0 sh -c "uv lock" passes sh to uv as a subcommand — and there's no shell in the image to fall back to. This is the root reason the lockfile was never generated and ghcr.io/paperclipinc/hermes-agent was never published.

Fix: pass lock directly to the uv entrypoint.

🤖 Generated with Claude Code

…sh -c'

The ghcr.io/astral-sh/uv image is distroless with uv as its entrypoint, so 'docker run ... uv:0.5.0 sh -c "uv lock"' failed with 'unrecognized subcommand sh' (there is no shell in the image). This is why agent-image-relock never produced a uv.lock and ghcr.io/paperclipinc/hermes-agent was never published. Pass 'lock' directly to the uv entrypoint.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@stubbi
stubbi enabled auto-merge (squash) June 1, 2026 08:55
@stubbi
stubbi merged commit 9e456b1 into main Jun 1, 2026
11 checks passed
@stubbi
stubbi deleted the fix/relock-uv-entrypoint branch June 1, 2026 08:58
stubbi added a commit that referenced this pull request Jun 1, 2026
Follow-up to #46. The relock still couldn't run: the
`ghcr.io/astral-sh/uv` image is **distroless** (no shell, git, or
python), so it can't resolve the `hermes-agent @ git+https://...` source
dependency at all (`Could not read ELF interpreter …`).

- Run pinned uv **on the runner** (git + python present) with
`UV_FROZEN=false` (pyproject sets `frozen=true` for builds; relock must
be allowed to write the lock).
- **Bump uv `0.5.0` → `0.11.7`** in lockstep across the relock workflow
and the Dockerfile `UV_VERSION`. The only constraint is relock-uv ==
build-uv (lockfile-format compatibility); since no lock/image has ever
been published, there's no legacy to stay compatible with — no reason to
stay on the old version.
- Makefile `agent-image-relock` target switched to native uv as well.

After merge: dispatch `agent-image-relock v0.13.0` → should now produce
a real `uv.lock` → PR/merge it → publish → make package public.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
stubbi pushed a commit that referenced this pull request Jun 3, 2026
🤖 I have created a release *beep* *boop*
---


##
[0.1.10](v0.1.9...v0.1.10)
(2026-06-03)


### Bug Fixes

* **agent-image:** native pinned uv relock + bump uv to 0.11.7
([#48](#48))
([6e2615f](6e2615f))
* **agent-image:** relock uses uv image entrypoint (unblocks
hermes-agent publish)
([#46](#46))
([9e456b1](9e456b1))
* **agent-image:** verify uv.lock by git tag (unblocks publish)
([#50](#50))
([3cbcc7f](3cbcc7f))

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).

Co-authored-by: paperclip-release-bot[bot] <288053502+paperclip-release-bot[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant