breadpaper/ci/build.sh
Breadway 3eff1e5972
All checks were successful
check / check (push) Successful in 4s
ci: build inside bread-ecosystem's shared Arch container
Ports breadpaper onto bread-ecosystem's shared, pinned Arch build
image/script instead of installing toolchain/libraries directly on the
bare self-hosted runner. Follows the pattern proven in breadpad:
ci/build.sh clones bread-ecosystem pinned to the sha in
ci/bread-ecosystem.rev and delegates to its ci/build.sh.

breadpaper needs nothing beyond the shared image's base package set
(only clap/anyhow as deps, no image-processing or GTK crates), so no
ci/deps.txt is added.

Also adds check.yml: clippy + test on feature/**/fix/** pushes, as a
fast pre-release-build signal, matching breadpaper's own build/test
flags (--release --locked, no --workspace since this isn't a
workspace).
2026-08-05 19:14:49 +08:00

21 lines
862 B
Bash
Executable file

#!/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" breadpaper "$ROOT" "$@"