Skip to content

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

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.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions