Skip to content
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

Breaking Change for heroku container:push --recursive on 9.0.0 #2949

Closed
ptwobrussell opened this issue Jul 25, 2024 · 1 comment · Fixed by #2958
Closed

Breaking Change for heroku container:push --recursive on 9.0.0 #2949

ptwobrussell opened this issue Jul 25, 2024 · 1 comment · Fixed by #2958

Comments

@ptwobrussell
Copy link

This project is for the Heroku CLI only and issues are reviewed as we are able. If you need more immediate assistance or help with anything not specific to the CLI itself, please use https://help.heroku.com.

Do you want to request a feature or report a bug?

Report a bug

What is the current behavior?

With the new 9.0.0 heroku CLI update, running a container:push command like heroku container:push -R -a app-name --arg x=y will always return an error: "Error: No images to push". You must explicitly pass in additional args for your container types like web, worker, etc. for the command to build images and push them as expected.

What is the expected behavior?

With all previous versions of the CLI I've ever used, the behavior was that Dockerfiles named according to the convention Dockerfile.web, Dockerfile.worker, etc. would be discovered and images would be automatically built and pushed to the registry.

It is still the case that your online docs state this (as they have for many years): https://devcenter.heroku.com/articles/container-registry-and-runtime#pushing-multiple-images

From my point of view, this is a breaking change that was tricky to isolate and solve in the context of a CI pipeline because I wasn't expecting a breaking change, the release notes for 9.0.0 didn't mention it, and the website didn't reflect it. It wasn't until I studied the source code that I understood what was really happening, and that came after chasing a couple of red herrings.

Recommendation

This deserves a note in the release notes for 9.0.0, and the website link with same usage should be updated to show that the names of containers as reflected in the Dockerfile nomenclature must be explicitly passed as arguments to heroku container:push.

Or, a 9.0.1 patch should restore previously usage so that it works like previous versions if that is the intention.

The main thing is to communicate the change.

@eablack
Copy link
Contributor

eablack commented Jul 25, 2024

Hi,

Thanks for reporting this -- and for the very thorough description! I've verified the behavior. It's a bug and we'll work to restore the intended --recursive behavior in an upcoming patch.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants