Change-Aware CI Pipeline Execution for Resource-Efficient Builds
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Continuous integration (CI) pipelines are resource-intensive and inefficient, particularly when minor changes are made to the source code, leading to unnecessary consumption of computing resources.
Innovation Solution
The CI pipeline is selectively executed based on the type of content change to the source code, determining whether the change is associated with preventing or requiring pipeline execution, thereby conserving resources and optimizing resource allocation.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If the CI pipeline is executed for all source code changes, then the reliability of the build is improved, but the computing resources are wasted on minor changes
Solution Approach 1:
The patent applies local quality by differentiating the treatment of CI pipeline execution based on the type of source code change. Instead of uniform execution, the system analyzes the nature of changes (e.g., minor edits vs. substantial modifications) and applies selective execution strategies. This allows the system to maintain high reliability for critical changes while reducing resource consumption for minor changes, directly resolving the contradiction between build reliability and computing resource usage.
Solution Approach 2:
The patent utilizes parameter changes by modifying the execution parameters of the CI pipeline based on change characteristics. The system changes parameters such as execution scope, test coverage, and validation depth according to the type of source code modification detected. This enables the system to adjust resource allocation dynamically, ensuring reliable builds for critical changes while conserving resources for minor changes, thus addressing the technical contradiction.
2Productivity
If the CI pipeline is executed frequently, then the productivity of the development process is improved, but the computing resources are consumed unnecessarily for minor changes
Solution Approach 1:
The patent applies dynamics by making the CI pipeline execution strategy adaptive and flexible. The system dynamically adjusts the execution behavior based on real-time analysis of source code changes. For minor changes, the system reduces execution intensity to conserve resources, while for substantial changes, it increases execution thoroughness to maintain productivity. This dynamic adjustment resolves the contradiction between development productivity and computing resource consumption.
Solution Approach 2:
The patent utilizes preliminary action by analyzing and categorizing source code changes before executing the full CI pipeline. The system performs preliminary assessment to determine the nature of changes and pre-determines the appropriate execution strategy. This preliminary action prevents unnecessary resource consumption for minor changes while ensuring that substantial changes receive adequate testing, thus maintaining productivity without wasting computing resources.
3Measurement precision
If the CI pipeline executes all tests, then the measurement precision of code quality is improved, but the time required for builds increases
Solution Approach 1:
The patent applies segmentation by dividing the comprehensive test suite into segments based on the type of source code change. Instead of executing all tests uniformly, the system segments tests into critical and non-critical categories, and selectively executes appropriate segments based on the change analysis. This maintains measurement precision for code quality by ensuring critical tests are run, while reducing overall build time by skipping unnecessary tests for minor changes, thus resolving the contradiction between measurement precision and build time.
Data Source
AI summary
A continuous integration (CI) pipeline can be executed based on a type of content for a change to source code. For example, a computing system can receive the change to the source code of a software application in response to a request for changing the source code being generated. The computing system can identify the type of content included in the change to the source code. Specifically, the computing system can determine whether the type of content is associated with a prevention of an execution of the CI pipeline. In response, the computing system can perform an action associated with the change to the source code prior to a deployment of the change to the source code.


