ci(crabbox): default owned aws to standard

This commit is contained in:
Vincent Koc
2026-05-06 15:27:16 -07:00
parent 75f7f30209
commit d3cfc5fd6a
3 changed files with 21 additions and 4 deletions

View File

@@ -293,8 +293,21 @@ environment, or owned capacity is explicitly the goal.
When AWS capacity is under pressure, do not start with `class=beast`.
`beast` begins at 48xlarge instances and can burn 192 vCPU quota per request.
Use `standard` first, then `fast`, and use `large`/`beast` only when the task
truly needs that many cores or the AWS quota increase has landed.
OpenClaw's owned-cloud default is `standard`; escalate to `fast`, then `large`,
and only use `beast` when the work is explicitly CPU-bound and the smaller class
already failed the goal.
Use `beast` only for exceptional lanes:
- full-suite or all-plugin Docker matrices where wall time is dominated by CPU,
not dependency install or network;
- release/blocker validation where a maintainer explicitly asks for the largest
owned AWS class;
- performance profiling where the point is to compare high-core behavior.
Do not use `beast` for `pnpm check:changed`, focused tests, docs-only work,
ordinary lint/typecheck, small E2E repros, or Blacksmith outage triage. Those
should use `standard` first and `fast` only when the extra cores materially help.
Preferred AWS pressure-relief flow:

View File

@@ -1,12 +1,16 @@
profile: openclaw-check
provider: aws
class: beast
class: standard
capacity:
market: spot
strategy: most-available
fallback: on-demand-after-120s
regions:
- eu-west-1
- eu-west-2
- eu-central-1
- us-east-1
- us-west-2
actions:
workflow: .github/workflows/crabbox-hydrate.yml
job: hydrate

View File

@@ -590,7 +590,7 @@ pnpm crabbox:run -- --id <cbx_id-or-slug> --timing-json --shell -- "env NODE_OPT
pnpm crabbox:stop -- <cbx_id-or-slug>
```
Under AWS pressure, avoid `class=beast` unless the task really needs 48xlarge-class CPU. A `beast` request starts at 192 vCPUs and is the easiest way to trip regional EC2 Spot or On-Demand Standard quota. Prefer `standard` or `fast`, set multiple `CRABBOX_CAPACITY_REGIONS`, and use `--market on-demand` for capacity diagnosis so Spot market churn is not mixed into the signal.
Under AWS pressure, avoid `class=beast` unless the task really needs 48xlarge-class CPU. A `beast` request starts at 192 vCPUs and is the easiest way to trip regional EC2 Spot or On-Demand Standard quota. The repo-owned `.crabbox.yaml` defaults to `standard` and multiple capacity regions. Use `fast` for heavier broad checks, `large` only after standard/fast are not enough, and `beast` only for exceptional CPU-bound lanes such as full-suite or all-plugin Docker matrices, explicit release/blocker validation, or high-core performance profiling. Do not use `beast` for `pnpm check:changed`, focused tests, docs-only work, ordinary lint/typecheck, small E2E repros, or Blacksmith outage triage. Use `--market on-demand` for capacity diagnosis so Spot market churn is not mixed into the signal.
`.crabbox.yaml` owns provider, sync, and GitHub Actions hydration defaults for owned-cloud lanes. It excludes local `.git` so the hydrated Actions checkout keeps its own remote Git metadata instead of syncing maintainer-local remotes and object stores, and it excludes local runtime/build artifacts that should never be transferred. `.github/workflows/crabbox-hydrate.yml` owns checkout, Node/pnpm setup, `origin/main` fetch, and the non-secret environment handoff for owned-cloud `crabbox run --id <cbx_id>` commands.