ci: isolate the stable release index checkout #55

Merged
Breadway merged 1 commit from fix/eco28-release-index-isolation into main 2026-10-02 17:42:14 +08:00
Owner

Last remaining copy of the shared CI checkout path tracked by ECO-28 and ECO-56 (breadboard).

The stable release index step deleted and reused the fixed /tmp/bread-ecosystem-ci path. Two concurrent stable releases on the shared self-hosted runner, or any older workflow still running a broad /tmp/bread-ecosystem-ci-* cleanup, could remove or overwrite the checkout mid-run. The beta step in rc-release.yml was already fixed this way in #51; this mirrors it for the stable path.

The clone now goes to a unique mktemp directory outside the legacy prefix, and an EXIT trap removes only that directory, including when the clone or index generation fails.

Verified:

  • YAML parses, and every embedded run block passes bash -n.
  • The extracted regenerate index.json step, run with the clone stubbed to a local tree, cleans up only the invocation's directory on both success and failure, while a sibling checkout under the legacy /tmp/bread-ecosystem-ci-* prefix stays intact.
  • No workflow in the repository references the shared path or a broad cleanup any more.
Last remaining copy of the shared CI checkout path tracked by ECO-28 and ECO-56 (breadboard). The stable release index step deleted and reused the fixed `/tmp/bread-ecosystem-ci` path. Two concurrent stable releases on the shared self-hosted runner, or any older workflow still running a broad `/tmp/bread-ecosystem-ci-*` cleanup, could remove or overwrite the checkout mid-run. The beta step in `rc-release.yml` was already fixed this way in #51; this mirrors it for the stable path. The clone now goes to a unique `mktemp` directory outside the legacy prefix, and an EXIT trap removes only that directory, including when the clone or index generation fails. Verified: - YAML parses, and every embedded run block passes `bash -n`. - The extracted `regenerate index.json` step, run with the clone stubbed to a local tree, cleans up only the invocation's directory on both success and failure, while a sibling checkout under the legacy `/tmp/bread-ecosystem-ci-*` prefix stays intact. - No workflow in the repository references the shared path or a broad cleanup any more.
ci: isolate the stable release index checkout
All checks were successful
check / check (push) Successful in 10m57s
bf840f96a7
The stable release index step still deleted and reused the fixed
/tmp/bread-ecosystem-ci path, so a concurrent release job or an older
workflow's broad cleanup could remove it mid-run. Clone into a unique
mktemp directory outside the legacy /tmp/bread-ecosystem-ci-* prefix and
clean up only that directory on exit, matching runtime in rc-release.yml.

Refs ECO-28, ECO-56.
Breadway deleted branch fix/eco28-release-index-isolation 2026-10-02 17:42:14 +08:00
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/breadbar!55
No description provided.