breadpad/ci/build.sh
Breadway 520245a6be
All checks were successful
check / check (push) Successful in 2m7s
ci: pass product name explicitly to shared build script
bread-ecosystem's ci/build.sh used to derive the image tag and cache
volume name from basename(repo_root) — but every product's CI checks
out into a directory literally named "src", so in real CI runs this
resolved to "bread-ci:src" for every product, not "bread-ci:breadpad".
Harmless while breadpad was the only consumer; would have silently
collided (shared image tag, shared cargo-target cache) the moment a
second product started using it. Fixed upstream, bumping the pin here
to pick it up and passing "breadpad" explicitly.
2026-08-05 09:28:52 +08:00

21 lines
860 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" breadpad "$ROOT" "$@"