diff --git a/sdk/python/lib/pulumi/automation/_local_workspace.py b/sdk/python/lib/pulumi/automation/_local_workspace.py index 5b86b0e6fa55..d602449a7298 100644 --- a/sdk/python/lib/pulumi/automation/_local_workspace.py +++ b/sdk/python/lib/pulumi/automation/_local_workspace.py @@ -97,6 +97,7 @@ class LocalWorkspace(Workspace): _remote: bool = False _remote_env_vars: Optional[Mapping[str, Union[str, Secret]]] _remote_pre_run_commands: Optional[List[str]] + _remote_skip_install_dependencies: Optional[bool] _remote_git_url: str _remote_git_project_path: Optional[str] _remote_git_branch: Optional[str] @@ -480,6 +481,9 @@ def _remote_args(self) -> List[str]: args.append("--remote-pre-run-command") args.append(command) + if self._remote_skip_install_dependencies: + args.append("--remote-skip-install-dependencies") + return args diff --git a/sdk/python/lib/pulumi/automation/_remote_workspace.py b/sdk/python/lib/pulumi/automation/_remote_workspace.py index 3765a3507242..96691f62ec1a 100644 --- a/sdk/python/lib/pulumi/automation/_remote_workspace.py +++ b/sdk/python/lib/pulumi/automation/_remote_workspace.py @@ -26,15 +26,18 @@ class RemoteWorkspaceOptions: env_vars: Optional[Mapping[str, Union[str, Secret]]] pre_run_commands: Optional[List[str]] + skip_install_dependencies: Optional[bool] def __init__( self, *, env_vars: Optional[Mapping[str, Union[str, Secret]]] = None, pre_run_commands: Optional[List[str]] = None, + skip_install_dependencies: Optional[bool] = None, ): self.env_vars = env_vars self.pre_run_commands = pre_run_commands + self.skip_install_dependencies = skip_install_dependencies class RemoteGitAuth: @@ -199,14 +202,17 @@ def _create_local_workspace( env_vars = None pre_run_commands = None + skip_install_dependencies = None if opts is not None: env_vars = opts.env_vars pre_run_commands = opts.pre_run_commands + skip_install_dependencies = opts.skip_install_dependencies ws = LocalWorkspace() ws._remote = True ws._remote_env_vars = env_vars ws._remote_pre_run_commands = pre_run_commands + ws._remote_skip_install_dependencies = skip_install_dependencies ws._remote_git_url = url ws._remote_git_project_path = project_path ws._remote_git_branch = branch diff --git a/sdk/python/lib/test/automation/test_remote_workspace.py b/sdk/python/lib/test/automation/test_remote_workspace.py index f0ed11b5a9ff..519279092812 100644 --- a/sdk/python/lib/test/automation/test_remote_workspace.py +++ b/sdk/python/lib/test/automation/test_remote_workspace.py @@ -86,10 +86,13 @@ def test_remote_workspace_stack_lifecycle(factory): url=test_repo, branch="refs/heads/master", project_path="goproj", - opts=RemoteWorkspaceOptions(pre_run_commands=[ - f"pulumi config set bar abc --stack {stack_name}", - f"pulumi config set --secret buzz secret --stack {stack_name}", - ]), + opts=RemoteWorkspaceOptions( + pre_run_commands=[ + f"pulumi config set bar abc --stack {stack_name}", + f"pulumi config set --secret buzz secret --stack {stack_name}", + ], + skip_install_dependencies=True, + ), ) # pulumi up