Ports breadsearch onto the shared, pinned Arch build image already
proven in breadpad, so this repo's release CI stops installing its
toolchain/GTK4 stack directly on the bare self-hosted runner.
- ci/build.sh + ci/bread-ecosystem.rev: thin wrapper cloning
bread-ecosystem pinned to a commit sha and delegating to its own
ci/build.sh.
- dev-release.yml/rc-release.yml/release.yml: route the existing
build/test cargo invocations through ci/build.sh, unchanged
otherwise.
- check.yml: fast clippy/test signal on feature/** and fix/** pushes.
No ci/deps.txt: breadmill's npu/rocm/cuda/openvino features (pulled
in by --features full) all use ort's load-dynamic (dlopen) mode, so
none of them link against a real ONNX Runtime EP at build time —
confirmed against breadmill/Cargo.toml and by breadpad already
building ort with its own rocm feature against the same base image
with no extra packages. The GUI's librsvg system dep is a runtime
icon-loader dependency (bakery.toml's system_deps), not something
linked at build/link time, so the base image's gtk4/gtk4-layer-shell
already cover what compiling breadsearch needs.
Replaces the dev/beta branch split with one trunk (main): dev-track
builds still publish on every push, but the beta track now publishes
from a vX.Y.Z-rc.N prerelease tag instead of a separately-maintained
beta branch. Removes the branch nobody reliably kept in sync.
Adds breadmill's `full` feature (npu + rocm + cuda together) and switches
the release workflow to build with it. All three backends are ort's
load-dynamic (dlopen) mode, so combining them doesn't require the NPU/ROCm/
CUDA toolkits on the build host -- which backend is actually available is
resolved at runtime via ORT_DYLIB_PATH / the dynamic linker, per whichever
backend is selected for that run.
Also fixes a real bug this surfaced: backend selection checked
`config.model.backend == "rocm"` unconditionally in an if/else-if chain, so
an explicit --cuda (or --npu) flag silently lost to an unrelated `backend`
value already sitting in config.toml. CLI flags now always take priority
over config.
Version bump: breadmill 0.2.0 -> 0.2.1.
GitHub Actions self-hosted runners need per-repo registration on a
personal account; Forgejo Actions' runner already serves every repo
with zero setup. Moves release publishing there (dl.breadway.dev stays
the primary bakery target; GitHub release upload is kept as the
fallback via an explicit token, since Forgejo Actions has no ambient
GITHUB_TOKEN) and adds a mirror workflow to keep GitHub in sync
automatically.