CI: build on bread-ecosystem's shared Arch container
All checks were successful
check / check (push) Successful in 1m37s

Ports breadbox onto the shared, pinned CI build image (following the
pattern proven in breadpad): ci/build.sh delegates to bread-ecosystem's
own ci/build.sh, pinned by commit sha in ci/bread-ecosystem.rev, instead
of building directly on the bare self-hosted runner. Also adds
check.yml to run clippy/test on feature/fix branches ahead of the
dev-track release build.

No ci/deps.txt: breadbox's Cargo.toml pulls in nothing beyond what the
shared Containerfile already installs (gtk4, gtk4-layer-shell). The
librsvg system dep in bakery.toml is a runtime gdk-pixbuf loader for
SVG icons, not a Cargo build dependency.
This commit is contained in:
Breadway 2026-08-05 19:12:32 +08:00
parent 1b3193855e
commit 73b3c24a3c
6 changed files with 49 additions and 3 deletions

21
ci/build.sh Executable file
View file

@ -0,0 +1,21 @@
#!/usr/bin/env bash
# Delegates to bread-ecosystem's shared CI build image/script, pinned to
# the commit in ci/bread-ecosystem.rev — not `main`. bread-ecosystem's CI
# files now affect every product's release pipeline, so bumping the pin
# is a deliberate act instead of silent drift (see the bread-theme test
# that broke here for exactly that reason, before it was pinned by rev).
#
# Usage: ci/build.sh cargo build --release --locked
set -euo pipefail
ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
REV="$(cat "${ROOT}/ci/bread-ecosystem.rev")"
CACHE_DIR="/tmp/bread-ecosystem-ci-${REV}"
if [ ! -d "$CACHE_DIR" ]; then
rm -rf /tmp/bread-ecosystem-ci-*
git clone https://git.breadway.dev/Breadway/bread-ecosystem.git "$CACHE_DIR"
git -C "$CACHE_DIR" checkout --quiet "$REV"
fi
bash "${CACHE_DIR}/ci/build.sh" breadbox "$ROOT" "$@"