ci: cancel in-flight download-index runs when a new one starts#313
Conversation
Flip concurrency.cancel-in-progress from false to true so a fresh trigger (SDK build dispatch, release publish, manual retry) preempts any older run still mid-rsync. Stale runs hold rsync connections to fi.mirror.armbian.de open for the full duration; cancelling them immediately frees the slot and avoids landing yesterday's index over today's after a slow run finally finishes. The job's own commit step is idempotent (writes armbian-images.json to the data branch), so a cancelled run leaves nothing half-written — the next run regenerates from the source of truth anyway.
|
Warning Rate limit exceeded
You’ve run out of usage credits. Purchase more in the billing tab. ⌛ How to resolve this issue?After the wait time has elapsed, a review can be triggered using the We recommend that you space out your commits to avoid hitting the rate limit. 🚦 How do rate limits work?CodeRabbit enforces hourly rate limits for each developer per organization. Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout. Please see our FAQ for further information. ℹ️ Review info⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (1)
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Summary
One-line concurrency tweak on `data-update-download-index.yml`:
```diff
concurrency:
group: ${{ github.workflow }}
```
Why
A fresh trigger (SDK build dispatch, release publish, manual retry) currently has to wait behind any older run still mid-rsync against `fi.mirror.armbian.de`. Two consequences:
Cancelling the in-flight run on every new trigger preempts both: the freshest data wins, and the rsync slot frees immediately.
The commit step at the bottom of the job writes `armbian-images.json` + `all-torrents.zip` atomically to the `data` branch — a cancelled run leaves nothing half-written.
Test plan