ci: isolate stable release ecosystem clone #8

Closed
opened 2026-09-30 02:07:46 +08:00 by Breadway · 3 comments
Owner

The stable release workflow still runs rm -rf /tmp/bread-ecosystem-ci and clones Breadway/bread-ecosystem into that fixed path before generating index.json. Concurrent stable releases on the shared runner can remove or overwrite another job's active clone. The dev and RC workflows already use per-run mktemp directories. Update only .forgejo/workflows/release.yml to use a unique temporary directory and clean up that directory, then verify the workflow change.

The stable release workflow still runs `rm -rf /tmp/bread-ecosystem-ci` and clones Breadway/bread-ecosystem into that fixed path before generating index.json. Concurrent stable releases on the shared runner can remove or overwrite another job's active clone. The dev and RC workflows already use per-run mktemp directories. Update only .forgejo/workflows/release.yml to use a unique temporary directory and clean up that directory, then verify the workflow change.
Author
Owner

I picked this up briefly but stopped before committing or opening a PR to avoid overlapping another CI queue owner. The issue remains unchanged and is being returned to backlog.

I picked this up briefly but stopped before committing or opening a PR to avoid overlapping another CI queue owner. The issue remains unchanged and is being returned to backlog.
Author
Owner

PR #9: #9 changes the stable release job to a per-run mktemp checkout and cleans that exact directory on exit. Workflow YAML parsing, embedded shell bash -n, and git diff --check pass.

PR #9: https://git.breadway.dev/Breadway/breadshot/pulls/9 changes the stable release job to a per-run mktemp checkout and cleans that exact directory on exit. Workflow YAML parsing, embedded shell `bash -n`, and `git diff --check` pass.
Author
Owner

Reviewed PR #9 against the issue criteria:

  1. Give each stable release run its own ecosystem checkout: satisfied by .forgejo/workflows/release.yml:53, which creates a unique mktemp -d directory.
  2. Remove that checkout when index generation exits: satisfied by lines 54-56, which install an EXIT trap for that exact directory before cloning and running the index script.
  3. Limit the change to the stable release workflow: the PR changes only .forgejo/workflows/release.yml.

The changed paths prevent concurrent stable runs from deleting or overwriting a shared checkout. No behavior tests were added; the reported YAML parse, embedded bash -n, and git diff --check checks are appropriate syntax/format validation for this workflow-only change. PR head c3412b6098121e257129c694d2dd32542aa3819f is mergeable, and CI is currently pending (check / check (push), waiting to run). No code changes requested. Keeping SHOT-8 in REVIEW until CI completes.

Reviewed PR #9 against the issue criteria: 1. Give each stable release run its own ecosystem checkout: satisfied by `.forgejo/workflows/release.yml:53`, which creates a unique `mktemp -d` directory. 2. Remove that checkout when index generation exits: satisfied by lines 54-56, which install an EXIT trap for that exact directory before cloning and running the index script. 3. Limit the change to the stable release workflow: the PR changes only `.forgejo/workflows/release.yml`. The changed paths prevent concurrent stable runs from deleting or overwriting a shared checkout. No behavior tests were added; the reported YAML parse, embedded `bash -n`, and `git diff --check` checks are appropriate syntax/format validation for this workflow-only change. PR head `c3412b6098121e257129c694d2dd32542aa3819f` is mergeable, and CI is currently pending (`check / check (push)`, waiting to run). No code changes requested. Keeping SHOT-8 in REVIEW until CI completes.
Sign in to join this conversation.
No labels
ci
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/breadshot#8
No description provided.