Symptom
check / check-branch fails on any ordinary pull request into main:
::error::Pull requests to main must come from 'beta' or a 'hotfix/*' branch.
Your branch 'fix/phpmd-ignore-namespaces' does not match any allowed pattern.
Observed on #8 — https://github.com/ConductionNL/petstore/actions/runs/30797406688/job/91634009106
Cause
.github/workflows/branch-protection.yml calls the shared
ConductionNL/.github/.github/workflows/branch-protection.yml@main, which
enforces the fleet's development → beta → main promotion flow.
petstore has neither a beta nor a development branch. git ls-remote --heads origin returns only main plus feature branches, and the repo's
default branch is main.
So the policy permits exactly two sources into main — beta (does not exist)
and hotfix/*. No ordinary contribution branch can ever satisfy it. The
only way to land a normal change today is to mislabel it as a hotfix/*, which
defeats the point of the check and pollutes the branch vocabulary.
This is a pre-existing repo/policy mismatch, not caused by any one PR — it will
block every future PR into main the same way.
Options
- Create the missing branches (
development, beta) and adopt the fleet
promotion flow, so the shared policy is satisfiable as written. Consistent
with the rest of the fleet.
- Opt petstore out of the shared branch-protection workflow, or pass it a
configuration that reflects a single-branch repo, if petstore is
deliberately main-only (it is a demo/reference app).
Option 2 is probably right if petstore is intentionally main-only; option 1 if
it should behave like the other apps. This needs a decision rather than a patch.
Blocked on this
#8 (fix(quality): phpmd DevelopmentCodeFragment could never fire on namespaced code) cannot go green while this stands. That PR's own change is measured
neutral — 0 new phpmd findings — but check-branch fails independently.
Symptom
check / check-branchfails on any ordinary pull request intomain:Observed on #8 — https://github.com/ConductionNL/petstore/actions/runs/30797406688/job/91634009106
Cause
.github/workflows/branch-protection.ymlcalls the sharedConductionNL/.github/.github/workflows/branch-protection.yml@main, whichenforces the fleet's
development → beta → mainpromotion flow.petstore has neither a
betanor adevelopmentbranch.git ls-remote --heads originreturns onlymainplus feature branches, and the repo'sdefault branch is
main.So the policy permits exactly two sources into
main—beta(does not exist)and
hotfix/*. No ordinary contribution branch can ever satisfy it. Theonly way to land a normal change today is to mislabel it as a
hotfix/*, whichdefeats the point of the check and pollutes the branch vocabulary.
This is a pre-existing repo/policy mismatch, not caused by any one PR — it will
block every future PR into
mainthe same way.Options
development,beta) and adopt the fleetpromotion flow, so the shared policy is satisfiable as written. Consistent
with the rest of the fleet.
configuration that reflects a single-branch repo, if petstore is
deliberately main-only (it is a demo/reference app).
Option 2 is probably right if petstore is intentionally main-only; option 1 if
it should behave like the other apps. This needs a decision rather than a patch.
Blocked on this
#8 (
fix(quality): phpmd DevelopmentCodeFragment could never fire on namespaced code) cannot go green while this stands. That PR's own change is measuredneutral — 0 new phpmd findings — but
check-branchfails independently.