-
Notifications
You must be signed in to change notification settings - Fork 133
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
The "-c" option does not exist. #107
Comments
I'm missing some critical and useful information, like what command you are running to begin with. It would be nice if you could provide this too. |
Hope this can help. If you need more information just let me know. Updating to image Workaround |
Hello @alcohol, This error comes just after pulling docker image, without running any command. (first in chain is echo which does not run) For the test I've pulled previous version by hash name and everything works perfectly. Kind regards, |
We changed something in the entrypoint, but I'm not quite sure why it causes these failures. Will investigate. |
I guess as this is quite popular image maybe you could revert to the previous iteration of the repository and after some more testing merge last changes again? |
I think I have a hunch... My guess is, that your CI provider is calling the container with |
That could be it I guess |
I find the circleci documentation rather awful. I think you can specify your own entrypoint using the |
Using the default entrypoint,
With an empty entrypoint,
|
This also happens using gitlab ci, for now using 1.8 image bypasses the issue |
We're writing the composer commands directly into our Gitlab CI script like this:
How do you suggest to override the entrypoint here? |
Like I said, I don't know exactly how circleci works and their documentation is not very useful (admittedly I only glanced over it quickly); but my best guess would be:
or instead of
|
This is not only Circle ci, it's also affecting gitlab ci @alcohol |
This one works in Gitlab CI for us:
|
@dmaphy I can confirm it works for me as well |
To be honest this is a breaking change that should have not just been patched into. I now have to fix like ~100 .gitlab-ci.yml s to either use an older composer image or add an entrypoint to each file and change our internal documentation... |
This release just broke literally hundreds of thousands of CI jobs worldwide. And the fact it affects not only 1.10 but 1.9.3 too made it worse. |
Just to clarify: Is there a plan to resolve this as an issue, or is every gitlab/circleci runner config in the world going to need to use older versions/override the entrypoint? :( |
This is not a breaking change honestly. But I am considering a middle ground, where we explicitly add an exception for |
I believe that it is breaking change as the parameter interfere with commonly used syntax which caused the issue with CI tools. Probably this issue can cause more problems because of minor syntax sugar update. As an official image of a composer IMO this is not acceptable or should be addressed as separate image version. |
I understand your opinion on the matter, but I disagree. The whole purpose of the combination of In other words, the following should behave identical:
and
While I understand why these CI providers use |
I cannot disagree with you more. Yet I’d like to bring perspective of working with software which is used in production / business environment. Having that in mind I would expect at least second version of an image (with the update) which will be optional for a specific time and then migrating it to the main one. This combined with changelog in main repository and proper description of possible effects would give business and developers time to prepare needed updates to the system. If this was new image, alternative version or brand new repository this would be completely fine to change, for the commonly used module back compablity should be taken into consideration during updates. Additionally I would like to personally thank you for your fast answers and collaboration on that issue. This behavior is highly admirable yet not commonly met. Keep on rockin |
I would suggest adding a
It could be tagged as |
I'm not sure why we would need an additional tag? The proposed solution will work for existing CI pipelines. The downside of not being able to use |
It will not work for mine. We call "composer install" or "mkdir" directly without calling "sh" in front of every command. |
For this scenario, nothing changes in the pending solution nor has anything changed. So what is the problem? |
@Avalarion Don't worry, it will still work. The fix makes sure that an entry-point of |
It worked fine yesterday but now version 1.9.3 breaks all of our gitlab-ci jobs. Literally only calling Reverting one of our job to use 1.8 worked for us, we're waiting to see when if we can stop holding back our jobs or if we have to update all of our ci files at once. |
But I have no entry call Here as a quote from my .gitlab-ci.yml.
And I guess that I am not alone with this kind of script and before_script usage. |
@Avalarion the problem is that the CI provider is abstracting the So while you do not call The pending fix implements a workaround for this scenario. |
@alcohol Folks relied on that behaviour, the change broke that behaviour and therefore it is a BC. |
We can agree to disagree. 🤷♂️ |
How do you define a breaking change? |
A change that breaks an existing contract. The problem is that there is no explicit contract in this scenario. There is no interface definition or API documentation. Anything resembling a contract can only be deduced if you look at the implementation of the entrypoint script and understand how it works (or is intended to work). Just because it worked up until now, does not mean it was ever explicitly meant to work like this. But I can relate to the opinion that this in and of itself could be considered in some way a contract as well. I propose we cease this discussion of whether or not it is a breaking change. It is petty and does not contribute to anything. I understand your frustration. The unexpected side-effects of this change have significantly impacted users and this was unforeseen and unfortunate. A solution has been implemented to remedy this. |
The upstream PR docker-library/official-images#7617 was merged. Any CI pipelines that do not cache (persistent) containers should be working again. For anyone that has a CI pipeline with a persistent Docker cache, I suggest you find a way to purge/refresh it, or run |
Worth adding in a single exception for sh in the entry point script ? Or has this been solved upstream now ? |
Using the image "composer:1.9.3" is broken since last night.
How does it work (yesterday evening)
How does the error occur (today morning)
I guess the related change is 96bfff8
With the newer image we see the following error within GitLab CI on the same commit without any changes in "our" code.
The text was updated successfully, but these errors were encountered: