Commit e53a7c1
authored
Add pipeline simulation with
* update deps
* update parameter description for `flattenScriptArray` function
* add missing dependency
* reorganize script properties
* add tests for flattening nested script arrays in YAML import
* fix lint issue
* enhance service merging logic and update schemas for better type handling
* feat: Implement pipeline simulation feature
- Added a new command `simulate` to simulate GitLab CI pipeline execution based on variables and rules.
- Introduced `PipelineSimulator` class to handle the simulation logic, including job evaluation based on rules and context.
- Created `RuleEvaluator` class to evaluate rules against the provided context.
- Enhanced job definitions to support rules for conditional execution.
- Updated types to accommodate new simulation features, including support for multiple job inputs and outputs.
- Added comprehensive unit tests to validate simulation behavior under various scenarios, including rules evaluation and job execution order.
* Add integration tests for pipeline simulation with nested remote includes
* - add comprehensive test cases for config builder, rule evaluator, and template validation
- Introduced tests for remote job extends normalization to ensure string extends are handled correctly.
- Added tests for variable and job merge order, verifying child definitions override parent definitions.
- Implemented tests for rule evaluator, covering AND operator and not-equal operator scenarios.
- Enhanced simulation tests to cover file existence checks, variable interpolation, and various rule conditions.
- Created tests for template extends chain resolution and lenient validation of templates.
- Updated visualization tests to ensure graceful handling of missing includes.simulate CLI command (#21)1 parent b5c6c71 commit e53a7c1
File tree
46 files changed
+6032
-300
lines changed- .changeset
- .github
- workflows
- src
- builder
- cli
- commands
- generated
- importer/ts-factory
- merge
- model
- resolution
- resolver
- schema
- serializer
- simulation
- tests
- e2e
- integration/cli
- unit
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
46 files changed
+6032
-300
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
30 | 30 | | |
31 | 31 | | |
32 | 32 | | |
33 | | - | |
34 | | - | |
| 33 | + | |
35 | 34 | | |
36 | 35 | | |
37 | 36 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
80 | 80 | | |
81 | 81 | | |
82 | 82 | | |
| 83 | + | |
| 84 | + | |
| 85 | + | |
83 | 86 | | |
84 | 87 | | |
85 | 88 | | |
| |||
0 commit comments