@@ -71,18 +71,25 @@ def e2e_suites(name, runner, data):
7171 """
7272
7373 # Pre-configured test suites
74- for toolchain_name , toolchain in zip (
74+ for toolchain_name , ( toolchain , windows_node_repo ) in zip (
7575 TOOLCHAINS_NAMES ,
7676 TOOLCHAINS_VERSIONS ,
7777 ):
7878 # Default target meant to be run manually for debugging, customizing test cli via bazel
79- _e2e_tests (name + "_" + toolchain_name , runner , data = data , toolchain = toolchain , tags = ["manual" ])
80-
81- _e2e_suite (name , runner , "npm" , data , toolchain_name , toolchain )
82- _e2e_suite (name , runner , "bun" , data , toolchain_name , toolchain )
83- _e2e_suite (name , runner , "pnpm" , data , toolchain_name , toolchain )
84- _e2e_suite (name , runner , "yarn" , data , toolchain_name , toolchain )
85- _e2e_suite (name , runner , "esbuild" , data , toolchain_name , toolchain )
79+ _e2e_tests (
80+ name + "_" + toolchain_name ,
81+ runner ,
82+ data = data ,
83+ toolchain = toolchain ,
84+ windows_node_repo = windows_node_repo ,
85+ tags = ["manual" ],
86+ )
87+
88+ _e2e_suite (name , runner , "npm" , data , toolchain_name , toolchain , windows_node_repo )
89+ _e2e_suite (name , runner , "bun" , data , toolchain_name , toolchain , windows_node_repo )
90+ _e2e_suite (name , runner , "pnpm" , data , toolchain_name , toolchain , windows_node_repo )
91+ _e2e_suite (name , runner , "yarn" , data , toolchain_name , toolchain , windows_node_repo )
92+ _e2e_suite (name , runner , "esbuild" , data , toolchain_name , toolchain , windows_node_repo )
8693
8794 # Saucelabs tests are only run on the default toolchain
8895 _e2e_suite (name , runner , "saucelabs" , data )
@@ -119,6 +126,23 @@ def _e2e_tests(name, runner, **kwargs):
119126 toolchains = toolchains + ["@npm//@angular/build-tooling/bazel/browsers/chromium:toolchain_alias" ]
120127 data = data + ["@npm//@angular/build-tooling/bazel/browsers/chromium" ]
121128
129+ windows_node_repo = kwargs .pop ("windows_node_repo" , None )
130+ windows_node_files = [
131+ "@%s//:node_files" % windows_node_repo ,
132+ "@%s//:npm_files" % windows_node_repo ,
133+ "@%s//:bin/npm.cmd" % windows_node_repo ,
134+ ]
135+
136+ data = select ({
137+ "@bazel_tools//src/conditions:windows" : data + windows_node_files ,
138+ "//conditions:default" : data + windows_node_files ,
139+ #"//conditions:default": data,
140+ })
141+
142+ env .update ({
143+ "NG_E2E_WINDOWS_REPO_SHORT_PATH" : "../%s" % windows_node_repo ,
144+ })
145+
122146 nodejs_test (
123147 name = name ,
124148 templated_args = args ,
@@ -131,7 +155,7 @@ def _e2e_tests(name, runner, **kwargs):
131155 ** kwargs
132156 )
133157
134- def _e2e_suite (name , runner , type , data , toolchain_name = "" , toolchain = None ):
158+ def _e2e_suite (name , runner , type , data , toolchain_name = "" , toolchain = None , windows_node_repo = None ):
135159 """
136160 Setup a predefined test suite (yarn|pnpm|bun|esbuild|saucelabs|npm).
137161 """
@@ -166,6 +190,7 @@ def _e2e_suite(name, runner, type, data, toolchain_name = "", toolchain = None):
166190 size = "enormous" ,
167191 data = data ,
168192 toolchain = toolchain ,
193+ windows_node_repo = windows_node_repo ,
169194 shard_count = TEST_SHARD_COUNT ,
170195 templated_args = args + [
171196 "--glob=%s" % _to_glob (tests ) if tests else "" ,
@@ -180,6 +205,7 @@ def _e2e_suite(name, runner, type, data, toolchain_name = "", toolchain = None):
180205 size = "enormous" ,
181206 data = data ,
182207 toolchain = toolchain ,
208+ windows_node_repo = windows_node_repo ,
183209 shard_count = TEST_SHARD_COUNT ,
184210 templated_args = args + [
185211 "--ng-snapshots" ,
0 commit comments