Skip to content

Commit 18fad63

Browse files
committed
ci: ensure Windows CI installs Windows specific npm dependencies
The Windows CI test job is now isolated from the linux jobs. The previous Windows CI setup reused the workspace from the linux CI setup job. This job performed a package install which would install linux specific dependencies. Some dependencies (e.g., `esbuild`) modify themselves as a post-install action to optimize the runtime performance and may alter themselves in platform specific ways. As a result the existing packages may then be invalid on Windows. Even though the Windows CI job performed another package install, these self-modified packages may persist and cause install and/or runtime issues on Windows. By isolating the Windows CI jobs via separately checking out and rebasing the code, the Windows dependencies will no longer be affected by the linux CI jobs. This change also has the benefit of removing the need to attach the custom CircleCI workspace to the Windows job prior to execution which can be time consuming.
1 parent 7bdcd7d commit 18fad63

File tree

1 file changed

+13
-1
lines changed

1 file changed

+13
-1
lines changed

.circleci/config.yml

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -285,7 +285,19 @@ jobs:
285285
executor: windows-executor
286286
parallelism: 8
287287
steps:
288-
- custom_attach_workspace
288+
- checkout
289+
- run:
290+
name: Rebase PR on target branch
291+
command: |
292+
if (Test-Path env:CIRCLE_PR_NUMBER) {
293+
# User is required for rebase.
294+
git config user.name "angular-ci"
295+
git config user.email "angular-ci"
296+
# Rebase PR on top of target branch.
297+
node tools/rebase-pr.js angular/angular-cli $env:CIRCLE_PR_NUMBER
298+
} else {
299+
echo "This build is not over a PR, nothing to do."
300+
}
289301
- setup_windows
290302
- restore_cache:
291303
keys:

0 commit comments

Comments
 (0)