Skip to content

Conversation

@noxify
Copy link
Owner

@noxify noxify commented Dec 18, 2025

This PR was opened by the Changesets release GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to main, this PR will be updated.

Releases

@noxify/[email protected]

Minor Changes

  • b6d0966: Add child pipeline visualization and fluent API support

    New Features:

    • Added childPipeline() method to define child pipelines via callback API
    • Added writeYamlFiles() method to automatically write parent and all child pipeline YAML files
    • Child pipelines are now fully visualized in Mermaid diagrams, ASCII trees, and stage tables
    • Child pipelines defined via callback are tracked and don't require filesystem access for visualization

    API Changes:

    • Added ChildPipelineConfig interface to track child pipeline configurations
    • Extended PipelineState with childPipelines map and getter methods
    • Added public getters to ConfigBuilder: jobs, templates, stages, jobOptionsMap
    • Extended VisualizationParams with trackedChildPipelines parameter
    • Enhanced extractChildPipelines to prioritize tracked configs over file system parsing

    Visualization Enhancements:

    • generateMermaidDiagram shows child pipelines as subgraphs with dotted trigger edges
    • generateAsciiTree displays child pipelines with 🔀 indicator
    • generateStageTable includes child pipeline jobs with separator rows and proper indentation
    • Added TriggerInfo interface to track trigger configurations in ExtendsGraphNode
    • Extended buildExtendsGraph to extract trigger information from job definitions

    Example:

    config.childPipeline(
      "trigger:deploy",
      (child) => {
        child.stages("deploy")
        child.job("deploy:prod", { script: ["./deploy.sh"] })
        return child
      },
      {
        strategy: "depend",
        outputPath: "ci/deploy-pipeline.yml",
      },
    )
    
    await config.writeYamlFiles(".")
    // Writes: .gitlab-ci.yml + ci/deploy-pipeline.yml

@pkg-pr-new
Copy link

pkg-pr-new bot commented Dec 18, 2025

Open in StackBlitz

npm i https://pkg.pr.new/noxify/gitlab-ci-builder/@noxify/gitlab-ci-builder@20

commit: 1fa6c5d

@noxify noxify merged commit b5c6c71 into main Dec 18, 2025
6 checks passed
@noxify noxify deleted the changeset-release/main branch December 18, 2025 18:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants