SShortSingh.
Back to feed

Dev Team Cuts CI Time from 43 to 4 Minutes Using Per-Test Coverage Mapping

0
·1 views

A development team reduced their continuous integration pipeline runtime by roughly 90% by leveraging per-test code coverage data to run only tests relevant to changed files. Instead of executing all tests or relying on filename pattern matching, they built a reverse map linking each source file to the specific tests that execute it. Using Git diff output, the system queries this map to identify and run only the affected tests after any code change. The coverage map is built using standard tools like Istanbul, coverage.py, SimpleCov, and JaCoCo, with roughly 500 lines of instrumentation code across any language. The approach also reduced CI costs from around $12 to $1.20 per run and improved test selection accuracy from 15% to over 95%.

Read the full story at DEV Community

This is an AI-generated summary. ShortSingh links to the original source for the complete article.

Discussion (0)

Log in to join the discussion and vote.

Log in

Related stories

0
ProgrammingDEV Community ·

Kubernetes Clusters Waste 40-70% of Resources Due to Absent Feedback Loops

Kubernetes, widely used for cloud-native infrastructure, suffers from systemic resource over-provisioning that leaves 40-70% of allocated CPU and memory idle. Teams typically set resource requests during initial deployment with limited real-world data, defaulting to generous allocations to avoid outages. Once configured, these values are rarely revisited, and new services inherit inflated figures from legacy configurations, perpetuating the waste cycle. The core problem is not a lack of tools or expertise but the absence of a structured feedback process to reconcile actual usage data with existing allocations. Without automated review mechanisms, inefficiencies compound over time, driving up infrastructure costs and reducing cluster scalability.

0
ProgrammingDEV Community ·

Well-Named Tests Help AI Agents Understand Codebases Without Human Guidance

As AI agents take on more development tasks, they rely on test suites rather than documentation to understand how a system behaves, since documentation often falls out of sync with the actual code. Unlike wikis or inline comments, well-written tests are executable, intentional, and break the build when they drift from reality, making them a reliable source of truth. Descriptive test names and clear assertions allow agents to infer business rules, boundary conditions, and expected behavior without needing human explanation. A test suite full of vague names like 'test_1' gives agents no meaningful context, while scenario-style names spell out the specification directly. Developers are therefore urged to treat test quality as a communication standard, since the clarity of a test suite now directly determines how effectively AI tooling can operate autonomously.

0
ProgrammingDEV Community ·

DEV Tutorial Part 5: Build a Sales Pipeline with Deals, Pricing, and a Board

The fifth installment of a DEV Community SwiftUI tutorial series guides intermediate and advanced developers through adding sales pipeline features to a Contacts app. The lesson introduces a Deal model with stages and line items, alongside three new UI components: DFPriceView, DFQuantityStepper, and DFPriceSummaryView, which together form a functional quote screen. Developers also learn to build a deals board using DFGrid and DFEntityCards grouped by stage, plus a 'hot leads' carousel for the dashboard. The tutorial emphasizes that built-in components handle currency formatting and total-row styling automatically, reducing manual code. Estimated at around 35 minutes, the session sets the stage for a sixth and final part in the series.

0
ProgrammingDEV Community ·

Python Crash Course for C# Developers Part 2: Mastering Data Structures

Developer and author Leonardo Zeaiter has published Part 2 of a five-part free introductory series aimed at helping C# developers learn Python, serving as a preview of his upcoming book 'Python Beyond Syntax: Advanced Topics for the C# Developer'. The article focuses on Python's core data structures, which Zeaiter describes as the practical vocabulary developers will use in nearly every Python program. Drawing direct comparisons to C# equivalents, the piece covers Python lists in depth, highlighting key differences such as the absence of declared element types and the flexibility of dynamic collections. Readers are walked through common list operations including indexing, negative indexing, slicing, and in-place mutation using slice assignment. The series is designed to give C# developers a fast, practical foundation in Python, particularly relevant given the language's dominance in AI development tooling.

Dev Team Cuts CI Time from 43 to 4 Minutes Using Per-Test Coverage Mapping · ShortSingh