Closed JakeQZ closed 1 year ago
I added the discussion
label, but as I wrote the OP, I realized I knew where this was going:
Specify exact version numbers in the
require-dev
section ofcomposer.json
, so that unforseen minor or point releases won't break the CI build.
@oliverklee, can you confirm that you agree?
Possibly Tilde version range would work, e.g. ~2.7.0
would allow 2.7.x
but not 2.8.x
. That way we would allow polnt fixes without breaking the CI build - hopefully.
Then I'm for using exact versions for dev dependencies. That would be consistent with how PHIVE works.
PHIVE installs the exact version specified as installed in the
phars.xml
file.Composer tests against the lowest and highest versions of tools that satisfy the version constraint.
From #1227:
From #1228:
1221 arose because a newer version of a dev tool installed via Composer introduced some Psalm annotations which broke the CI build.
For consistency, we should either
phive update
in the CI build to use the latest versions of the dev tools, at risk of the CI build failing (and subsequently all PRs being rejected), orrequire-dev
section ofcomposer.json
, so that unforseen minor or point releases won't break the CI build.