Showing the changes to .github (1 of 3 files). Show all
Unified · Split
| @@ -18,6 +18,7 @@ jobs: · 17 unmodified lines | ||
| 18 | 18 | outputs: |
| 19 | 19 | desktop_smoke: ${{ github.event_name != 'pull_request' || steps.filter.outputs.desktop_smoke == 'true' }} |
| 20 | 20 | selfhost_docker_smoke: ${{ github.event_name != 'pull_request' || steps.filter.outputs.selfhost_docker_smoke == 'true' }} |
| 21 | + cloud_closure: ${{ github.event_name != 'pull_request' || steps.filter.outputs.cloud_closure == 'true' }} | |
| 21 | 22 | steps: |
| 22 | 23 | - uses: actions/checkout@v4 |
| 23 | 24 | |
| @@ -41,6 +42,14 @@ jobs: · 17 unmodified lines | ||
| 41 | 42 | - "packages/kernel/runtime-quickjs/**" |
| 42 | 43 | - "packages/plugins/**" |
| 43 | 44 | - "packages/react/**" |
| 45 | + cloud_closure: | |
| 46 | + - ".github/workflows/**" | |
| 47 | + - "bun.lock" | |
| 48 | + - "package.json" | |
| 49 | + - "turbo.json" | |
| 50 | + - "apps/cloud/**" | |
| 51 | + - "packages/**" | |
| 52 | + | |
| 44 | 53 | selfhost_docker_smoke: |
| 45 | 54 | - ".github/workflows/**" |
| 46 | 55 | - ".dockerignore" |
| @@ -302,6 +311,50 @@ jobs: · 255 unmodified lines | ||
| 302 | 311 | path: e2e/runs/ |
| 303 | 312 | retention-days: 7 |
| 304 | 313 | |
| 314 | + cloud-closure: | |
| 315 | + name: Cloud evaluated closure | |
| 316 | + needs: changes | |
| 317 | + if: needs.changes.outputs.cloud_closure == 'true' | |
| 318 | + runs-on: blacksmith-4vcpu-ubuntu-2404 | |
| 319 | + timeout-minutes: 20 | |
| 320 | + env: | |
| 321 | + TURBO_API: ${{ vars.TURBO_API }} | |
| 322 | + TURBO_TEAM: ${{ vars.TURBO_TEAM }} | |
| 323 | + TURBO_TOKEN: ${{ secrets.TURBO_TOKEN }} | |
| 324 | + TURBO_REMOTE_CACHE_SIGNATURE_KEY: ${{ secrets.TURBO_REMOTE_CACHE_SIGNATURE_KEY }} | |
| 325 | + # Every cold isolate evaluates this closure before it can answer a | |
| 326 | + # request, and it only ever grows by accident - a barrel export or a new | |
| 327 | + # module-scope import quietly pulls megabytes into the server graph. The | |
| 328 | + # budget is a ratchet just above today's size, not a discovered limit: | |
| 329 | + # when it trips, make the new dependency lazy rather than raising it. | |
| 330 | + START_CLOSURE_BUDGET_MB: 13.5 | |
| 331 | + steps: | |
| 332 | + - uses: actions/checkout@v4 | |
| 333 | + | |
| 334 | + - uses: oven-sh/setup-bun@v2 | |
| 335 | + with: | |
| 336 | + bun-version: 1.3.11 | |
| 337 | + | |
| 338 | + - name: Cache Bun package cache | |
| 339 | + uses: actions/cache@v4 | |
| 340 | + with: | |
| 341 | + path: ~/.bun/install/cache | |
| 342 | + key: ${{ runner.os }}-bun-1.3.11-${{ hashFiles('bun.lock') }} | |
| 343 | + restore-keys: | | |
| 344 | + ${{ runner.os }}-bun-1.3.11- | |
| 345 | + | |
| 346 | + - uses: actions/setup-node@v4 | |
| 347 | + with: | |
| 348 | + node-version: 24 | |
| 349 | + | |
| 350 | + - run: bun install --frozen-lockfile | |
| 351 | + | |
| 352 | + - run: bun run build | |
| 353 | + working-directory: apps/cloud | |
| 354 | + | |
| 355 | + - run: node scripts/start-closure.mjs | |
| 356 | + working-directory: apps/cloud | |
| 357 | + | |
| 305 | 358 | desktop-smoke: |
| 306 | 359 | name: Desktop smoke build |
| 307 | 360 | needs: changes |