fix(workers): preserve executable workspace files on Windows nodes (#129226)

* fix(workers): preserve executable modes on Windows nodes

* fix(ci): route worker workspace transfers to Windows
This commit is contained in:
Peter Steinberger
2026-08-25 03:39:25 -07:00
committed by GitHub
parent a85dbdaf0d
commit 32f49a4937
8 changed files with 335 additions and 14 deletions
+6 -2
View File
@@ -89,6 +89,8 @@ const WINDOWS_WORKSPACE_QUIESCENCE_SCOPE_RE =
/^src\/gateway\/worker-environments\/workspace-quiescence(?:-scripts|(?:\.windows)?\.test)?\.ts$/;
const WINDOWS_WORKER_BUNDLE_SCOPE_RE =
/^src\/(?:shared\/worker-bundle-(?:archive|hash)(?:\.test)?|gateway\/worker-environments\/bundle(?:-staging)?(?:\.test)?|node-host\/node-worker-bundle-installer(?:\.test)?)\.ts$/;
const WINDOWS_WORKER_WORKSPACE_SCOPE_RE =
/^src\/(?:node-host\/node-worker-transfer-client(?:\.test)?|gateway\/worker-environments\/(?:node-worker-tunnel(?:\.test)?|workspace-sync-(?:scripts|manifest\.test)))\.ts$/;
const CONTROL_UI_I18N_SCOPE_RE =
/^(ui\/src\/i18n\/|ui\/config\/control-ui-locales\.ts$|scripts\/(?:control-ui-i18n(?:-verify)?\.ts|lib\/control-ui-i18n-(?:catalog|config|raw-copy|sync-plan)\.ts)$|\.github\/workflows\/control-ui-locale-refresh\.yml$)/;
const CONTROL_UI_RAW_COPY_SOURCE_RE = /^ui\/src\/(?:app|components|lib|pages)\/.*\.tsx?$/;
@@ -207,7 +209,8 @@ export function detectChangedScope(changedPaths) {
WINDOWS_NODE_HOST_EXECUTABLE_SCOPE_RE.test(path) ||
WINDOWS_MEMORY_EXTRA_FILE_SCOPE_RE.test(path) ||
WINDOWS_WORKSPACE_QUIESCENCE_SCOPE_RE.test(path) ||
WINDOWS_WORKER_BUNDLE_SCOPE_RE.test(path)) &&
WINDOWS_WORKER_BUNDLE_SCOPE_RE.test(path) ||
WINDOWS_WORKER_WORKSPACE_SCOPE_RE.test(path)) &&
(!facts.isTestOnly ||
WINDOWS_TEST_SCOPE_RE.test(path) ||
WINDOWS_FILE_URL_SCOPE_RE.test(path) ||
@@ -221,7 +224,8 @@ export function detectChangedScope(changedPaths) {
WINDOWS_NODE_HOST_EXECUTABLE_SCOPE_RE.test(path) ||
WINDOWS_MEMORY_EXTRA_FILE_SCOPE_RE.test(path) ||
WINDOWS_WORKSPACE_QUIESCENCE_SCOPE_RE.test(path) ||
WINDOWS_WORKER_BUNDLE_SCOPE_RE.test(path))
WINDOWS_WORKER_BUNDLE_SCOPE_RE.test(path) ||
WINDOWS_WORKER_WORKSPACE_SCOPE_RE.test(path))
) {
runWindows = true;
}