openova/.github/workflows
e3mrah e72efb87cd
chore(ci): add auto-bump-images + pkg/** path filter to all build-*-controller workflows (Closes #2006) (#2012)
TBD-A69. PR #2005 fixed build-organization-controller.yaml only. The
other six controller workflows (application, blueprint, continuum,
environment, sandbox, useraccess) had the same gaps that caused the
#1997 18h deploy gap:

- application-controller: missing pkg/** in path filter (auto-bump
  already present from earlier work).
- blueprint, continuum, environment, useraccess: missing BOTH pkg/**
  path filter AND auto-bump pipeline (permissions promotion +
  values.yaml bump + commit/push + blueprint-release dispatch).
- sandbox: already complete (pkg/** + auto-bump to platform/sandbox
  chart) — left untouched.

Each updated workflow inherits the canonical shape from
build-organization-controller.yaml (PR #2005):

  1. `core/controllers/pkg/**` added to BOTH push.paths and
     pull_request.paths. Without this, a fix that only touches the
     shared HTTP-client tree (gitea/keycloak/kc-mappers) silently
     fails to rebuild the controller image.
  2. `permissions.contents: write` + `actions: write` so the build
     job can push the values.yaml bump and dispatch the downstream
     chart re-publish.
  3. An awk-scoped `Bump controllers.<who>.image.tag in values.yaml`
     step that updates ONLY the targeted controller's tag (verified
     locally — sibling tags remain untouched).
  4. A commit/push step that bumps
     products/catalyst/chart/values.yaml (or
     products/continuum/chart/values.yaml for continuum, which has
     its own chart).
  5. A `gh workflow run blueprint-release.yaml` dispatch so the
     bot-pushed commit fires the downstream chart re-publish
     (GitHub Actions silently filters bot pushes from path-trigger
     workflows otherwise).

Adds two new files to lock the shape in:

  - `scripts/check-controller-workflow-uniformity.sh` — a CI
    regression test that grep-asserts every controller workflow has
    the canonical pkg/** filter + auto-bump pipeline. Fails loudly
    if any new controller workflow ships without the canonical shape,
    or if an existing one regresses.
  - `.github/workflows/check-controller-workflow-uniformity.yaml` —
    push-on-touch + pull_request-on-touch event-driven wrapper that
    runs the script. Mirrors the shape of check-vendor-coupling.yaml.

Verified locally:
  - YAML syntax valid for all 7 controller workflows + the new check
    workflow.
  - Regression script passes on all 7 controller workflows.
  - Simulated awk bumps against products/catalyst/chart/values.yaml
    and products/continuum/chart/values.yaml — each script bumps
    ONLY the targeted controller's tag, sibling tags untouched.

No chart bumps. No Go/chart changes. CI-workflow-only.

Co-authored-by: hatiyildiz <hatice.yildiz@openova.io>
Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-20 04:11:04 +04:00
..
admin-build.yaml feat(consolidation): Phase 1 — move Catalyst-Zero apps + CI + manifests into public monorepo 2026-04-28 12:08:09 +02:00
axon-build.yaml fix: adjust CI smoke test for pool warmup blocking 2026-03-04 09:24:44 +01:00
blueprint-release.yaml fix(ci): TBD-A6 auto-bump-pin must trigger after chart-publish commits even when TBD-A20 lockstep ran (Refs #1864) 2026-05-19 00:07:07 +02:00
build-application-controller.yaml chore(ci): add auto-bump-images + pkg/** path filter to all build-*-controller workflows (Closes #2006) (#2012) 2026-05-20 04:11:04 +04:00
build-blueprint-controller.yaml chore(ci): add auto-bump-images + pkg/** path filter to all build-*-controller workflows (Closes #2006) (#2012) 2026-05-20 04:11:04 +04:00
build-bp-guacamole.yaml fix(ci,charts,api): qa-loop iter-7 Fix #39 — bp-guacamole + bp-k8s-ws-proxy bootstrap-kit slots (#1236) 2026-05-10 01:48:25 +04:00
build-bp-newapi.yaml fix(bp-newapi): publish newapi-mirror image + repoint chart to existing tag (qa-loop bounded-cycle audit prov #7 Gap F) (#1315) 2026-05-10 21:20:49 +04:00
build-cert-manager-dynadot-webhook.yaml fix(ci): disable buildx provenance+sbom attestation in dynadot-webhook build (#583) 2026-05-02 14:29:58 +04:00
build-continuum-controller.yaml chore(ci): add auto-bump-images + pkg/** path filter to all build-*-controller workflows (Closes #2006) (#2012) 2026-05-20 04:11:04 +04:00
build-environment-controller.yaml chore(ci): add auto-bump-images + pkg/** path filter to all build-*-controller workflows (Closes #2006) (#2012) 2026-05-20 04:11:04 +04:00
build-k8s-ws-proxy.yaml fix(ci,charts,api): qa-loop iter-7 Fix #39 — bp-guacamole + bp-k8s-ws-proxy bootstrap-kit slots (#1236) 2026-05-10 01:48:25 +04:00
build-openova-flow-adapter-flux.yaml ci(openova-flow): build openova-flow-server + adapter-flux images + sed chart tags (#1398) 2026-05-11 16:03:31 +04:00
build-openova-flow-server.yaml ci(openova-flow): build openova-flow-server + adapter-flux images + sed chart tags (#1398) 2026-05-11 16:03:31 +04:00
build-organization-controller.yaml fix(build-organization-controller): add missing auto-bump pipeline + pkg/** path filter + wire-level test (Refs #1997) (#2005) 2026-05-20 02:29:59 +04:00
build-sandbox-controller.yaml ci(sandbox): build workflows for controller + pty-server + mcp-server (so chart can actually deploy) (#1632) 2026-05-18 10:11:28 +04:00
build-sandbox-mcp-server.yaml fix(sandbox-ci): mcp-server Dockerfile repo-root context + pty/mcp auto-bump wiring (chart was half-deployable) (#1667) 2026-05-18 13:22:17 +04:00
build-sandbox-pty-server.yaml fix(sandbox-ci): mcp-server Dockerfile repo-root context + pty/mcp auto-bump wiring (chart was half-deployable) (#1667) 2026-05-18 13:22:17 +04:00
catalyst-build.yaml fix(ci+catalyst-api): hold deploy-bot bumps when any prov is in-flight (was rolling catalyst-api Pod mid-tofu-apply, abandoning provs) (#1688) 2026-05-18 15:54:54 +04:00
catalyst-catalog-build.yaml feat(catalog): catalog-svc HTTP REST service + chart wiring (slice L1+L2, #1097) (#1148) 2026-05-09 04:04:52 +04:00
check-controller-workflow-uniformity.yaml chore(ci): add auto-bump-images + pkg/** path filter to all build-*-controller workflows (Closes #2006) (#2012) 2026-05-20 04:11:04 +04:00
check-vendor-coupling.yaml ci(guardrail): vendor-coupling check - fail CI if chart values use vendor name (closes #428) (#431) 2026-05-01 17:49:49 +04:00
cloudflare-worker-leases-build.yaml feat(continuum): K-Cont-4 — Cloudflare Worker source + tofu wiring for lease witness (#1101) (#1159) 2026-05-09 08:01:44 +04:00
cluster-template-drift.yaml ci: add cluster bootstrap-kit drift guardrail (slice H2 scope-reduced, #1095) (#1122) 2026-05-08 23:09:50 +04:00
console-build.yaml feat(consolidation): Phase 1 — move Catalyst-Zero apps + CI + manifests into public monorepo 2026-04-28 12:08:09 +02:00
cosmetic-guards.yaml fix(ci): temporarily disable cosmetic-guards workflow to unblock merges (#1957) 2026-05-19 18:34:21 +04:00
dod.yaml feat(dod): #149-#157 — Group M DoD scaffolding (DEMO-RUNBOOK + dod_test.go + dod.yaml) 2026-04-28 19:34:46 +02:00
infra-hetzner-tofu.yaml fix(infra,catalyst-api provisioner): tftpl CI guard + bucket-name suffix (Fix #101 followup, Fix #111) (#1331) 2026-05-10 23:31:56 +04:00
marketplace-api-build.yaml feat(consolidation): Phase 1 — move Catalyst-Zero apps + CI + manifests into public monorepo 2026-04-28 12:08:09 +02:00
marketplace-build.yaml feat(consolidation): Phase 1 — move Catalyst-Zero apps + CI + manifests into public monorepo 2026-04-28 12:08:09 +02:00
omantel-e2e-handover.yaml test(e2e): omantel handover Playwright scaffold for Phase 8 (closes #429) (#432) 2026-05-01 17:52:18 +04:00
openclaw-runtime.yaml feat(bp-openclaw): workspace controller + per-user pod chart (#803) (#810) 2026-05-04 22:10:24 +04:00
playwright-smoke.yaml feat(phase-8b): sovereign wizard auth-gate + handover JWT minting + Playwright CI fixes (#611) 2026-05-02 19:17:56 +04:00
pool-domain-manager-build.yaml feat(pdm): per-Sovereign PowerDNS zones for #168 2026-04-29 08:36:45 +02:00
preflight-bootstrap-kit.yaml ci(preflight): GHCR auth for A+E + WBS tick — all 4 preflights done (#470) 2026-05-01 20:06:36 +04:00
preflight-cilium-httproute.yaml feat(ci): Phase-8a preflight C — Cilium Gateway HTTPRoute admission on kind (closes #461) (#465) 2026-05-01 20:01:01 +04:00
preflight-crossplane-hcloud.yaml fix(ci): GHCR auth for bp-crossplane OCI pull in preflight (#460) (#466) 2026-05-01 20:01:15 +04:00
preflight-keycloak-realm.yaml ci(preflight): GHCR auth for A+E + WBS tick — all 4 preflights done (#470) 2026-05-01 20:06:36 +04:00
services-build.yaml fix(bp-newapi+services-build): imagePullSecrets on Pod, sed bumps values.yaml smeTag (#955) 2026-05-05 15:47:37 +04:00
sme-demo-e2e.yaml feat(e2e): SME demo Playwright spec — full 6-step happy path (#805) (#823) 2026-05-04 22:52:07 +04:00
test-billing-integration.yaml test: voucher issuance integration test — real Postgres (#147) 2026-04-28 13:53:43 +02:00
test-bootstrap-api.yaml test: dynadot multi-domain DNS write integration test (#146) 2026-04-28 13:46:53 +02:00
test-bootstrap-kit.yaml feat(ci): TBD-A26 pin-sync audit verifies GHCR artifact exists for each bootstrap-kit pin (#1874) 2026-05-19 03:12:13 +04:00
test-hetzner-e2e.yaml test: Hetzner Sovereign end-to-end provisioning test (#141) 2026-04-28 14:00:29 +02:00
test-strategy-flip.yaml fix(catalyst-chart): annotate api-deployment for Flux strategy-flip recovery 2026-04-29 18:04:07 +02:00
useraccess-controller-build.yaml chore(ci): add auto-bump-images + pkg/** path filter to all build-*-controller workflows (Closes #2006) (#2012) 2026-05-20 04:11:04 +04:00