CI: port breadcrumbs onto bread-ecosystem's shared Arch build image
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:
Breadway 2026-08-05 19:12:42 +08:00
parent b3444337ab
commit fe9ddbda57
6 changed files with 50 additions and 4 deletions

View file

@ -0,0 +1,24 @@
name: check
# Fast-fail lint/test on short-lived work branches, before it ever reaches
# main and triggers a dev-track release build.
on:
push:
branches: ['feature/**', 'fix/**']
jobs:
check:
runs-on: [self-hosted, hestia]
steps:
- name: checkout
run: |
set -euo pipefail
rm -rf src && mkdir src
git clone --branch "${GITHUB_REF_NAME}" --depth 1 \
"https://git.breadway.dev/${GITHUB_REPOSITORY}.git" src
- name: clippy
run: cd src && bash ci/build.sh cargo clippy --all-targets --locked -- -D warnings
- name: test
run: cd src && bash ci/build.sh cargo test --release --locked

View file

@ -19,7 +19,7 @@ jobs:
"https://git.breadway.dev/${GITHUB_REPOSITORY}.git" src
- name: build
run: cd src && cargo build --release --locked
run: cd src && bash ci/build.sh cargo build --release --locked
- name: compute dev version
run: |

View file

@ -21,7 +21,7 @@ jobs:
"https://git.breadway.dev/${GITHUB_REPOSITORY}.git" src
- name: build
run: cd src && cargo build --release --locked
run: cd src && bash ci/build.sh cargo build --release --locked
- name: prepare artifacts
run: |

View file

@ -17,10 +17,10 @@ jobs:
"https://git.breadway.dev/${GITHUB_REPOSITORY}.git" src
- name: build
run: cd src && cargo build --release --locked
run: cd src && bash ci/build.sh cargo build --release --locked
- name: test
run: cd src && cargo test --release --locked
run: cd src && bash ci/build.sh cargo test --release --locked
- name: prepare artifacts
run: |