Prepare bakery distribution for breadboard CLI and desktop #62

Merged
Breadway merged 3 commits from feature/bb-60-bakery-distribution into main 2026-10-02 12:00:54 +08:00
Owner

Prepare separate breadboard-cli and breadboard-desktop client manifests plus dev, RC and stable workflows on the Hestia runner. The workflows build an exact origin commit, prepare immutable checksummed native artifacts, and regenerate the signed track index. They remain disabled until BREADBOARD_BAKERY_ENABLED is true and the documented signing-key path and runner prerequisites are provisioned.

Verified workspace build/tests/clippy, docs check, full npm build and Svelte check. Built the desktop deb headlessly with a dev version override and staged both real binaries with verified checksums. Syntax/manifest checks, invalid-version and overwrite rejection, and an isolated signed-index integration passed. The optional whole-repo fmt check reports existing formatting drift in unchanged Rust files; check.yml does not gate fmt.

Registry dependency: Breadway/bread-ecosystem#50 (ECO-48), merge before activation. The Hestia filesystem publisher does not need REGISTRY_TOKEN or a separate upload credential. No secret, live index, installed binary, personal config, release tag or desktop session was changed.

Refs #47 (BB-60).

Prepare separate breadboard-cli and breadboard-desktop client manifests plus dev, RC and stable workflows on the Hestia runner. The workflows build an exact origin commit, prepare immutable checksummed native artifacts, and regenerate the signed track index. They remain disabled until BREADBOARD_BAKERY_ENABLED is true and the documented signing-key path and runner prerequisites are provisioned. Verified workspace build/tests/clippy, docs check, full npm build and Svelte check. Built the desktop deb headlessly with a dev version override and staged both real binaries with verified checksums. Syntax/manifest checks, invalid-version and overwrite rejection, and an isolated signed-index integration passed. The optional whole-repo fmt check reports existing formatting drift in unchanged Rust files; check.yml does not gate fmt. Registry dependency: https://git.breadway.dev/Breadway/bread-ecosystem/pulls/50 (ECO-48), merge before activation. The Hestia filesystem publisher does not need REGISTRY_TOKEN or a separate upload credential. No secret, live index, installed binary, personal config, release tag or desktop session was changed. Refs #47 (BB-60).
ci: prepare signed bakery client distribution tracks
All checks were successful
check / check (push) Successful in 2m10s
ae1f01135b
Author
Owner

Parent BB-60 implementation is prepared for review. Required check CI for head ae1f01135b is queued at https://git.breadway.dev/Breadway/breadboard/actions/runs/47/jobs/0. Keeping this PR card in DOING until the configured check succeeds; any failed check will be commented and returned to TODO.

Parent BB-60 implementation is prepared for review. Required check CI for head ae1f01135bb070656b633ec619cdec452633695e is queued at https://git.breadway.dev/Breadway/breadboard/actions/runs/47/jobs/0. Keeping this PR card in DOING until the configured check succeeds; any failed check will be commented and returned to TODO.
Author
Owner

The configured check CI is now green on the published head. Moving the PR card to REVIEW for independent review; live publishing/activation has not occurred.

The configured check CI is now green on the published head. Moving the PR card to REVIEW for independent review; live publishing/activation has not occurred.
Author
Owner

Re-review: rework still required on PR #62

Acceptance interpretation: (1) publish separate CLI and desktop artifacts for the triggering source revision; (2) only advance both product versions and the signed track index as one recoverable publication; (3) require the registry dependency and keep live activation gated until credentials and runner setup are ready.

The manifests and three workflows cover the first criterion, and CI is green at ae1f01135bb070656b633ec619cdec452633695e. The publication section at scripts/ci-bakery-release.sh:66-80 still moves both version directories and latest links before calling the shared signed index generator. Its lock only serializes breadboard publishers; another repository can regenerate the track index between these mutations. If index signing fails, the two latest links can point to artifacts missing from the signed index. The previous review's concurrency and failure requirement remains unmet.

  • Rework the existing publication transaction so the shared track index and both product pointers advance together or remain at their previous published state. Include an isolated concurrent-generator and signing-failure check.

Keep PR #62 open and rework on feature/bb-60-bakery-distribution. Do not open another PR for BB-60. Keep the workflows disabled until the transaction and activation prerequisites are ready.

## Re-review: rework still required on PR #62 Acceptance interpretation: (1) publish separate CLI and desktop artifacts for the triggering source revision; (2) only advance both product versions and the signed track index as one recoverable publication; (3) require the registry dependency and keep live activation gated until credentials and runner setup are ready. The manifests and three workflows cover the first criterion, and CI is green at `ae1f01135bb070656b633ec619cdec452633695e`. The publication section at `scripts/ci-bakery-release.sh:66-80` still moves both version directories and `latest` links before calling the shared signed index generator. Its lock only serializes breadboard publishers; another repository can regenerate the track index between these mutations. If index signing fails, the two latest links can point to artifacts missing from the signed index. The previous review's concurrency and failure requirement remains unmet. - [ ] Rework the existing publication transaction so the shared track index and both product pointers advance together or remain at their previous published state. Include an isolated concurrent-generator and signing-failure check. Keep PR #62 open and rework on `feature/bb-60-bakery-distribution`. Do not open another PR for BB-60. Keep the workflows disabled until the transaction and activation prerequisites are ready.
fix: serialize bakery client publication
Some checks failed
check / check (push) Has been cancelled
00cfdf8ce3
test: check bakery publication transaction in CI
All checks were successful
check / check (push) Successful in 3m5s
38f720ae31
Author
Owner

Updated submission received on PR #62 at 00cfdf8ce3c868227d0993145f08a61ba4affaef. Static review finds the staged full-track index, shared generator lock, rollback path, and isolated failure/concurrency regression address the prior publication race. The PR is mergeable, but its Forgejo check is still pending. Holding the card in DOING until CI completes, then I will post the final review verdict. No artifacts have been published.

Updated submission received on PR #62 at `00cfdf8ce3c868227d0993145f08a61ba4affaef`. Static review finds the staged full-track index, shared generator lock, rollback path, and isolated failure/concurrency regression address the prior publication race. The PR is mergeable, but its Forgejo check is still pending. Holding the card in DOING until CI completes, then I will post the final review verdict. No artifacts have been published.
Author
Owner

PR #62 rework now includes a staged full-track index, shared generator lock, rollback handling, and isolated concurrency/signing-failure regression coverage. Local checks pass; the exact-head Forgejo CI check was pending at last report. Moving implementation to REVIEW for the requested pipeline handoff. If CI fails, return to TODO with the failure recorded. No publication or live activation was performed.

PR #62 rework now includes a staged full-track index, shared generator lock, rollback handling, and isolated concurrency/signing-failure regression coverage. Local checks pass; the exact-head Forgejo CI check was pending at last report. Moving implementation to REVIEW for the requested pipeline handoff. If CI fails, return to TODO with the failure recorded. No publication or live activation was performed.
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
Breadway/breadboard!62
No description provided.