CI: port breadcrumbs onto bread-ecosystem's shared Arch build image
All checks were successful
check / check (push) Successful in 41s
All checks were successful
check / check (push) Successful in 41s
Adds ci/build.sh + ci/bread-ecosystem.rev (pinned to bread-ecosystem 147cfbb) following the pattern proven in breadpad, so releases build inside the shared pinned container instead of installing toolchain deps directly on the bare runner. Routes dev/rc/release build+test steps through it and adds a check.yml for fast clippy/test feedback on feature/fix branches. No ci/deps.txt — breadcrumbs' dependencies (clap/serde/toml/serde_json) are pure Rust with no system library needs; nmcli/tailscale/sudo/xdg-open are shelled out to, not linked.
This commit is contained in:
parent
b3444337ab
commit
fe9ddbda57
6 changed files with 50 additions and 4 deletions
21
ci/build.sh
Executable file
21
ci/build.sh
Executable 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" breadcrumbs "$ROOT" "$@"
|
||||
Loading…
Add table
Add a link
Reference in a new issue