A fix release for lo build. No new commands, no changed flags.
Fixed
lo buildfailed withsplit: failed to split <domain>/artifacts.yamlon every split-mode domain when the OS temp dir is on a different filesystem than the project. The split staged its files under$TMPDIRand moved them intoclusters/<domain>/with a rename, which fails across filesystems (EXDEV). The scratch dir now lives in the domain dir (.artifacts-tmp.*, removed on every exit), and a move that still crosses a device copies the file instead.The split's failure messages name the cause:
split: failed to split <artifact>: <error>.
Who is affected
Any project whose /tmp is a separate filesystem from the project tree: a tmpfs /tmp (Arch, Fedora and many CI runners; Debian and Ubuntu keep /tmp on disk) with the project on a disk, or a CI runner whose workspace is a mounted volume (the kubehz-cluster render.yml runners failed on every domain). A project on the same filesystem as /tmp, or a build with TMPDIR set to a directory on the project's filesystem, was not affected. The bash implementation was not affected: mv copies across devices.
Upgrade
Reinstall the binary: bash lo-install.sh, or unpack lo-<os>-<arch>.tar.gz (lo-full-<os>-<arch>.tar.gz for the in-process build) from the release. Nothing in the project changes. A project that pins lo through lo toolchain install bumps github.com/kernpilot/lok8s in .bin/b.yaml to v0.3.1 and runs b install.
Assets
The same set as v0.3.0: for linux and darwin, amd64 and arm64, lo-<os>-<arch>.tar.gz, lo-full-<os>-<arch>.tar.gz, kustomize-secret-<os>-<arch>, lochat-<os>-<arch>, plus lok8s-v0.3.1.tar.gz (the framework tree), lo-install.sh and checksums.txt.