-
-
Notifications
You must be signed in to change notification settings - Fork 85
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Ignore composer.lock #251
Ignore composer.lock #251
Conversation
Thanks! |
I think this PR should be reverted. First, committing Without Without
|
That's not true. I think you're mixing up composer.lock and composer.json, from where the later is very much present. In composer.json, the compatible versions are defined.
Again stable dev environment is defined in composer.json. All compatible versions MUST be defined there and it MUST not matter what version of the defined is pulled. It must be compatible.
This is very much intended. Because build SHOULD break on package level rather than as project level. Without updating packages in the pipeline, it's not garantued to be compatible with new minor version. If this happens, it means that composer.json is incorrect. Could also be a dependency issue because a dependecy change defined as non-breaking is actually a breaking change. No matter what, this must be catched as early as possible. |
I define "stable dev environment" as "identical patch level version of all packages". And the unfortunate reality is that bugs and/or minor change of behavior are sometimes introduced in patch level. PHP-CS-Fixer might slightly change their formatting, or PHPUnit might starts to deprecate things. You probably don't want to deal with that when you're already busy trying to solve something else entirely.
Yes, I agree, but that should be in addition to a stable CI step, not instead of. You wouldn't test only with the nightly build of PHP. You test with a stable, well-defined version of PHP, and then, in addition, you try your luck with the nightly build. |
composer.lock
should not be included in packages, only in projects. See for example the symfony package we use ourselves:It was an issue for me, because in the GithubAction I was looking for the actual versions used, but they are not listed if they do not differ from
composer.lock
. This is why I suggest this fix, which resolves a bad practice AND shows the actual dependecy versions used in the GithubAction for easy lookup.