This repository demonstrates test splitting in a continuous integration (CI) pipeline using a large-scale, multi-language codebase. It contains two main components:
- A PHP backend with a large number of test files.
- A React frontend application with unit tests.
- A simple way to build a Docker image and push it to AWS ECR
The purpose is to simulate real-world projects with high test volume and showcase test parallelization and dynamic splitting strategies in CI systems like CircleCI.
awesomeci-test-splitting-main/
├── php/ # PHP backend code
│ ├── src/ # Source files
│ └── tests/ # PHPUnit test files
├── react/ # React frontend app
│ ├── public/
│ ├── src/ # Source code and unit tests
│ └── config/ # Webpack and environment config
└── scripts/ # Supporting scripts (e.g., push to ECR)
Use this repo to test:
- Test splitting based on timing data
- Running different workflows in parallel across React and PHP
- Testing the value of CircleCI's DLC feature (link]
scripts/push-ecr-image.sh— Utility for pushing a Docker image to AWS ECR (used in some CI demos).
MIT