Duplicate CI Testing Pipeline for External Failure Diagnosis
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing diagnostic tools struggle to quickly determine whether Continuous Integration Testing (CIT) failures are due to internal or external issues, leading to significant downtime and inefficiency in identifying the root cause.
Innovation Solution
A diagnostic tool that creates a duplicate CIT pipeline to rerun previously successful code artifacts, allowing for rapid identification of external dependency failures by comparing results with the main CIT pipeline.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If engineers manually investigate CIT failures to determine the cause, then they can identify the root cause, but it takes hours of time and causes significant additional downtime
Solution Approach 1:
The patent creates a duplicate CIT pipeline that mirrors the main pipeline's testing process. When a failure occurs, the duplicate pipeline is instantiated and executed against the same code artifacts, allowing engineers to quickly determine whether the failure is due to internal code issues or external dependency outages by comparing results between the main and duplicate pipelines.
Solution Approach 2:
The system proactively instantiates and executes the duplicate CIT pipeline immediately upon detecting a failure in the main pipeline, before engineers begin their manual investigation. This preliminary action provides immediate diagnostic information about whether the failure is internal or external, significantly reducing the time engineers would otherwise spend investigating.
2Productivity
If the duplicate CIT pipeline is instantiated and executed, then external dependency failures can be rapidly identified, but additional computational resources and time are consumed
Solution Approach 1:
The duplicate CIT pipeline is a replicated version of the main pipeline that executes the same testing procedures. By copying the pipeline structure and execution logic, the system can rapidly diagnose failures without requiring complex analysis tools, using instead a straightforward replication approach that is easy to implement and execute.
Solution Approach 2:
The system automatically instantiates and executes the duplicate CIT pipeline without requiring manual intervention or complex configuration. The failure detection mechanism self-triggers the diagnostic process, and the duplicate pipeline executes autonomously, providing self-service diagnostic capability that reduces the need for human resources and simplifies operation.
3Productivity
If new code is introduced continuously into the codebase, then development productivity is improved, but the likelihood of CIT failures increases due to potential conflicts and issues
Solution Approach 1:
The patent segments the CIT process into two independent pipelines: the main CIT pipeline for regular testing and the duplicate CIT pipeline for diagnostic purposes. This segmentation allows the system to handle failures more effectively by isolating the diagnostic function, enabling continuous development while maintaining higher reliability through rapid failure analysis.
Solution Approach 2:
The duplicate CIT pipeline provides immediate feedback about the nature of failures (internal vs. external) to engineers. This feedback mechanism allows the team to quickly adjust their response strategy, either by addressing code issues or by investigating external dependency problems, thereby maintaining high development productivity while improving overall system reliability.
Data Source
AI summary
A data processing system includes: a processor; and a memory in communication with the processor, the memory comprising executable instructions. When executed by the processor alone or in combination with other processors, the instructions cause the data processing system to perform functions of: detecting failure of a main Continuous Integration Testing (CIT) pipeline that is testing artifacts of a build pipeline; determining a known-good artifact tested previously by the main CIT pipeline; instantiating a duplicate CIT pipeline and retesting the known-good artifact with the duplicate CIT pipeline; determining whether the retest of the known-good artifact was successful or a failure in the duplicate CIT pipeline; and in response to failure of the duplicate CIT pipeline, enhancing an incident ticket with notice that the failure of the main CIT pipeline is due to an external dependency failure.


