diff --git a/.github/runner-scale-sets/query-regression/README.md b/.github/runner-scale-sets/query-regression/README.md index 3e0159af60..f7a9bdc173 100644 --- a/.github/runner-scale-sets/query-regression/README.md +++ b/.github/runner-scale-sets/query-regression/README.md @@ -51,10 +51,10 @@ Configuration lives in repository variables/secrets: | vars | `QUERY_REGRESSION_ECS_IMAGE_ID` | Custom image built by `ecs-image/build-ecs-image.py`. | | vars | `QUERY_REGRESSION_COMMENT_ALLOWLIST` | Comma/whitespace-separated GitHub logins allowed to comment `/query-regression` on a PR. Each login must also have repository `admin` permission. Empty denies all comment commands. | -The system disk is 50 GiB, which covers the image, a 16 GiB swapfile, the -checkout, and cold build caches (target dir, cargo registry, sccache). ENOSPC -stops the runner itself from writing logs, which GitHub reports as `The -operation was canceled` with no telemetry, indistinguishable from a +The system disk is 80 GiB, providing capacity headroom for the image, a 16 GiB +swapfile, the checkout, and cold build caches (target dir, cargo registry, +sccache). ENOSPC stops the runner itself from writing logs, which GitHub reports +as `The operation was canceled` with no telemetry, indistinguishable from a platform-side cancellation. cloud-init masks `systemd-oomd`, disables `unattended-upgrades` / `apt-daily-upgrade`, creates `/swapfile`, and sets `OOMPolicy=continue` @@ -180,7 +180,7 @@ reintroduce those actions unless the image contract changes. Each run provisions its own ECS instance, so overlapping dispatches proceed in parallel. There is no workflow `concurrency` group. All Cargo state (`CARGO_HOME` including registry/git, `CARGO_TARGET_DIR`, sccache, cache -metadata) lives on the 50 GiB system disk and is discarded with the VM. +metadata) lives on the 80 GiB system disk and is discarded with the VM. `RUSTUP_HOME=/opt/rustup` and `/opt/cargo/bin` are image-owned. The runner sets `RUSTC_WRAPPER=/usr/local/bin/sccache`, `SCCACHE_DIR=/home/runner/.cache/sccache`, `SCCACHE_CACHE_SIZE=10G`, and @@ -189,7 +189,7 @@ at 10G. Base and candidate builds share the target on that disk; Cargo fingerprints invalidate source and dependency changes. The workflow reports `du` / `df` in telemetry. It does not try to reclaim -space across runs: a cold 50 GiB disk that fills up fails the build. +space across runs: a cold 80 GiB disk that fills up fails the build. ## Future optional phases diff --git a/.github/scripts/aliyun-ecs-runner-provision.py b/.github/scripts/aliyun-ecs-runner-provision.py index 307ee336eb..b5dee7f51f 100644 --- a/.github/scripts/aliyun-ecs-runner-provision.py +++ b/.github/scripts/aliyun-ecs-runner-provision.py @@ -81,8 +81,8 @@ POLL_INTERVAL_SECONDS = 5 SWAP_FILE = "/swapfile" SWAP_SIZE_GIB = 16 # Image (~12G), 16G swap, checkout, base+candidate data homes, and cold -# build caches. Deleted with the instance. -SYSTEM_DISK_GIB = 50 +# build caches. 80 GiB provides capacity headroom. Deleted with the instance. +SYSTEM_DISK_GIB = 80 @dataclass(frozen=True)