Skip to content

Where people and agents ship software together. The open-source git platform for the whole job: issues, agents, checks and deploys to the edge.

Commit

Room for public repositories' ubuntu-latest jobs: 30 sandboxes on the 4-core machine, a pool of 60

Part of #169. Since #170, every public repository's workflow jobs run on the 4-core class, which had room for 10, where most of them had 20 on the standard class before. Deploy #436's plan job had already failed once with "no container instance that can be provided". - services/runner/wrangler.jsonc: Sandbox4Core max_instances 10 to 30. All three classes together hold 60 sandboxes: 180 vCPU, 600 GiB, 1,080 GB, inside the account's 1,500 vCPU, 6 TiB, 30 TB. - services/actions: HOSTED_POOL 40 to 60, so the per-workspace burst follows the larger pool. - The compute and Cloudflare docs say the new numbers.

Checked:
cargo test -p g1t-actions-service; the runner's and the deploy tool's tests; prettier.
G1t-Session:
ses_01m57b7r6jew3aqgyfmhw6yah6
syntaqxcommitted Parentf405562Browse files
4 files+17−110/4 viewed
+1−1
5454
5555 | | |
5656 | --------------------------- | ------------------------------------------------------------------------------------------------- |
57−| Hosted jobs running at once | 4 per workspace always, up to 12 while the pool of 40 sandboxes keeps 8 free for other workspaces |
57+| Hosted jobs running at once | 4 per workspace always, up to 12 while the pool of 60 sandboxes keeps 8 free for other workspaces |
5858 | A hosted job's timeout | 60 minutes at most |
5959 | A self-hosted job's timeout | 24 hours at most |
6060 | Logs | 4 MiB a job, kept 90 days |
+2−2
342342 16 GB), and so is `runs-on: g1t-2core`, in a class of its own; jobs that
343343 ask for `runs-on: g1t-4core`, and `ubuntu-latest` jobs in a public
344344 repository, get `standard-4` (4 vCPU, 12 GiB, 20 GB). At
345−the `max_instances` in `services/runner/wrangler.jsonc` (20, 10 and 10),
346−40 sandboxes at once hold 100 vCPU, 360 GiB of memory and 680 GB of disk,
345+the `max_instances` in `services/runner/wrangler.jsonc` (20, 10 and 30),
346+60 sandboxes at once hold 180 vCPU, 600 GiB of memory and 1,080 GB of disk,
347347 which your account's Containers limits for live instances must allow.
348348
349349 Set the runner Worker's `DOCKER` variable to `off` to give workflow jobs no
+3−2
6565 /// The most one workspace may run at once while the pool has room to spare.
6666 pub const BURST_PER_WORKSPACE: u32 = 12;
6767 /// Sandboxes g1t's own machines have between them (services/runner's
68−/// wrangler.jsonc: 20 standard, 10 g1t-2core, 10 g1t-4core).
69−pub const HOSTED_POOL: u32 = 40;
68+/// wrangler.jsonc: 20 standard, 10 g1t-2core, 30 g1t-4core, which every
69+/// public repository's ubuntu-latest jobs run on).
70+pub const HOSTED_POOL: u32 = 60;
7071 /// Kept free while workspaces run past their share, so another workspace's
7172 /// first jobs still start at once.
7273 pub const POOL_HEADROOM: u32 = 8;
+11−6
99 // types: standard-3 (2 vCPU, 8 GiB, 16 GB of disk) for the standard
1010 // machine and g1t-2core, which is kept as a name of it so workflows that
1111 // ask for it keep working, and standard-4 (4 vCPU, 12 GiB, 20 GB) for
12− // g1t-4core. At these max_instances, 40 sandboxes at once hold 100 vCPU,
13− // 360 GiB and 680 GB, well inside the account's limits for live
14− // instances (1,500 vCPU, 6 TiB of memory). crates/contracts
12+ // g1t-4core, which is also what ubuntu-latest gets in a public
13+ // repository. At these max_instances, 60 sandboxes at once hold 180 vCPU,
14+ // 600 GiB and 1,080 GB, well inside the account's limits for live
15+ // instances (1,500 vCPU, 6 TiB of memory, 30 TB of disk). crates/contracts
1516 // (INSTANCE_TYPES) and services/billing (keeper.rs) say the same sizes.
1617 // scripts/deploy.mjs deploys with each image set to the reference it
1718 // built and pushed ("The runner's images" in
2223 "class_name": "AttemptSandbox",
2324 "image": "./Dockerfile",
2425 // Workflow jobs with `runs-on: ubuntu-latest` (and every other
25− // hosted label), and all other work: 2 vCPU, 8 GiB, 16 GB.
26+ // hosted label) in a private repository, checks, the merge queue and
27+ // all other work: 2 vCPU, 8 GiB, 16 GB.
2628 "instance_type": "standard-3",
2729 "max_instances": 20,
2830 // A deploy that changes the image or these settings replaces every
4143 "rollout_active_grace_period": 7200
4244 },
4345 {
44− // Workflow jobs with `runs-on: g1t-4core`: 4 vCPU, 12 GiB, 20 GB.
46+ // Workflow jobs with `runs-on: g1t-4core`, and `ubuntu-latest` (and
47+ // every other hosted label) in a public repository: 4 vCPU, 12 GiB,
48+ // 20 GB. Every public repository's workflow jobs run here, so it has
49+ // the most room.
4550 "class_name": "Sandbox4Core",
4651 "image": "./Dockerfile",
4752 "instance_type": "standard-4",
48− "max_instances": 10,
53+ "max_instances": 30,
4954 "rollout_active_grace_period": 7200
5055 }
5156 ],

Comments

Sign in to comment.