3a7236d51f
The irv-ml1-arbo Gitea Actions runner (host-executor as lkraven under systemd) gets the bare service PATH (/usr/local/bin:/usr/bin:/bin), which omits ~/.local/bin — so the CI uv bootstrap failed with "uv: not found". Symlink uv/uvx into /usr/local/bin (on the systemd PATH) to fix it and retire the per-run curl|sh bootstrap. Idempotent (creates: guard); re-applies cleanly after a runner rebuild. Authorized by comfy-dev (engine owner) per althing thread 01KV94VTS27B.
42 lines
1.9 KiB
YAML
42 lines
1.9 KiB
YAML
# Put `uv`/`uvx` on the irv-ml1-arbo Gitea Actions runner's PATH.
|
|
#
|
|
# WHY: the runner (`irv-ml1-arbo`, act_runner host-executor running AS lkraven
|
|
# under systemd) inherits the bare systemd service PATH —
|
|
# /usr/local/bin:/usr/bin:/bin
|
|
# — which does NOT include lkraven's `~/.local/bin` or `~/.cargo/bin`. uv is
|
|
# installed at /home/lkraven/.local/bin/uv (login-shell only), so the CI step's
|
|
# `uv run` failed with `uv: not found` even though uv is present on the box.
|
|
# `/usr/local/bin` IS on the systemd PATH, so symlinking uv there makes it
|
|
# visible to the runner. This also lets deploy.yml drop the per-run `curl|sh`
|
|
# uv bootstrap. Operator-asked ("fix cicd"); comfy-dev (engine owner) authorized
|
|
# the specific symlink 2026-06-16 (althing thread 01KV94VTS27B…).
|
|
#
|
|
# Re-apply this if the runner host is rebuilt or uv is reinstalled elsewhere.
|
|
# Sudo because /usr/local/bin is root-owned; uv is owned by lkraven (the runner
|
|
# identity), which is who actually executes the symlink at job time — traversal
|
|
# of /home/lkraven works for lkraven, not for infra-ops (don't be fooled by an
|
|
# infra-ops `env -i` exec test reporting Permission denied; that's the wrong
|
|
# identity — verify AS lkraven).
|
|
|
|
vars:
|
|
uv_src: /home/lkraven/.local/bin/uv
|
|
uvx_src: /home/lkraven/.local/bin/uvx
|
|
|
|
steps:
|
|
- name: Symlink uv into /usr/local/bin (on the systemd PATH)
|
|
shell: ln -s {{ uv_src }} /usr/local/bin/uv
|
|
creates: /usr/local/bin/uv
|
|
|
|
- name: Symlink uvx into /usr/local/bin
|
|
shell: ln -s {{ uvx_src }} /usr/local/bin/uvx
|
|
creates: /usr/local/bin/uvx
|
|
|
|
verify:
|
|
- name: uv resolves to the /usr/local/bin symlink under a systemd-like PATH (run AS lkraven)
|
|
shell: sudo -u lkraven env -i PATH=/usr/local/bin:/usr/bin:/bin sh -c 'command -v uv && uv --version'
|
|
changed_when: "false"
|
|
|
|
- name: uvx resolves the same way
|
|
shell: sudo -u lkraven env -i PATH=/usr/local/bin:/usr/bin:/bin sh -c 'command -v uvx && uvx --version'
|
|
changed_when: "false"
|