Skip to content

Commit 74aabba

Browse files
committed
build: remove windows testing and CI setup
NOTE: This does not mean we are no longer supporting contributing to Angular on a Windows machine. Instead, we are working towards having a more stable and guaranteed developer experience on Windows! We will still ensure and verify that the Angular CLI (`ng`) works on Windows! --- Many contributors and team members are using Linux or MacOS for development of Angular. Our tooling regularly faces challenges with infrastructure needing extra work and tricks just to function to some extent on Windows. E.g. shell scripts or Bazel actions that need extra layers for batch files that spawn a Bash shell etc, or inconsistent escaping across shells. This is putting extra stress on our infrastructure team, results in in unnecessary complexity and slows down overall development that way. There is a simple and well-proven solution for supporting Windows development. Using WSL2, developes have access to a Bash shell that is equivalent to Linux; which we use on a day to day basis and can guarantee that development works smoothly! This means, we'd be able to offer far better stability and guarantees to our Windows contributors. Historically, we also haven't seen a lot of Angular contributors use Windows; and if they did; they already used WSL for development. At this point we don't have any non-WSL contributors anymore (in the team or known), so we don't know anything about how well development works via e.g. Git Bash on Windows. Testing on CI via Windows WSL is not necessary as the WSL shell is expected to be the same as the Linux bash environment. We'll be able to revisit this if we have new learnings. There are ways to execute builds etc. via WSL on CI.
1 parent 880df49 commit 74aabba

File tree

6 files changed

+1
-42
lines changed

6 files changed

+1
-42
lines changed

.github/workflows/pr.yml

Lines changed: 0 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -56,20 +56,6 @@ jobs:
5656
- run: yarn install --immutable
5757
- run: yarn bazel test -- //...
5858

59-
test-win:
60-
timeout-minutes: 30
61-
runs-on: windows-latest
62-
steps:
63-
# Because the checkout and setup node action is contained in the dev-infra repo, we must
64-
# checkout the repo to be able to run the action we have created. Other repos will skip
65-
# this step.
66-
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
67-
- uses: ./github-actions/npm/checkout-and-setup-node
68-
- uses: ./github-actions/bazel/setup
69-
- uses: ./github-actions/bazel/configure-remote
70-
- run: yarn install --immutable
71-
- run: yarn bazel test --test_tag_filters=windows --build_tests_only -- ... -bazel/remote-execution/...
72-
7359
test-macos:
7460
timeout-minutes: 30
7561
runs-on: macos-latest

WORKSPACE

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -136,7 +136,6 @@ register_toolchains(
136136
"//bazel/git-toolchain:git_linux_toolchain",
137137
"//bazel/git-toolchain:git_macos_x86_toolchain",
138138
"//bazel/git-toolchain:git_macos_arm64_toolchain",
139-
"//bazel/git-toolchain:git_windows_toolchain",
140139
)
141140

142141
http_file(

bazel/api-golden/test/BUILD.bazel

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,6 @@ api_golden_test(
2121
],
2222
entry_point = "./fixtures/test_fixture.d.ts",
2323
golden = "dev-infra/bazel/api-golden/test/goldens/explicit_file",
24-
# API extractor type resolution is prone to non-sandbox errors, so we test Windows.
25-
tags = ["windows"],
2624
types = ["@npm//@types/node"],
2725
)
2826

@@ -34,8 +32,6 @@ api_golden_test_npm_package(
3432
],
3533
golden_dir = "dev-infra/bazel/api-golden/test/goldens/test_package",
3634
npm_package = "dev-infra/bazel/api-golden/test/fixtures/test_package",
37-
# API extractor type resolution is prone to non-sandbox errors, so we test Windows.
38-
tags = ["windows"],
3935
# API extractor needs to be able to resolve `@babel/core` due to an aliased namespace
4036
# we expose as part of the `nested.d.ts` fake entry-point.
4137
types = ["@npm//@types/babel__core"],
@@ -49,6 +45,4 @@ api_golden_test_npm_package(
4945
],
5046
golden_dir = "dev-infra/bazel/api-golden/test/goldens/pkg_no_exports_field",
5147
npm_package = "dev-infra/bazel/api-golden/test/fixtures/pkg_no_exports_field",
52-
# API extractor type resolution is prone to non-sandbox errors, so we test Windows.
53-
tags = ["windows"],
5448
)

bazel/browsers/test/BUILD.bazel

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@ karma_web_test_suite(
1111
tags = [
1212
"linux",
1313
"macos",
14-
"windows",
1514
],
1615
deps = [
1716
":test_bundle",

bazel/git-toolchain/BUILD.bazel

Lines changed: 1 addition & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
load(":toolchain.bzl", "git_toolchain")
21
load(":alias.bzl", "git_toolchain_alias")
2+
load(":toolchain.bzl", "git_toolchain")
33

44
package(default_visibility = ["//visibility:public"])
55

@@ -74,17 +74,3 @@ toolchain(
7474
toolchain = ":git_macos_arm64",
7575
toolchain_type = ":toolchain_type",
7676
)
77-
78-
toolchain(
79-
name = "git_windows_toolchain",
80-
exec_compatible_with = [
81-
"@platforms//os:windows",
82-
"@platforms//cpu:x86_64",
83-
],
84-
target_compatible_with = [
85-
"@platforms//os:windows",
86-
"@platforms//cpu:x86_64",
87-
],
88-
toolchain = ":git_windows",
89-
toolchain_type = ":toolchain_type",
90-
)

bazel/integration/tests/package_mappings/BUILD.bazel

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -13,11 +13,6 @@ integration_test(
1313
npm_packages = {
1414
"//bazel/integration/tests/package_mappings/fake_pkg_srcs:archive": "fake_pkg",
1515
},
16-
tags = [
17-
# We want to run a basic integration test on Windows to ensure the integration
18-
# test rule works properly for Windows contributors.
19-
"windows",
20-
],
2116
tool_mappings = {
2217
"//:yarn_classic_vendored": "yarn",
2318
"@nodejs_toolchains//:resolved_toolchain": "node",

0 commit comments

Comments
 (0)