---
title: "CI/CD"
description: "152 posts about CI/CD, summarised, each linking to the original."
---

# CI/CD
> 152 posts about CI/CD, summarised, each linking to the original.

## Articles

### [Coding Is No Longer the Constraint: Scaling Developer Experience to Teams and Agents at Spotify](https://yomu.fyi/post/coding-is-no-longer-the-constraint-scaling-developer-experience-to-tea.md)
- Company: [Spotify](https://yomu.fyi/company/spotify.md)
- Author: Spotify Engineering
- Published: Jun 3, 2026
- Type: Problem & solution

Spotify experienced rapid codebase growth alongside widespread adoption of AI coding tools, resulting in a 76% increase in pull request frequency. To manage fleet-wide codebase maintenance and complex refactoring, the company combined its Fleetshift automation platform with Honk, a background coding agent powered by Claude. Honk runs inside Kubernetes pods with access to CI build environments and integrates with Backstage via Model Context Protocol tools to inspect component metadata. Standardized service architectures and active lint guardrails enable the agent to maintain consistency and auto-correct invalid design patterns during execution. By automating routine migrations, Spotify reduced fleet-wide Java backend updates from multi-week cross-team efforts down to three days handled by a single engineer.


### [Practical Data Warehouse Design and Architecture Guide](https://yomu.fyi/post/practical-data-warehouse-design-and-architecture-guide.md)
- Company: [Databricks](https://yomu.fyi/company/databricks.md)
- Author: Databricks Staff
- Published: Jun 2, 2026
- Type: Tutorial

The guide presents data warehouse design as a business-aligned process for building, modernizing, or scaling analytics infrastructure, rather than merely storing data. It recommends defining analytics use cases and stakeholder needs first, then organizing a three-tier architecture of source, storage, and semantic output layers; cloud designs can decouple compute and storage and use open formats. A Bronze–Silver–Gold medallion flow preserves raw lineage, applies cleansing and deduplication, and produces consumption-ready dimensional models, while retention and archival policies control sprawl. For modeling, it favors star schemas for user-facing BI, uses snowflake normalization when redundancy is material, and stresses explicit fact-table granularity, domain-owned data marts, and workload-specific refresh cadences. Governance and operations include Unity Catalog, access controls, masking, lineage, multi-region deployment, disaster recovery, and CI/CD, followed by phased rollout through high-value domains.


### [Scaling up your microservice testing with Apache Spark](https://yomu.fyi/post/scaling-up-your-microservice-testing-with-apache-spark.md)
- Company: [Stripe](https://yomu.fyi/company/stripe.md)
- Author: Vivek Yadav
- Published: Jun 1, 2026
- Type: Explainer

Microservices whose behavior depends on long-tail production inputs—such as payment cost estimation—are difficult to validate with unit and integration tests alone. The described pattern separates deterministic service logic from transport and side effects, then invokes that logic in Apache Spark across historical records enriched with the required dependency state. The resulting datasets can compare current and candidate implementations, quantify changed outputs, model future rule changes, and identify affected transaction or merchant segments. Replay inputs and artifacts are minimized and protected through tokenized identifiers, redaction, access controls, and retention policies, while smaller privacy-safe golden datasets run in pull-request CI. The approach complements, rather than replaces, unit and integration tests: golden datasets cover known service behavior, and full replays expose changes across the real production distribution before deployment.


### [Enabling Evolutionary Database Development: database branching with Lakebase](https://yomu.fyi/post/enabling-evolutionary-database-development-database-branching-with-lak-lakebase.md)
- Company: [Databricks](https://yomu.fyi/company/databricks.md)
- Author: Pramod Sadalage, Kevin Hartman
- Published: May 29, 2026
- Type: Explainer

Evolutionary database development treats migrations as first-class CI/CD artifacts, but shared development databases still limit per-developer isolation and fast, realistic feedback. The post follows Jen as she adds location, batch, and serial fields to inventory, coordinating application changes, production-data preservation, schema migration, and tests for storing, reading, and displaying the new values. It contrasts shared databases and simplified local substitutes with Databricks Lakebase copy-on-write branches, created in one second with zero storage at creation, including for a terabyte-scale production database. Jen pairs code and database branches, while CI creates a temporary branch, validates an idempotent and reversible migration, runs application and database tests, and posts a schema diff, enabling combined review and shifting DBA attention toward design and maintainability.


### [From decentralized Docs-as-Code to a centralized repository: Evolving Grab's documentation strategy](https://yomu.fyi/post/from-decentralized-docs-as-code-to-a-centralized-repository-evolving-g.md)
- Company: [Grab](https://yomu.fyi/company/grab.md)
- Author: Karen Kue
- Published: May 29, 2026
- Type: Explainer

Grab adopted Docs-as-Code in early 2021 to bring technical documentation into engineers’ code workflows, addressing scattered sources, version confusion, discoverability, and quality gaps. Documentation was written in Markdown, stored in version-controlled repositories, reviewed through merge requests, checked in CI/CD, and surfaced through an internal developer portal. As engineering scaled, decentralized repositories produced inconsistent structures and terminology, unreliable organization-wide quality automation, aging content, and tracking problems when source locations changed. Grab therefore moved to a centralized repository while retaining Docs-as-Code, adding shared templates and linters, unified search through fuzzy title lookup and Glean, automated synchronization during migration, and training and feedback programs. The post concludes that decentralized, centralized, or hybrid models fit different contexts, with centralization emphasizing discoverability, governance, consistency, ownership metadata, and analytics.


### [Beyond code generation: rethinking engineering productivity in the age of AI agents](https://yomu.fyi/post/beyond-code-generation-rethinking-engineering-productivity-in-the-age.md)
- Company: [Dropbox](https://yomu.fyi/company/dropbox.md)
- Author: Ilya Yakovlev,Andrew Cheung,Binoy Dash,Simran Jumani,Dmitriy Meyerzon,Mark Breitenbach,Ishan Mishra,Kazuaki Okumura
- Published: May 28, 2026

Dropbox shares how widespread AI code generation shifts software development bottlenecks downstream into code review, CI infrastructure, and validation pipelines. To adapt, they built Nova, an internal coding agent platform that safely automates scoped tasks such as migrations and flaky test remediation. They also evolved their developer productivity framework to measure end-to-end customer impact and code quality rather than simple pull request throughput.


### [How we cut build times by two-thirds by deleting our CMS](https://yomu.fyi/post/how-we-cut-build-times-by-two-thirds-by-deleting-our-cms.md)
- Company: [Sentry](https://yomu.fyi/company/sentry.md)
- Author: Eli Lennox
- Published: May 28, 2026
- Type: Problem & solution

Sentry rebuilt its marketing site and blog of roughly 2,500 pages, replacing a legacy Gatsby setup and traditional headless CMS with Astro, Markdown, Frontmatter, and AI-driven automation. The previous architecture suffered from 14-minute build times, restrictive CMS schema limits, and frequent build failures caused by external API dependencies. A team of 2.5 developers executed the migration in two months using Claude Code agents for data extraction, template translation, and testing. To manage content without a CMS dashboard, Sentry built Claude Skills to guide updates, run local previews, and draft GitHub pull requests. The migration reduced average build times to under 4 minutes, cut broken staging builds by 95 percent, and improved Web Vitals scores from 89 to 97.


### [Your agent can't fix what it can't see](https://yomu.fyi/post/your-agent-can-t-fix-what-it-can-t-see.md)
- Company: [Sentry](https://yomu.fyi/company/sentry.md)
- Author: Sergiy Dybskiy
- Published: May 26, 2026
- Type: Announcement

Coding agents frequently fail to resolve production bugs when restricted to source code alone, as they lack critical runtime context such as stack traces, breadcrumbs, and environment data. To bridge this gap, Sentry introduces Sentry MCP and the Sentry CLI to supply agents and developers with structured production telemetry. The Model Context Protocol integration supports clients like Claude Code, Cursor, and VS Code, while the CLI enables scripted workflows. When an alert triggers, an agent uses trace and commit metadata to diagnose root causes across service boundaries, generate regression tests, and open draft pull requests. Over six months, the Autofix pull request merge rate increased from 41% to 46%.


### [Protecting your Supabase projects from npm supply chain attacks](https://yomu.fyi/post/protecting-your-supabase-projects-from-npm-supply-chain-attacks.md)
- Company: [Supabase](https://yomu.fyi/company/supabase.md)
- Author: katerina\_skroumpelou
- Published: May 26, 2026
- Type: Explainer

The post explains why npm supply-chain attacks matter to Supabase projects: Edge Functions, the Supabase CLI, and packages including supabase-js, @supabase/ssr, and @supabase/server all depend on npm. Attackers can compromise maintainers, register typosquats, or exploit build pipelines; once malicious code reaches node\_modules, lifecycle scripts may read environment variables, cloud metadata, tokens, kubeconfig, and SSH keys. The proposed defense is layered: upgrade to pnpm 11, increase minimumReleaseAge to several days, pin sensitive dependency versions, commit and review lockfiles, disable or allowlist install scripts, verify package names, and pin GitHub Actions to full commit SHAs. Supabase is publishing a canonical security guide, hardening its GitHub Actions, adding secret-handling warnings to API documentation, and coordinating communications; the post also recommends rotating credentials after a potentially compromised install and using scanners as supplementary defense.


### [Introducing Nova, our internal platform for coding agents](https://yomu.fyi/post/introducing-nova-our-internal-platform-for-coding-agents.md)
- Company: [Dropbox](https://yomu.fyi/company/dropbox.md)
- Author: Ilya Yakovlev,Andrew Cheung,Binoy Dash,Simran Jumani,Dmitriy Meyerzon,Mark Breitenbach,Ishan Mishra,Kazuaki Okumura,Mike White,Kevin Altschuler
- Published: May 21, 2026

Dropbox developed Nova, an internal platform that runs AI coding agents in isolated cloud environments integrated with their Bazel monorepo. The platform supports both interactive developer workflows and autonomous background tasks, such as automated CI debugging, flaky test remediation, and codebase-wide migrations. By pairing code generation with automated validation and strict execution guardrails, Nova ensures generated fixes are tested and reproducible.


### [Optimizing Our Build Times by Migrating from Webpack to Rspack](https://yomu.fyi/post/optimizing-our-build-times-by-migrating-from-webpack-to-rspack.md)
- Company: [Yelp](https://yomu.fyi/company/yelp.md)
- Author: Benson Pan, Software Engineer
- Published: May 20, 2026
- Type: Problem & solution

As Yelp's JavaScript monorepo expanded over time, Webpack build speeds became a significant engineering bottleneck. To resolve this without rewriting complex configurations, the team selected Rspack for its direct compatibility with existing Webpack setups and plugins. Yelp implemented an adapter pattern to generate Rspack configurations dynamically from original Webpack files, enabling a staged opt-in rollout across development tools and CI environments. Following the initial migration, engineers addressed performance issues in barrel files using automated codemods to replace star re-exports and import-then-export patterns with named re-exports. Combined with Rspack's portable persistent caching, the migration reduced integration build times by approximately 52 percent and warm cache builds by up to 80 percent.


### [MLOps vs DevOps: A Practical Guide for Data Scientists and IT Teams](https://yomu.fyi/post/mlops-vs-devops-a-practical-guide-for-data-scientists-and-it-teams.md)
- Company: [Databricks](https://yomu.fyi/company/databricks.md)
- Author: Databricks Staff
- Published: May 1, 2026
- Type: Explainer

The guide compares DevOps and MLOps, framing both as practices for reliable production systems but distinguishing traditional application code from machine-learning systems involving data and models. DevOps uses source control, automated testing, staging, and CI/CD, while MLOps governs the “holy trinity” of code, data, and models through separate versioning, quality checks, lineage, and access controls. Its central operational difference is Continuous Training: MLOps pipelines can validate model quality, monitor drift, and trigger retraining when data distributions shift, alongside testing model-serving infrastructure and promoting models through a registry. The guide also assigns responsibilities across data scientists, ML engineers, data engineers, and IT operations, and recommends dedicated MLOps for business-critical, frequently retrained models, DevOps for applications without ML, and split pipelines for hybrid products.


### [Build programmatic agents with the Cursor SDK](https://yomu.fyi/post/build-programmatic-agents-with-the-cursor-sdk.md)
- Company: [Cursor](https://yomu.fyi/company/cursor.md)
- Author: Roshan Sadanani
- Published: Apr 29, 2026
- Type: Announcement

Cursor’s SDK is now in public beta, letting developers build programmatic coding agents with the runtime, harness, and models used by Cursor’s desktop app, CLI, and web app through TypeScript. Agents can run locally, on Cursor’s cloud in dedicated VMs, or on self-hosted workers; cloud sessions include a repository clone, configured development environment, streaming, reconnection, and options to push branches or open pull requests. The SDK also provides codebase indexing, semantic search, grep, MCP servers, repository skills, hooks, and named subagents, while supporting every model available in Cursor, including Composer 2.5. Described uses include CI/CD automations, custom internal platforms, and customer-facing agent experiences, with starter projects for quickstarts, prototyping, kanban workflows, and a CLI; the SDK uses standard token-based consumption pricing.


### [AI App Development: Guide To Building AI-Powered Apps](https://yomu.fyi/post/ai-app-development-guide-to-building-ai-powered-apps.md)
- Company: [Databricks](https://yomu.fyi/company/databricks.md)
- Author: Databricks Staff
- Published: Apr 22, 2026
- Type: Tutorial

Production-grade AI app development combines model orchestration, transactional state, governance, security, and live-data integration rather than only interface construction. The guide recommends defining users, outcomes, success metrics, timelines, and AI-relevant journeys, then shipping must-have features before enhancements. It evaluates builders by end-to-end support, technical audience, platform integration, code export, CI/CD, data connections, pricing, and deployment limits. For Databricks teams, it describes Databricks Apps, Declarative Automation Bundles, and Lakebase: serverless app compute, version-controlled deployment, and managed PostgreSQL with synced Unity Catalog Delta tables. It also recommends monitoring outputs, collecting correction feedback, refining prompts with automated evaluations, and governing models through MLflow, concluding that integrated infrastructure can leave teams focused on production AI workflows.


### [Leveraging AI to build a faster iOS CI system](https://yomu.fyi/post/leveraging-ai-to-build-a-faster-ios-ci-system.md)
- Company: [Thumbtack](https://yomu.fyi/company/thumbtack.md)
- Author: Muhieddine EL Kaissi
- Published: Apr 21, 2026
- Type: Problem & solution

iOS continuous integration at Thumbtack previously required 30 to 40 minutes per pull request because every change triggered all 400 or more tests for an affected app. To solve node exhaustion and prepare for increased AI-generated code volume, the infrastructure team built Smart Test Selection. The system relies on a nightly pipeline that executes the full test suite with coverage instrumentation to generate a JSON map connecting source files to test classes. When a pull request opens, the pipeline looks up changed files in this map and runs only the relevant tests instead of the full suite. Built using Groovy, Ruby, and Bash, the tool reduces typical continuous integration time by approximately 50 percent while cutting documentation-only validation by about 90 percent.


### [Getting started with clickhousectl: the ClickHouse CLI for local and cloud](https://yomu.fyi/post/getting-started-with-clickhousectl-the-clickhouse-cli-for-local-and-cl.md)
- Company: [Clickhouse](https://yomu.fyi/company/clickhouse.md)
- Author: Al Brown
- Published: Apr 16, 2026
- Type: Tutorial

ClickHouse developers often face friction managing local versions, isolated instances, project scaffolding, and Cloud operations without relying on complex shell scripts. The open-source command-line tool clickhousectl addresses this by unifying local environment management and ClickHouse Cloud workflows. Locally, it downloads shared binaries, initializes standardized directory structures, and spins up named, isolated servers with automatic port assignments to facilitate upgrade testing. For cloud workflows, the CLI enforces a split authentication model where browser OAuth provides read-only access and API keys permit state mutations like service creation and scaling. Furthermore, the tool includes Claude Code agent skills covering best practices and deployment workflows, alongside support for CI/CD pipeline automation via environment variables and JSON output.


### [Amplitude ships 3x more production code with Cursor](https://yomu.fyi/post/amplitude-ships-3x-more-production-code-with-cursor.md)
- Company: [Cursor](https://yomu.fyi/company/cursor.md)
- Author: Cursor
- Published: Apr 15, 2026
- Type: Problem & solution

Amplitude’s engineering team built toward an autonomous development pipeline that moves software from idea to production with minimal developer intervention, using Cursor to connect customer feedback, observability, code reviews, and other lifecycle context to agents. Cloud agents run in isolated, scalable VMs with complete development environments, enabling parallel, long-running, self-testing work that local machines could not support at the same scale. Automations now turn Slack bug reports and feature requests into Linear tickets and pull requests, perform hourly legacy migrations, and classify pull-request risk, while Bugbot reviews and autofixes low-risk changes. Since adopting cloud agents, Amplitude reports a threefold increase in weekly production commits, more than 1,000 unprompted agent runs per week, and Cursor as a top-three contributor by commit volume. About 60–70% of low-risk pull requests merge without additional developer work, while high-risk changes are routed to appropriate reviewers; the next goal is automating CI/CD, build validation, and deployment.


### [Selective Test Execution at Stripe: Fast CI for a 50M-line Ruby monorepo](https://yomu.fyi/post/selective-test-execution-at-stripe-fast-ci-for-a-50m-line-ruby-monorep.md)
- Company: [Stripe](https://yomu.fyi/company/stripe.md)
- Author: Aditya Anchuri
- Published: Apr 9, 2026
- Type: Problem & solution

Stripe’s Ruby monorepo contains about 50 million lines, 100,000 test files, and roughly 1.2 million test units, making sequential execution impractical at an estimated four months. To keep CI within minutes, Selective Test Execution (STE) runs tests whose recorded file accesses intersect files changed since a suitable baseline, averaging about 5% of the suite and under 10% of always-run compute. A dynamically linked C++ library loaded with LD\_PRELOAD intercepts file opens, associates them with hierarchical test scopes, and propagates tracing to child processes; logs are aggregated into a selection index outside the syscall hot path. Guardrails cover tests affected by directory discovery, previously failing tests, selective linting, generated files, and reproducible database-backed baselines ordered by Monotonic Revision IDs. The system is presented as a way to preserve safety and affordability while scaling CI for a highly dynamic language.


### [How Notion catches breaking schema changes before they reach production](https://yomu.fyi/post/how-notion-catches-breaking-schema-changes-before-they-reach-productio.md)
- Company: [Notion](https://yomu.fyi/company/notion.md)
- Author: Maya Lekhi
- Published: Apr 2, 2026
- Type: Problem & solution

Schema drift in typed API requests and queue tasks can cause incidents when contracts change without detecting whether old payloads remain valid. Notion's CI guardrail extracts schema types from the base branch and compares them with PR types using TypeScript's compiler API, checking whether the old type is assignable to the new one. The check auto-discovers registered API endpoints and queue task types, uses git archive for base files, and currently covers approximately 1,300 endpoints and 296 task types. Backward compatibility blocks changes that reject old data, while queue schemas also receive an advisory forward check for rollout ordering. The rollout began with warnings, then made backward checks blocking and added a GitHub label for intentional exceptions; type checking still cannot catch extra runtime validation or semantic behavior changes.


### [Headless Screenshot Testing in Thumbtack’s Android Apps](https://yomu.fyi/post/headless-screenshot-testing-in-thumbtack-s-android-apps.md)
- Company: [Thumbtack](https://yomu.fyi/company/thumbtack.md)
- Author: Brian Terczynski
- Published: Mar 31, 2026
- Type: Problem & solution

Thumbtack required a faster, emulator-free method to execute over 1,500 Android screenshot tests during continuous integration. Previously, running UI tests on physical devices or emulators proved too slow for code review verification jobs, causing tests to run post-merge and allowing regressions to persist. After evaluating Paparazzi and Google's experimental Compose Preview Testing, the team selected Roborazzi, which runs on top of Robolectric's native graphics engine within a standard JVM. This headless setup accommodates custom Activities, Dagger field injection, and legacy View systems while executing alongside standard unit tests. Moving screenshot tests to the unit test level enabled gating merges on passing tests, colocating tests inside feature modules, and increasing total CI job runtime by only twenty percent.


[Newer posts](https://yomu.fyi/topic/ci-cd/page/3.md) · [Older posts](https://yomu.fyi/topic/ci-cd/page/5.md)
