Skip to content

CI: add codegen freshness check and unify generation pipelines #1178

@guineveresaenger

Description

@guineveresaenger

Problem

The repo has two independent generation pipelines that don't cover each other's outputs:

make codegen make prep
CRDs yes yes (via build-quickstart)
docs/*.md yes no
install.yaml no yes
version strings no yes

This means:

  • install.yaml drifts because only make prep regenerates it
  • docs/*.md drift because only make codegen regenerates them
  • Neither pipeline covers the other's outputs
  • There is no CI check that validates generated files are in sync

Current state on master

Running make codegen on master today produces diffs in:

Running make prep produces additional diffs in:

Recent examples

Blockers

Before unifying the pipelines or adding a freshness check, #1175 needs to be resolved. make generate-crdocs uses crdoc --output which completely overwrites each docs file, destroying any hand-written content. Until that's fixed, we can't safely run make codegen as part of make prep or CI.

Suggested plan

  1. Fix codegen: make generate-crdocs clobbers hand-written content in docs/programs.md #1175 (prevent crdoc from clobbering hand-written docs content)
  2. Make make codegen also run make build-deploy (or add a unified make generate-all)
  3. Add a CI step: make generate-all && git diff --exit-code

Metadata

Metadata

Assignees

No one assigned

    Labels

    needs-triageNeeds attention from the triage team

    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