Skip to content

cigen: smart generation for Jenkins + CircleCI (currently template-only) #804

@intel352

Description

@intel352

Context

workflow/cigen (shipped v0.67.0) does config-derived analyze → CIPlan → render for GitHub Actions and GitLab CI only. workflow-plugin-ci-generator v0.2.0 routes those two platforms through cigen but keeps the legacy template generators for Jenkins and CircleCI (internal/platforms/{jenkins,circleci}.go), which are NOT config-derived (they ignore the app's secrets union, phases, migrations, smoke, plugin-install needs).

Documented as out-of-scope/future in the design: docs/plans/2026-05-30-wfctl-secrets-wizard-and-smart-ci-design.md §3 non-goals; retro docs/retros/2026-05-30-...-retro.md.

Ask

Add cigen.RenderJenkins(*CIPlan) + cigen.RenderCircleCI(*CIPlan) so all four platforms are config-derived from the same CIPlan, then route the plugin's jenkins/circleci platforms through cigen (retire the templates, like GHA/GitLab in PR #18).

Renderers are mechanical emitters from the existing CIPlan model (jobs/stages, secret env refs, wfctl migrations up, plan-guard, smoke) — no Analyze change needed; the plan already carries everything.

Acceptance

  • wfctl ci generate --platform jenkins / circleci produce config-derived output (secret env wiring, migrations step, smoke) — verifiable like the GHA renderer's golden tests.
  • step.ci_generate for jenkins/circleci routes through cigen; jenkins/circleci template generators removed.

Effort: medium (2 renderers + plugin rewire + tests). No new analysis logic.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions