Skip to content

Commit b5c6c71

Browse files
Version Packages (#20)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
1 parent b6d0966 commit b5c6c71

File tree

3 files changed

+47
-49
lines changed

3 files changed

+47
-49
lines changed

.changeset/child-pipeline-visualization.md

Lines changed: 0 additions & 48 deletions
This file was deleted.

CHANGELOG.md

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,51 @@
11
# @noxify/gitlab-ci-builder
22

3+
## 1.5.0
4+
5+
### Minor Changes
6+
7+
- b6d0966: Add child pipeline visualization and fluent API support
8+
9+
**New Features:**
10+
- Added `childPipeline()` method to define child pipelines via callback API
11+
- Added `writeYamlFiles()` method to automatically write parent and all child pipeline YAML files
12+
- Child pipelines are now fully visualized in Mermaid diagrams, ASCII trees, and stage tables
13+
- Child pipelines defined via callback are tracked and don't require filesystem access for visualization
14+
15+
**API Changes:**
16+
- Added `ChildPipelineConfig` interface to track child pipeline configurations
17+
- Extended `PipelineState` with `childPipelines` map and getter methods
18+
- Added public getters to `ConfigBuilder`: `jobs`, `templates`, `stages`, `jobOptionsMap`
19+
- Extended `VisualizationParams` with `trackedChildPipelines` parameter
20+
- Enhanced `extractChildPipelines` to prioritize tracked configs over file system parsing
21+
22+
**Visualization Enhancements:**
23+
- `generateMermaidDiagram` shows child pipelines as subgraphs with dotted trigger edges
24+
- `generateAsciiTree` displays child pipelines with 🔀 indicator
25+
- `generateStageTable` includes child pipeline jobs with separator rows and proper indentation
26+
- Added `TriggerInfo` interface to track trigger configurations in `ExtendsGraphNode`
27+
- Extended `buildExtendsGraph` to extract trigger information from job definitions
28+
29+
**Example:**
30+
31+
```typescript
32+
config.childPipeline(
33+
"trigger:deploy",
34+
(child) => {
35+
child.stages("deploy")
36+
child.job("deploy:prod", { script: ["./deploy.sh"] })
37+
return child
38+
},
39+
{
40+
strategy: "depend",
41+
outputPath: "ci/deploy-pipeline.yml",
42+
},
43+
)
44+
45+
await config.writeYamlFiles(".")
46+
// Writes: .gitlab-ci.yml + ci/deploy-pipeline.yml
47+
```
48+
349
## 1.4.2
450

551
### Patch Changes

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@noxify/gitlab-ci-builder",
3-
"version": "1.4.2",
3+
"version": "1.5.0",
44
"description": "Build GitLab CI/CD pipelines programmatically with TypeScript. Fluent API for creating jobs, templates, and workflows. Import/export YAML, visualize with Mermaid diagrams, and resolve extends chains automatically.",
55
"keywords": [
66
"gitlab",

0 commit comments

Comments
 (0)