From 6a2a3ec6ac3f30ba7e956e4b03439d2370db6dd0 Mon Sep 17 00:00:00 2001 From: Ibrahim Halatci Date: Tue, 1 Sep 2026 13:25:57 +0000 Subject: [PATCH] Do not delete the caller's directory in pipeline mode update_docker.py called remove_cloned_code(execution_path) unconditionally. In --pipeline mode execution_path is supplied by the caller (in CI it is $GITHUB_WORKSPACE), so the cleanup deleted the runner's own workspace after the PR had already been created. The Python process exited 0, but the next action in the job could not start: An error occurred trying to start process '.../node20/bin/node' with working directory '/home/runner/work/docker/docker'. No such file or directory This is why every citusdata/docker "Update Version on Docker Files" run has failed even though it successfully opened its PR. remove_cloned_code is only meaningful for the clone the script creates itself in non-pipeline mode. Guard it the same way update_pgxn.py and update_package_properties.py already do. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: bb18c8e4-f4c5-43b7-92cf-30d6b03deb87 --- packaging_automation/update_docker.py | 1 + 1 file changed, 1 insertion(+) diff --git a/packaging_automation/update_docker.py b/packaging_automation/update_docker.py index 936e9d1f..808af9cd 100644 --- a/packaging_automation/update_docker.py +++ b/packaging_automation/update_docker.py @@ -267,4 +267,5 @@ def read_postgres_versions(pkgvars_file: str) -> Tuple[str, str, str]: PROJECT_NAME, MAIN_BRANCH, ) + if not args.is_test and not args.pipeline: remove_cloned_code(execution_path)