-
Notifications
You must be signed in to change notification settings - Fork 396
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
DX-3168: invokeCommand() doesn't preserve input options #4324
Conversation
I created a patch to run this and came up with this issue:
|
Oh... I made sure to attach any new arguments manually specified by
I guess if Command B doesn't take a particular parameter, that implies it's not important or it'll manager parameters itself. 😕 |
This has been quite an adventure in Robo-land. I've managed to hardcode the environment parameter as context for all invoked commands. Unfortunately I don't know how to solve this for the general case, because I can't figure out how to build a new ArrayInput and detect whether an arbitrary parameter is valid for a given command. Even when I hardcode an option ( Accommodating |
@shelane I'm going to go ahead and merge but please test and report back if you find any issues. Cheers. |
I was running tests today with this as a patch and so far so good. |
Yikes. Now I can't deploy a tag:
I'm not sure where this --id is coming from or why it would be causing an issue with the changes from the patch. |
I've pushed a fix to dev-main, could you please try again? Third time's a charm, let's hope :) |
@danepowell It's working for me! I plan on doing more extensive tests in the morning. |
@danepowell Tests this morning are mixed. My custom commands run fine as part of the cloud update hook. If I try to run my site install command, which is this:
from Acquia directly (ssh to ACE and use ./vendor/bin/blt for command calls in the appropriate environment)
But config-split does exist and the command ran just fine in the hook. Why it is not recognizing it when I'm calling the command directly? |
This sounds like a result of #4314, I'll ping you in Slack but it might be worth opening a new issue. |
Motivation
Fixes #4313
invokeCommand() builds a new set of input arguments and thus discards any options such as
environment
.Proposed changes
Input options need to persist through the lifecycle of a BLT process, so let's instead reuse the existing input object and modify with any new args as necessary.