• Will Chen's avatar
    Add CI cleanup script for self-hosted macOS runners (#2617) · c971fe82
    Will Chen 提交于
    ## 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: 's avatarClaude Opus 4.6 <noreply@anthropic.com>
    c971fe82
名称
最后提交
最后更新
.claude 正在载入提交数据...
.cursor/rules 正在载入提交数据...
.devcontainer 正在载入提交数据...
.github 正在载入提交数据...
.husky 正在载入提交数据...
.storybook 正在载入提交数据...
assets 正在载入提交数据...
docs 正在载入提交数据...
drizzle 正在载入提交数据...
e2e-tests 正在载入提交数据...
makers 正在载入提交数据...
packages/@dyad-sh 正在载入提交数据...
rules 正在载入提交数据...
scaffold 正在载入提交数据...
scripts 正在载入提交数据...
shared 正在载入提交数据...
src 正在载入提交数据...
testing 正在载入提交数据...
tools 正在载入提交数据...
worker 正在载入提交数据...
workers/tsc 正在载入提交数据...
.cursorignore 正在载入提交数据...
.env.example 正在载入提交数据...
.eslintrc.json 正在载入提交数据...
.gitattributes 正在载入提交数据...
.gitignore 正在载入提交数据...
.oxfmtrc.json 正在载入提交数据...
.oxlintrc.json 正在载入提交数据...
.prettierignore 正在载入提交数据...
.prettierrc 正在载入提交数据...
AGENTS.md 正在载入提交数据...
CLA.md 正在载入提交数据...
CLAUDE.md 正在载入提交数据...
CONTRIBUTING.md 正在载入提交数据...
LICENSE 正在载入提交数据...
README.md 正在载入提交数据...
SECURITY.md 正在载入提交数据...
biome.json 正在载入提交数据...
components.json 正在载入提交数据...
drizzle.config.ts 正在载入提交数据...
forge.config.ts 正在载入提交数据...
forge.env.d.ts 正在载入提交数据...
index.html 正在载入提交数据...
lint-staged.config.js 正在载入提交数据...
merge.config.ts 正在载入提交数据...
package-lock.json 正在载入提交数据...
package.json 正在载入提交数据...
playwright.config.ts 正在载入提交数据...
tsconfig.app.json 正在载入提交数据...
tsconfig.json 正在载入提交数据...
tsconfig.node.json 正在载入提交数据...
vite.main.config.mts 正在载入提交数据...
vite.preload.config.mts 正在载入提交数据...
vite.renderer.config.mts 正在载入提交数据...
vite.worker.config.mts 正在载入提交数据...
vitest.config.ts 正在载入提交数据...
windowsSign.ts 正在载入提交数据...