Skip to content

IONOS(ci): converge the build workflow trigger set (HDNEXT-2144) - #319

Closed
printminion-co wants to merge 1 commit into
rc/web-5from
mk/ci/converge-triggers-web-5
Closed

IONOS(ci): converge the build workflow trigger set (HDNEXT-2144)#319
printminion-co wants to merge 1 commit into
rc/web-5from
mk/ci/converge-triggers-web-5

Conversation

@printminion-co

Copy link
Copy Markdown
  • Part of nc-docs-and-tools#193 — spec #190
  • One of seven identical PRs, one per branch that builds — each branch's own copy is the one GitHub reads, so this cannot be done from a single PR

Summary

Bring this branch's on: push: branches: list — and, where present, the concurrency: group — onto the one converged form shared by every branch that builds the workflow.

GitHub evaluates on: from the pushed branch's own copy of the file, so any statement about "the" trigger set is wrong by construction until the copies agree. That is what made the v32/v33 lanes silently stop building (fixed in #311/#312), and it is why the later routing work needs this first.

The converged list is the union of every live lane:

push:
  branches:
    - 'ionos-dev-v*'      # per-major dev lanes
    - 'ionos-stable-v*'
    - ionos-dev           # legacy unsuffixed lanes, retired later
    - ionos-stable
    - 'rc/**'             # trains, both naming eras
    - '*/dev/*'           # user dev branches

Keeping the unsuffixed entries is load-bearing. ionos-dev does not match the glob ionos-dev-v* — the glob requires a literal -v. Converging onto globs alone would stop that branch matching its own copy and leave it dark: exactly the defect just fixed on v32/v33, re-inflicted by the ticket meant to fix it. Those two entries are what a later ticket removes when it retires those branches.

Why this is a no-op

A branch's on: block only ever evaluates for pushes to that branch. Every branch still matches its own name after the change — verified across all seven before opening these PRs. So the union adds entries that can never fire from this copy, and removes nothing that could.

Nothing about which downstream ref is triggered, or about any published artifact, is touched. The if: gates on upload-to-artifactory, the ghcr push and trigger-remote-dev-workflow are deliberately left alone — widening those needs the derived routing and the major assertion first, and belongs to #195.

Note

ionos-dev has no concurrency: block at all; that PR converges only the on: list, since adding a concurrency group there would be a real behaviour change rather than a no-op. Reconciling the workflow files wholesale (they range from 445 to 1084 lines) is fork-skew cleanup and explicitly out of scope.

Bring this branch's `on: push: branches:` list (and, where present, the
concurrency group) onto the one converged form shared by every branch that
builds. GitHub evaluates the `on:` block from the pushed branch's own copy,
so a claim about "the" trigger set is only true once the copies agree.

The list is the union of every live lane: the per-major globs, the legacy
unsuffixed `ionos-dev`/`ionos-stable` lanes that are retired later, the
trains in both naming eras, and user dev branches. Keeping the unsuffixed
entries matters — `ionos-dev` does not match `ionos-dev-v*`, so dropping
them would stop that branch matching its own copy and leave it dark, the
same defect just fixed on the v32 and v33 lanes.

No behaviour change on any branch: a branch's `on:` block only ever
evaluates for pushes to that branch, and every branch still matches its own
name. Nothing about which downstream ref is triggered, or about any
published artifact, is touched.

Signed-off-by: Misha M.-Kupriyanov <kupriyanov@strato.de>
@printminion-co

Copy link
Copy Markdown
Author

Closing: rc/web-5 is superseded rather than converged — the v32 train gets a new branch rc/web-v32-1 under the new naming, so patching this one's trigger set is wasted work. Its own copy matches itself via rc/**, so the lane still builds in the meantime.

@printminion-co
printminion-co deleted the mk/ci/converge-triggers-web-5 branch August 18, 2026 13:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant