• v0.1.2 e4c1e6bcd9

    v0.1.2 Stable

    gitea_admin released this 2026-07-03 12:16:45 +00:00 | 297 commits to main since this release

    Added

    • Change model (Phase 1): PipelineBuild / PipelineRelease / PipelineDeploy
      CRDs + a WorkflowProjector controller.
      A pipeline run's kind is now decided
      ONCE, server-side, in Go (internal/project.Classify) and PROJECTED into a
      Change CR, so the dashboard's three panes become kubectl get lists instead
      of a client-side run-classifier. This kills the misfile class the heuristic
      produced: a run never changes kind (no more kind-flapping or failed-dev-in-
      RELEASE), a clean-VERSION build is a Build with status.releasable=true (not
      a release parked in the Build pane), and a release-machinery-branch build is
      filtered in ONE place (PlumbingBranchPrefixes) instead of 13 per-sensor
      exclusion lists. Classify is table-tested against 69 real workflow shapes
      (100% coverage); the projector's signal extraction + attempt-merge are unit-
      tested; CRs carry NO ownerRef to their workflow (they outlive its TTL-GC) and
      PipelineBuilds are retention-pruned per project. The Workflow informer is
      label-scoped to pipeline runs to bound cache memory. (Phase 2 will move CR
      creation to the actors — sensors/shipd — retiring the version-cleanliness
      signal for actor-provenance; see sean/pipelines docs/CHANGE-MODEL.md.)
    Downloads