Add CI cleanup script for self-hosted macOS runners (#2617)
## Summary
- Adds `scripts/ci-cleanup-macos.sh` that cleans up build outputs, test
artifacts, old Playwright browsers, npm cache, and stale runner
diagnostic logs after each CI job
- Integrates the cleanup as an `if: always()` post-job step in `ci.yml`
(build + e2e-tests jobs) and `claude-deflake-e2e.yml`
- Prevents disk space exhaustion on Mac Mini self-hosted runners (see
[failed
job](https://github.com/dyad-sh/dyad/actions/runs/21882508263/job/63168659300))
## Test plan
- [ ] Verify cleanup step runs on self-hosted macOS runners after build
job
- [ ] Verify cleanup step runs on self-hosted macOS runners after
e2e-tests job
- [ ] Verify cleanup step runs after deflake workflow
- [ ] Verify cleanup is skipped on GitHub-hosted runners (guarded by
`contains(matrix.os.image, 'self-hosted')`)
- [ ] Verify the script is idempotent (safe to run when artifacts don't
exist)
🤖 Generated with [Claude Code](https://claude.com/claude-code)
<!-- devin-review-badge-begin -->
---
<a href="https://app.devin.ai/review/dyad-sh/dyad/pull/2617"
target="_blank">
<picture>
<source media="(prefers-color-scheme: dark)"
srcset="https://static.devin.ai/assets/gh-open-in-devin-review-dark.svg?v=1">
<img
src="https://static.devin.ai/assets/gh-open-in-devin-review-light.svg?v=1"
alt="Open with Devin">
</picture>
</a>
<!-- devin-review-badge-end -->
<!-- This is an auto-generated description by cubic. -->
---
## Summary by cubic
Adds a macOS CI cleanup script that runs after each job on self-hosted
Mac Minis to free disk space and prevent failures from exhaustion.
- **New Features**
- Added scripts/ci-cleanup-macos.sh to remove build outputs, test
artifacts, old Playwright browsers (keeps current via chromium revision
from browsers.json), npm cache/logs (rm -rf _cacache), and runner
diagnostics older than 7 days; safe to run multiple times with a
corrected Node check.
- Integrated as an if: always() post-job step in ci.yml (build and
e2e-tests, guarded to self-hosted) and claude-deflake-e2e.yml.
<sup>Written for commit 756485ea0c30b9ba26800c168f182b3688bef6cc.
Summary will update on new commits.</sup>
<!-- End of auto-generated description by cubic. -->
<!-- CURSOR_SUMMARY -->
---
> [!NOTE]
> **Low Risk**
> Low risk CI-only change; main risk is over-aggressive cleanup
(caches/artifacts) causing longer reruns or unexpected deletions on
self-hosted runners.
>
> **Overview**
> Adds a new `scripts/ci-cleanup-macos.sh` post-job script to reclaim
disk space on self-hosted macOS runners by deleting workspace build/test
artifacts, pruning old Playwright browser installs, clearing npm
cache/logs, and removing stale runner diagnostic logs.
>
> Integrates the cleanup as an `if: always()` step after `build` and
`e2e-tests` in `ci.yml` (guarded to self-hosted macOS) and after the
deflake job in `claude-deflake-e2e.yml`.
>
> <sup>Written by [Cursor
Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit
756485ea0c30b9ba26800c168f182b3688bef6cc. This will update automatically
on new commits. Configure
[here](https://cursor.com/dashboard?tab=bugbot).</sup>
<!-- /CURSOR_SUMMARY -->
---------
Co-authored-by:
Claude Opus 4.6 <noreply@anthropic.com>
正在显示
scripts/ci-cleanup-macos.sh
0 → 100755
请
注册
或者
登录
后发表评论