ci: fix release-iso bread-theme step for bos-settings Tauri migration

bos-settings moved its Rust manifest to src/Cargo.toml and switched the
bread-theme dependency from a tag pin to branch = "main" (no release with
the needed functions yet). The workflow was still fetching the old root
Cargo.toml path and grepping for a tag field, so it 404'd and broke every
v0.5.2 release-iso run.
This commit is contained in:
Breadway 2026-07-29 21:37:26 +08:00
parent 3fa1dd20ba
commit 8a934fa6b6

View file

@ -110,22 +110,25 @@ jobs:
- name: Build bread-theme from source - name: Build bread-theme from source
run: | run: |
set -euo pipefail set -euo pipefail
# bread-theme is not in the bakery index; build it at the tag pinned # bread-theme is not in the bakery index; build it at the ref pinned
# in bos-settings' Cargo.toml so the CLI matches the library version # in bos-settings' Cargo.toml so the CLI matches the library version
# the bos-settings package (and breadbar/breadbox/breadpad) were # the bos-settings package (and breadbar/breadbox/breadpad) were
# built against. bos-settings used to live at bos-settings/Cargo.toml # built against. bos-settings used to live at bos-settings/Cargo.toml
# inside this repo; it's since been split into its own repo # inside this repo; it's since been split into its own repo
# (git.breadway.dev/Breadway/bos-settings), so fetch its Cargo.toml # (git.breadway.dev/Breadway/bos-settings) and migrated to Tauri,
# from there instead of a path that no longer exists in this # which moved the Rust manifest to bos-settings/src/Cargo.toml, so
# checkout. Uses bos-settings' default branch (dev) — the branch its # fetch it from there. Uses bos-settings' default branch (dev) — the
# own CI actually publishes the `bos-settings` pacman package from. # branch its own CI actually publishes the `bos-settings` pacman
# package from.
REPO_OWNER="${GITHUB_REPOSITORY%%/*}" REPO_OWNER="${GITHUB_REPOSITORY%%/*}"
curl -fsSL "https://git.breadway.dev/${REPO_OWNER}/bos-settings/raw/branch/dev/Cargo.toml" \ curl -fsSL "https://git.breadway.dev/${REPO_OWNER}/bos-settings/raw/branch/dev/src/Cargo.toml" \
-o /tmp/bos-settings-Cargo.toml -o /tmp/bos-settings-Cargo.toml
THEME_TAG=$(grep 'bread-theme.*tag' /tmp/bos-settings-Cargo.toml \ # bread-theme is pinned by tag once a release ships the functions
| grep -oP '"v[^"]+"' | tr -d '"') # bos-settings needs, or by branch in the meantime — handle either.
echo "Building bread-theme @ $THEME_TAG" THEME_REF=$(grep '^bread-theme' /tmp/bos-settings-Cargo.toml \
git clone --branch "$THEME_TAG" --depth 1 \ | grep -oP '(tag|branch)\s*=\s*"\K[^"]+')
echo "Building bread-theme @ $THEME_REF"
git clone --branch "$THEME_REF" --depth 1 \
https://github.com/Breadway/bread-ecosystem /bread-ecosystem https://github.com/Breadway/bread-ecosystem /bread-ecosystem
cd /bread-ecosystem cd /bread-ecosystem
cargo build --release -p bread-theme cargo build --release -p bread-theme