StarSling (YC X25) (@starslingdev) header
StarSling (YC X25) (@starslingdev) profile picture

Agent-native CI. Trusted by @mastra, @better_auth, and other AI-first companies. Backed by @ycombinator. Free skills: https://nitter.cf/t.co/jtE4GjY7xn

San Francisco, CA
Joined April 2025
Photo by StarSling (YC X25) (@starslingdev)Photo by StarSling (YC X25) (@starslingdev)Photo by StarSling (YC X25) (@starslingdev)Photo by StarSling (YC X25) (@starslingdev)Photo by StarSling (YC X25) (@starslingdev)
StarSling (YC X25) retweeted
Lie: "CI is hardware constrained" The top tech companies in the world are solving the great CI bottleneck of 2026 with code changes. You can too with our agent-friendly playbooks.
A new GitHub Actions runner launches every week now. But getting faster runners is just one part of what the best engineering teams do to speed up their CI. Introducing CI Playbooks ▶️ an agent-friendly library of 253 GitHub Actions optimizations from companies running software factories. We analyzed 416 pull requests and commits, and 182 blog posts, talks, and podcasts from ten companies: 1. Anthropic: CI job volume grew 25x in six months as Claude came to write 80% of its code 2. DoorDash: build and test cut from 22 minutes to 6 3. Linear: jobs 34% faster while test suites almost quadrupled 4. Mastra: 29m 56s to 5m 06s p95 on StarSling runners 5. OpenAI: about 30 CI PRs took median CI from about 10 minutes to 4.5 6. Ramp: its coding agent accounts for 74% of merged PRs 7. Shopify: an agent running experiments made the Polaris build 65% faster 8. Spotify: deployer image build went from 2h28m to about 17 minutes 9. Stripe: runs about 5% of its full Ruby test suite per build 10. Uber: CI resource usage down 53%, wait times down 37% Some of these companies aren't using GitHub Actions as their CI engine internally so we translated all the optimizations they've talked about or made publicly in their repos, into their GHA equivalents. Every technique comes with its original source and a prompt your coding agent can run on your repo. Add .md to any playbook URL for the markdown version, or just hand this URL to your agent: starsling.dev/ci-playbooks There's tons to dig into here, I'm going to highlight some of the findings I found most interesting 🧵
2
2
11
947
Introducing CI Playbooks ▶️ starsling.dev/blog/introduci…
A new GitHub Actions runner launches every week now. But getting faster runners is just one part of what the best engineering teams do to speed up their CI. Introducing CI Playbooks ▶️ an agent-friendly library of 253 GitHub Actions optimizations from companies running software factories. We analyzed 416 pull requests and commits, and 182 blog posts, talks, and podcasts from ten companies: 1. Anthropic: CI job volume grew 25x in six months as Claude came to write 80% of its code 2. DoorDash: build and test cut from 22 minutes to 6 3. Linear: jobs 34% faster while test suites almost quadrupled 4. Mastra: 29m 56s to 5m 06s p95 on StarSling runners 5. OpenAI: about 30 CI PRs took median CI from about 10 minutes to 4.5 6. Ramp: its coding agent accounts for 74% of merged PRs 7. Shopify: an agent running experiments made the Polaris build 65% faster 8. Spotify: deployer image build went from 2h28m to about 17 minutes 9. Stripe: runs about 5% of its full Ruby test suite per build 10. Uber: CI resource usage down 53%, wait times down 37% Some of these companies aren't using GitHub Actions as their CI engine internally so we translated all the optimizations they've talked about or made publicly in their repos, into their GHA equivalents. Every technique comes with its original source and a prompt your coding agent can run on your repo. Add .md to any playbook URL for the markdown version, or just hand this URL to your agent: starsling.dev/ci-playbooks There's tons to dig into here, I'm going to highlight some of the findings I found most interesting 🧵
4
332
StarSling (YC X25) retweeted
A new GitHub Actions runner launches every week now. But getting faster runners is just one part of what the best engineering teams do to speed up their CI. Introducing CI Playbooks ▶️ an agent-friendly library of 253 GitHub Actions optimizations from companies running software factories. We analyzed 416 pull requests and commits, and 182 blog posts, talks, and podcasts from ten companies: 1. Anthropic: CI job volume grew 25x in six months as Claude came to write 80% of its code 2. DoorDash: build and test cut from 22 minutes to 6 3. Linear: jobs 34% faster while test suites almost quadrupled 4. Mastra: 29m 56s to 5m 06s p95 on StarSling runners 5. OpenAI: about 30 CI PRs took median CI from about 10 minutes to 4.5 6. Ramp: its coding agent accounts for 74% of merged PRs 7. Shopify: an agent running experiments made the Polaris build 65% faster 8. Spotify: deployer image build went from 2h28m to about 17 minutes 9. Stripe: runs about 5% of its full Ruby test suite per build 10. Uber: CI resource usage down 53%, wait times down 37% Some of these companies aren't using GitHub Actions as their CI engine internally so we translated all the optimizations they've talked about or made publicly in their repos, into their GHA equivalents. Every technique comes with its original source and a prompt your coding agent can run on your repo. Add .md to any playbook URL for the markdown version, or just hand this URL to your agent: starsling.dev/ci-playbooks There's tons to dig into here, I'm going to highlight some of the findings I found most interesting 🧵
10
4
6
102
11,573
StarSling (YC X25) retweeted
“Overall tests are now about 4x faster” @starslingdev 🚀
Shout-out to @starslingdev 🚀 We moved Divi's CI over and our test runs are now ~4x faster, down to 6–7 minutes. Faster feedback = faster shipping for our users (investors). If your team lives in GitHub Actions, check them out. h/t @yonasbe and team! My CTO sent me this:
1
1
5
410
StarSling (YC X25) retweeted
Yup. Most teams trying to cut down their CI don't realize that it's not just about faster runners. Lots of optimizations to do across your workflows and tests. Anthropic's approach: nitter.cf/yonasbe/status/2112221… Linear's approach: nitter.cf/yonasbe/status/2110045…
Anthropic, Linear, and many other companies are all hitting the same wall in AI software development: CI For twenty years CI was designed for human output. Now a five-person team can generate the code of a 50-person team, and all of it lands at the top of the CI pipeline in seconds. What this means: - 𝗢𝗽𝘁𝗶𝗺𝗶𝘇𝗶𝗻𝗴 𝗶𝘀 𝗮 𝘀𝘁𝗮𝗰𝗸 𝗼𝗳 𝗽𝗮𝗽𝗲𝗿𝗰𝘂𝘁𝘀. Anecdotally one team quadrupled its tests and still got PR waits down to about 5 minutes with a dozen small fixes: tsgo instead of tsc, oxlint, sparse checkouts, preinstalled dependencies, balanced test shards. - 𝗦𝗺𝗮𝗿𝘁 𝘁𝗲𝘀𝘁 𝘀𝗲𝗹𝗲𝗰𝘁𝗶𝗼𝗻 𝘄𝗼𝗿𝗸𝘀 𝘂𝗽 𝘁𝗼 𝗮 𝗽𝗼𝗶𝗻𝘁. Doing some form of test impact analysis so each change only runs the tests it touches is helpful. Even such smart selection systems get strained past a certain job volume. - 𝗖𝗜 𝗯𝗲𝗰𝗼𝗺𝗲𝘀 𝘁𝗵𝗲 𝘃𝗲𝗿𝗶𝗳𝗶𝗰𝗮𝘁𝗶𝗼𝗻 𝗹𝗮𝘆𝗲𝗿: engineers can't review all the code agents write, even with AI reviewers. CI is where trust in that code gets established. It’s clear writing code stopped being the bottleneck. Now the systems to verify their correctness at scale are a new chokepoint.
7
11
2
314
23,902
CI Playbooks based on lessons from @linear, @AnthropicAI, and @OpenAI (with agent prompts + skills)👇 Linear: nitter.cf/yonasbe/status/2110045… Anthropic: nitter.cf/yonasbe/status/2112221… OpenAI: nitter.cf/yonasbe/status/2113333…
OpenAI's CI playbook (for GitHub Actions): @OpenAIDevs cut their median CI from ~10 min to 4.5 min by asking Codex what to fix. You can do the same with your agent. We went through 855 CI workflow changes across 20 of @OpenAI's most popular repos, 120 PRs, and 33 blog posts and guides. Here's what they shipped: 1. Rank fixes by minutes saved, from your own run history 2. Fix flaky tests that fail, then pass on the same commit 3. Mock the slow dependency: a 63-test suite went from 592.6s to 29.8s 4. Run tests in fewer processes: 8m49s to 21s 5. Install prebuilt packages (plus cache fixes): 10m42s to 2m12s 6. Balance shards by measured test time: 22m26s to ~7m29s 7. Build once, test on every shard 8. Measure test concurrency: 8 jobs beat 12 9. Drop caches that cost more than they save: 66,295s of saves for 1,515s of restores 10. Put the long pole on a faster runner Each one is a copy-paste prompt for your agent: starsling.dev/blog/openai-ci
1
6
278
StarSling (YC X25) retweeted
Adaptive Compute in action 🏆
Introducing Adaptive Compute ⚡️ Up to 2.3x faster GitHub Actions, with no workflow changes. Intelligent routing, instant failover and temporary resource boosts. (+25% vCPU and +50% RAM) starsling.dev/blog/adaptive-…
2
1
2
9
1,299
StarSling (YC X25) retweeted
OpenAI's CI playbook (for GitHub Actions): @OpenAIDevs cut their median CI from ~10 min to 4.5 min by asking Codex what to fix. You can do the same with your agent. We went through 855 CI workflow changes across 20 of @OpenAI's most popular repos, 120 PRs, and 33 blog posts and guides. Here's what they shipped: 1. Rank fixes by minutes saved, from your own run history 2. Fix flaky tests that fail, then pass on the same commit 3. Mock the slow dependency: a 63-test suite went from 592.6s to 29.8s 4. Run tests in fewer processes: 8m49s to 21s 5. Install prebuilt packages (plus cache fixes): 10m42s to 2m12s 6. Balance shards by measured test time: 22m26s to ~7m29s 7. Build once, test on every shard 8. Measure test concurrency: 8 jobs beat 12 9. Drop caches that cost more than they save: 66,295s of saves for 1,515s of restores 10. Put the long pole on a faster runner Each one is a copy-paste prompt for your agent: starsling.dev/blog/openai-ci
9
3
2
42
3,821
OpenAI's CI optimizations, as prompts for your agent:
OpenAI's CI playbook (for GitHub Actions): @OpenAIDevs cut their median CI from ~10 min to 4.5 min by asking Codex what to fix. You can do the same with your agent. We went through 855 CI workflow changes across 20 of @OpenAI's most popular repos, 120 PRs, and 33 blog posts and guides. Here's what they shipped: 1. Rank fixes by minutes saved, from your own run history 2. Fix flaky tests that fail, then pass on the same commit 3. Mock the slow dependency: a 63-test suite went from 592.6s to 29.8s 4. Run tests in fewer processes: 8m49s to 21s 5. Install prebuilt packages (plus cache fixes): 10m42s to 2m12s 6. Balance shards by measured test time: 22m26s to ~7m29s 7. Build once, test on every shard 8. Measure test concurrency: 8 jobs beat 12 9. Drop caches that cost more than they save: 66,295s of saves for 1,515s of restores 10. Put the long pole on a faster runner Each one is a copy-paste prompt for your agent: starsling.dev/blog/openai-ci
2
145
StarSling (YC X25) retweeted
Faster runners make CI jobs faster. They don't make you run fewer of them. Where CI time actually goes (and the fix for each): 1. Compute: the job itself. Faster machines help here. 2. Waiting: queues from concurrency caps. A faster machine doesn't shorten a queue. 3. Setup: checkout, installs, cache restores. Shallow checkouts and warm caches. 4. Redundant work: runs for commits you already replaced, the full suite for a docs change. cancel-in-progress, path filters, affected tests only. 5. Idle time: fixed sleeps, healthchecks that wait on an open port instead of a ready database. Most teams only fix #1. The bigger wins are usually in 2–5, and they live in your workflow files, not your hardware.
Levels of CI - a full guide for making your GitHub Actions cheaper and faster 👇🏾 Level 1: use Actions cache cache every dependency install, keyed on the lockfile so it actually hits. 🔗 Docs: docs.github.com/en/actions/r… 🔗 Agent prompt: starsling.dev/best-practices… Level 2: swap runners get faster, cheaper machines by changing the runs-on label. Your workflows, triggers, and checks stay exactly as they are. 🔗 Runner comparison: starsling.dev/compare 🔗 Right-size runners: starsling.dev/best-practices… 🔗 Cut queue time: starsling.dev/best-practices… 🔗 Runners that automatically adapt: starsling.dev/blog/adaptive-… Level 3: optimize your tests and workflows cache dependencies and builds, split long suites across parallel jobs, skip work a change can't affect, cancel runs a newer push replaced. Skills: 🔗 ci-speedup (@starslingdev): github.com/starslingdev/skil… 🔗 ci-cd-and-automation (@addyosmani): github.com/addyosmani/agent-… 🔗 test-audit (@steipete): github.com/openclaw/openclaw… Posts and guides: 🔗 18 best practices (agent-friendly): starsling.dev/best-practices… 🔗 16 optimization recipes (agent-friendly): starsling.dev/github-actions… 🔗 Where your CI money goes (prompt): starsling.dev/github-actions… 🔗 Why your CI is slow (prompt): starsling.dev/github-actions… Do all the above, or just let StarSling agents ship PRs like these for you: starsling.dev/products/runne… Level 4: switch CI engines Meta and Google built Buck2 (buck2.build) and Bazel (bazel.build) for aggressive caching and test selection, so each PR runs only the tests relevant to its change. A custom engine controls the whole execution layer, which gives you a much larger surface to optimize. Options for engines: 🔗 Dagger (dagger.io) 🔗 Buildkite (buildkite.com) 🔗 Depot CI (depot.dev/products/ci) 🔗 CircleCI (circleci.com) 🔗 GitLab CI (docs.gitlab.com/ci/) Level 5: throw out CI engines entirely A few different approaches are being discussed that were never possible pre-AI. This is the future: 1. Agent-driven test selection. "My plan is to let codex decide which tests actually need to run and drastically nix CI and run tests hourly." @steipete (nitter.cf/steipete/status/210430…) 2. CI after merge with auto-remediation. "have something that is running actual functional tests off of your master branch on a cron, and then if any regressions occur, automatically have an LLM bisect and figure out the bug and then patch it..." @yacineMTB (nitter.cf/yacineMTB/status/21043…) 3. Agents replace CI: a verification agent that writes just-in-time tests for each change. @Meta's research: engineering.fb.com/2026/02/1… Most teams are somewhere between Level 2 and 3. Figure out which level you're at and give your agent this full post: starsling.dev/blog/levels-of…
4
3
33
4,197
StarSling (YC X25) retweeted
Anthropic's CI playbook (give this to your agent) @AnthropicAI's CI jobs grew 25x in six months, so they built their own test selection system. The same ideas work on GitHub Actions: 1. Run only affected tests: Anthropic picks each change's tests from past results and package relevance. On GHA, use the dependency graph from Turborepo, Nx, Bazel, Gradle, Vitest or Jest on PRs. 2. Keep the full suite where it counts: run everything on main and in the merge queue, so skipped tests still get caught before deploy. 3. Skip workflows a change can't affect: path filters, plus job-level ifs so required checks don't hang waiting. 4. Run CI once per change: drop the push + pull_request double trigger, and stop rerunning on things like PR title edits unless a check reads them. 5. Bound flaky jobs: a hung job can hold a runner for 6 hours by default. Set timeout-minutes from the job's own run history. Anthropic's merges went from about 2,500 a day in May to over 30,000 in September, and their advice is to "assume your architecture will be at a 25x load within two quarters" 📈 Get these and 70+ more CI optimizations: starsling.dev/blog/anthropic…
7
5
3
117
10,540
StarSling (YC X25) retweeted
35% speed up with 5 minutes of work! If you’re still paying for the default GitHub Actions runners, there’s no reason not to try @starslingdev 💫
Replying to @yonasbe
moved our CI from GitHub-hosted runners to Starsling (starsling.dev). just about 5 minutes of work. Full runs went from 4m23s to 2m50s, so ~35% faster, and every test stage sped up. It's also ~57% cheaper per run though we were inside GH's 2,000 free minutes anyway.
1
1
1
14
1,764
StarSling (YC X25) retweeted
Linear's playbook covers 15 moves. ci-speedup, our open source skill, checks for 80+ patterns from your GitHub Actions run history. Here are the ones most similar to Linear's that identify waste that's measurable but easy to miss 🧵
Linear's CI playbook (for GitHub Actions): 1. Faster runners: Linear moved CI off GitHub's runners onto faster machines. Jobs ran 34% faster on average, and typecheck 52% faster. 2. Native type-checking: switching from tsc to tsgo, the native TypeScript compiler, cut the typecheck's weekly median by 73% and took it off the critical path. 3. Lint without types: they rewrote the lint rules that needed type info as syntax-only rules. API lint got 68% faster, the whole repo 55% faster, with far less memory. 4. Oxlint: syntax-only rules made the move to Oxlint easy, and it cut the runner minutes spent on linting. 5. Lighter checkouts: a shallow fetch took the slowest gate job from 94s to 20s, and dropping checkout from jobs that never read files took 27s to 7s. 6. Resilient checkout: a checkout that retries and aborts a stalled fetch after about 30s, instead of hanging, meant far fewer runs stuck waiting on git. 7. Off the critical path: moving a cache write out of the final merge check saved 42s on every API PR and merge-queue entry. 8. Preinstall in the CI image: baking the Postgres client into the base image saved 7-8s per test shard on every run, and stopped a setup step that occasionally hung. 9. Filtered installs: installing only the API package, not the whole monorepo, cut pnpm install from 44-73s to 16–18s. 10. Drop a costly cache: a node_modules cache took about 28s to restore, slower than a 7.5s fresh install, so they removed it. Along with moves 8 and 9, per-shard setup fell 44%. 11. Schema snapshots: loading a schema snapshot instead of replaying every migration cut database setup from about 12s to 1-2s per container. 12. Batch short checks: merging seven tiny jobs into two that run their tasks in parallel saved about 87,000 runner-minutes a month, 11.8% of their CI. 13. Balance the shards: splitting oversized test files and moving from 4 to 8 shards made the critical job about 19% faster and 19% cheaper. 14. Share module state: letting test files share setup was their single biggest win. The slowest shard went from 300-379s to about 195s, and shard runner time from 32.8 to 22 minutes per run. 15. Setup bounds sharding: with setup down to about 40s, 8 shards now spend less total setup time than 4 used to, while running tests twice as wide. If you want your CI to look like theirs with all of these optimizations (and 50+ more), give your agent this post: starsling.dev/blog/linear-ci
3
1
9
715
StarSling (YC X25) retweeted
Levels of CI - a full guide for making your GitHub Actions cheaper and faster 👇🏾 Level 1: use Actions cache cache every dependency install, keyed on the lockfile so it actually hits. 🔗 Docs: docs.github.com/en/actions/r… 🔗 Agent prompt: starsling.dev/best-practices… Level 2: swap runners get faster, cheaper machines by changing the runs-on label. Your workflows, triggers, and checks stay exactly as they are. 🔗 Runner comparison: starsling.dev/compare 🔗 Right-size runners: starsling.dev/best-practices… 🔗 Cut queue time: starsling.dev/best-practices… 🔗 Runners that automatically adapt: starsling.dev/blog/adaptive-… Level 3: optimize your tests and workflows cache dependencies and builds, split long suites across parallel jobs, skip work a change can't affect, cancel runs a newer push replaced. Skills: 🔗 ci-speedup (@starslingdev): github.com/starslingdev/skil… 🔗 ci-cd-and-automation (@addyosmani): github.com/addyosmani/agent-… 🔗 test-audit (@steipete): github.com/openclaw/openclaw… Posts and guides: 🔗 18 best practices (agent-friendly): starsling.dev/best-practices… 🔗 16 optimization recipes (agent-friendly): starsling.dev/github-actions… 🔗 Where your CI money goes (prompt): starsling.dev/github-actions… 🔗 Why your CI is slow (prompt): starsling.dev/github-actions… Do all the above, or just let StarSling agents ship PRs like these for you: starsling.dev/products/runne… Level 4: switch CI engines Meta and Google built Buck2 (buck2.build) and Bazel (bazel.build) for aggressive caching and test selection, so each PR runs only the tests relevant to its change. A custom engine controls the whole execution layer, which gives you a much larger surface to optimize. Options for engines: 🔗 Dagger (dagger.io) 🔗 Buildkite (buildkite.com) 🔗 Depot CI (depot.dev/products/ci) 🔗 CircleCI (circleci.com) 🔗 GitLab CI (docs.gitlab.com/ci/) Level 5: throw out CI engines entirely A few different approaches are being discussed that were never possible pre-AI. This is the future: 1. Agent-driven test selection. "My plan is to let codex decide which tests actually need to run and drastically nix CI and run tests hourly." @steipete (nitter.cf/steipete/status/210430…) 2. CI after merge with auto-remediation. "have something that is running actual functional tests off of your master branch on a cron, and then if any regressions occur, automatically have an LLM bisect and figure out the bug and then patch it..." @yacineMTB (nitter.cf/yacineMTB/status/21043…) 3. Agents replace CI: a verification agent that writes just-in-time tests for each change. @Meta's research: engineering.fb.com/2026/02/1… Most teams are somewhere between Level 2 and 3. Figure out which level you're at and give your agent this full post: starsling.dev/blog/levels-of…
Replying to @yacineMTB
instead; have something that is running actual functional tests off of your master branch on a cron, and then if any regressions occur, automatically have an LLM bisect and figure out the bug and then patch it and then ban the engineer responsible for merging for 1 (one) week
11
3
2
112
12,637
StarSling (YC X25) retweeted
Introducing Adaptive Compute for GitHub Actions - up to 2.3x faster jobs with no workflow changes ⚡️ If you’re using GitHub Actions, the compute you use for CI is predefined. The number of cores running and memory size is defined in your workflow files. That means if tests are maxing out the CPU or RAM on a job and causing them to be slow, you won’t really know unless it errors out. You can throw more resources at your CI, but tuning this optimally usually requires you to look at your workflow code, past runs, and logs. No one has time for that. @starslingdev now intelligently routes your jobs to the optimal high performance sandbox before they start, based on the shape and history of the workload. Then once a job has begun, Afterburner dynamically boosts CPU and RAM for the job within seconds while the job is running 🔥 In our (open source) benchmarks against GitHub-hosted runners, we’re seeing a 2.32x speed up in jobs using Adaptive Compute 📈 The days of having to think about compute have been over for your applications, now it’s time for CI! starsling.dev/blog/adaptive-…
3
1
1
9
978
StarSling (YC X25) retweeted
Introducing Adaptive Compute ⚡️ Up to 2.3x faster GitHub Actions, with no workflow changes. Intelligent routing, instant failover and temporary resource boosts. (+25% vCPU and +50% RAM) starsling.dev/blog/adaptive-…
5
6
2
87
5,032
All the CI optimizations @linear made in one post for your agent 👇
Linear's CI playbook (for GitHub Actions): 1. Faster runners: Linear moved CI off GitHub's runners onto faster machines. Jobs ran 34% faster on average, and typecheck 52% faster. 2. Native type-checking: switching from tsc to tsgo, the native TypeScript compiler, cut the typecheck's weekly median by 73% and took it off the critical path. 3. Lint without types: they rewrote the lint rules that needed type info as syntax-only rules. API lint got 68% faster, the whole repo 55% faster, with far less memory. 4. Oxlint: syntax-only rules made the move to Oxlint easy, and it cut the runner minutes spent on linting. 5. Lighter checkouts: a shallow fetch took the slowest gate job from 94s to 20s, and dropping checkout from jobs that never read files took 27s to 7s. 6. Resilient checkout: a checkout that retries and aborts a stalled fetch after about 30s, instead of hanging, meant far fewer runs stuck waiting on git. 7. Off the critical path: moving a cache write out of the final merge check saved 42s on every API PR and merge-queue entry. 8. Preinstall in the CI image: baking the Postgres client into the base image saved 7-8s per test shard on every run, and stopped a setup step that occasionally hung. 9. Filtered installs: installing only the API package, not the whole monorepo, cut pnpm install from 44-73s to 16–18s. 10. Drop a costly cache: a node_modules cache took about 28s to restore, slower than a 7.5s fresh install, so they removed it. Along with moves 8 and 9, per-shard setup fell 44%. 11. Schema snapshots: loading a schema snapshot instead of replaying every migration cut database setup from about 12s to 1-2s per container. 12. Batch short checks: merging seven tiny jobs into two that run their tasks in parallel saved about 87,000 runner-minutes a month, 11.8% of their CI. 13. Balance the shards: splitting oversized test files and moving from 4 to 8 shards made the critical job about 19% faster and 19% cheaper. 14. Share module state: letting test files share setup was their single biggest win. The slowest shard went from 300-379s to about 195s, and shard runner time from 32.8 to 22 minutes per run. 15. Setup bounds sharding: with setup down to about 40s, 8 shards now spend less total setup time than 4 used to, while running tests twice as wide. If you want your CI to look like theirs with all of these optimizations (and 50+ more), give your agent this post: starsling.dev/blog/linear-ci
3
359
StarSling (YC X25) retweeted
Agents write code faster than CI can check it. GitHub Actions minutes are up 4x. Anthropic's CI job volume grew 25x in 6 months. @dbworku thinks CI as we know it doesn't survive.
7
3
1
15
943
StarSling (YC X25) retweeted
Linear's CI playbook (for GitHub Actions): 1. Faster runners: Linear moved CI off GitHub's runners onto faster machines. Jobs ran 34% faster on average, and typecheck 52% faster. 2. Native type-checking: switching from tsc to tsgo, the native TypeScript compiler, cut the typecheck's weekly median by 73% and took it off the critical path. 3. Lint without types: they rewrote the lint rules that needed type info as syntax-only rules. API lint got 68% faster, the whole repo 55% faster, with far less memory. 4. Oxlint: syntax-only rules made the move to Oxlint easy, and it cut the runner minutes spent on linting. 5. Lighter checkouts: a shallow fetch took the slowest gate job from 94s to 20s, and dropping checkout from jobs that never read files took 27s to 7s. 6. Resilient checkout: a checkout that retries and aborts a stalled fetch after about 30s, instead of hanging, meant far fewer runs stuck waiting on git. 7. Off the critical path: moving a cache write out of the final merge check saved 42s on every API PR and merge-queue entry. 8. Preinstall in the CI image: baking the Postgres client into the base image saved 7-8s per test shard on every run, and stopped a setup step that occasionally hung. 9. Filtered installs: installing only the API package, not the whole monorepo, cut pnpm install from 44-73s to 16–18s. 10. Drop a costly cache: a node_modules cache took about 28s to restore, slower than a 7.5s fresh install, so they removed it. Along with moves 8 and 9, per-shard setup fell 44%. 11. Schema snapshots: loading a schema snapshot instead of replaying every migration cut database setup from about 12s to 1-2s per container. 12. Batch short checks: merging seven tiny jobs into two that run their tasks in parallel saved about 87,000 runner-minutes a month, 11.8% of their CI. 13. Balance the shards: splitting oversized test files and moving from 4 to 8 shards made the critical job about 19% faster and 19% cheaper. 14. Share module state: letting test files share setup was their single biggest win. The slowest shard went from 300-379s to about 195s, and shard runner time from 32.8 to 22 minutes per run. 15. Setup bounds sharding: with setup down to about 40s, 8 shards now spend less total setup time than 4 used to, while running tests twice as wide. If you want your CI to look like theirs with all of these optimizations (and 50+ more), give your agent this post: starsling.dev/blog/linear-ci
16
5
8
210
19,506
StarSling (YC X25) retweeted
GitHub Actions is migrating `ubuntu-latest` from Ubuntu 24.04 to 26.04 starting next week. This means anyone using the default label may see broken builds. If you're using @starslingdev our agents handle the upgrade for you automatically. For everyone else, here's a prompt for your agent to check if anything in your repo will break: starsling.dev/blog/ubuntu-26…
1
1
5
392