Skip to content

Commit 9f8af3f

Browse files
committed
ci: use W3C-compliant Sauce Labs tunnelName and remove deprecated tunnelIdentifier
1 parent b74eef8 commit 9f8af3f

3 files changed

Lines changed: 18 additions & 171 deletions

File tree

.github/workflows/ci.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -219,6 +219,7 @@ jobs:
219219
google_credential: ${{ secrets.RBE_TRUSTED_BUILDS_USER }}
220220
- name: Start Sauce Connect
221221
uses: saucelabs/sauce-connect-action@cb88b508c6f9ff4d84490093733315dbd55de022 # v3
222+
timeout-minutes: 10
222223
with:
223224
username: ${{ vars.SAUCE_USERNAME }}
224225
accessKey: ${{ secrets.SAUCE_ACCESS_KEY }}

.github/workflows/pr.yml

Lines changed: 16 additions & 167 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
name: Pull Request
22

33
on:
4-
pull_request:
4+
pull_request_target:
55
types: [opened, synchronize, reopened]
66

77
concurrency:
@@ -15,59 +15,6 @@ defaults:
1515
shell: bash
1616

1717
jobs:
18-
analyze:
19-
runs-on: ubuntu-latest
20-
outputs:
21-
snapshots: ${{ steps.filter.outputs.snapshots }}
22-
steps:
23-
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
24-
with:
25-
persist-credentials: false
26-
- uses: dorny/paths-filter@7b450fff21473bca461d4b92ce414b9d0420d706 # v4.0.2
27-
id: filter
28-
with:
29-
filters: |
30-
snapshots:
31-
- 'tests/e2e/ng-snapshot/package.json'
32-
33-
lint:
34-
runs-on: ubuntu-latest
35-
steps:
36-
- name: Initialize environment
37-
uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@24ba9709ca4bf6548bba6a9abfe2799e90645a60 # main
38-
- name: Setup Bazel
39-
uses: angular/dev-infra/github-actions/bazel/setup@24ba9709ca4bf6548bba6a9abfe2799e90645a60 # main
40-
- name: Setup ESLint Caching
41-
uses: actions/cache@55cc8345863c7cc4c66a329aec7e433d2d1c52a9 # v6.1.0
42-
with:
43-
path: .eslintcache
44-
key: ${{ runner.os }}-${{ hashFiles('.eslintrc.json') }}
45-
- name: Install node modules
46-
run: pnpm install --frozen-lockfile
47-
- name: Generate JSON schema types
48-
# Schema types are required to correctly lint the TypeScript code
49-
run: pnpm run build-schema
50-
- name: Run ESLint
51-
run: pnpm lint --cache-strategy content
52-
- name: Validate NgBot Configuration
53-
run: pnpm ng-dev ngbot verify
54-
- name: Validate Circular Dependencies
55-
run: pnpm ts-circular-deps check
56-
- name: Run Validation
57-
run: pnpm admin validate
58-
- name: Check tooling setup
59-
run: pnpm check-tooling-setup
60-
- name: Check commit message
61-
# Commit message validation is only done on pull requests as its too late to validate once
62-
# it has been merged.
63-
run: pnpm ng-dev commit-message validate-range ${{ github.event.pull_request.base.sha }} ${{ github.event.pull_request.head.sha }}
64-
- name: Check code format
65-
# Code formatting checks are only done on pull requests as its too late to validate once
66-
# it has been merged.
67-
run: pnpm ng-dev format changed --check ${{ github.event.pull_request.base.sha }}
68-
- name: Check Package Licenses
69-
uses: angular/dev-infra/github-actions/linting/licenses@24ba9709ca4bf6548bba6a9abfe2799e90645a60 # main
70-
7118
build:
7219
runs-on: ubuntu-latest
7320
steps:
@@ -88,30 +35,12 @@ jobs:
8835
path: dist/releases/*.tgz
8936
retention-days: 14
9037

91-
test:
38+
test-saucelabs:
9239
needs: build
9340
runs-on: ubuntu-latest
94-
steps:
95-
- name: Initialize environment
96-
uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@24ba9709ca4bf6548bba6a9abfe2799e90645a60 # main
97-
- name: Setup Bazel
98-
uses: angular/dev-infra/github-actions/bazel/setup@24ba9709ca4bf6548bba6a9abfe2799e90645a60 # main
99-
- name: Setup Bazel RBE
100-
uses: angular/dev-infra/github-actions/bazel/configure-remote@24ba9709ca4bf6548bba6a9abfe2799e90645a60 # main
101-
- name: Install node modules
102-
run: pnpm install --frozen-lockfile
103-
- name: Run module and package tests
104-
run: pnpm bazel test -- //... -//tests/...
105-
106-
e2e:
107-
needs: build
108-
strategy:
109-
fail-fast: false
110-
matrix:
111-
node: [22]
112-
subset: [esbuild, webpack]
113-
shard: [0, 1, 2, 3, 4, 5]
114-
runs-on: ubuntu-latest
41+
name: Browser Compatibility Tests
42+
env:
43+
SAUCE_TUNNEL_IDENTIFIER: 'angular-${{ github.run_number }}'
11544
steps:
11645
- name: Initialize environment
11746
uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@24ba9709ca4bf6548bba6a9abfe2799e90645a60 # main
@@ -121,96 +50,16 @@ jobs:
12150
uses: angular/dev-infra/github-actions/bazel/setup@24ba9709ca4bf6548bba6a9abfe2799e90645a60 # main
12251
- name: Setup Bazel RBE
12352
uses: angular/dev-infra/github-actions/bazel/configure-remote@24ba9709ca4bf6548bba6a9abfe2799e90645a60 # main
124-
- name: Run CLI E2E tests
125-
run: pnpm bazel test --test_env=E2E_SHARD_TOTAL=6 --test_env=E2E_SHARD_INDEX=${{ matrix.shard }} --config=e2e //tests:e2e.${{ matrix.subset }}_node${{ matrix.node }}
126-
127-
build-e2e-windows-subset:
128-
runs-on: ubuntu-latest
129-
steps:
130-
- name: Initialize environment
131-
uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@24ba9709ca4bf6548bba6a9abfe2799e90645a60 # main
132-
- name: Setup Bazel
133-
uses: angular/dev-infra/github-actions/bazel/setup@24ba9709ca4bf6548bba6a9abfe2799e90645a60 # main
134-
- name: Setup Bazel RBE
135-
uses: angular/dev-infra/github-actions/bazel/configure-remote@24ba9709ca4bf6548bba6a9abfe2799e90645a60 # main
136-
- name: Install node modules
137-
run: pnpm install --frozen-lockfile
138-
- name: Build E2E tests for Windows on Linux
139-
run: |
140-
pnpm bazel build \
141-
--config=e2e \
142-
//tests:e2e.esbuild_node24 \
143-
--platforms=tools:windows_x64
144-
- name: Store built Windows E2E tests
145-
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
146-
with:
147-
name: win-e2e-build-artifacts
148-
path: |
149-
dist/bin/tests/**
150-
!**/node_modules/**
151-
retention-days: 1
152-
if-no-files-found: 'error'
153-
154-
e2e-windows-subset:
155-
needs: build-e2e-windows-subset
156-
runs-on: windows-2025
157-
steps:
158-
- name: Initialize environment
159-
uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@24ba9709ca4bf6548bba6a9abfe2799e90645a60 # main
160-
- name: Install node modules
161-
run: pnpm install --frozen-lockfile
162-
- name: Download built Windows E2E tests
163-
uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
164-
with:
165-
name: win-e2e-build-artifacts
166-
path: dist/bin/tests/
167-
- name: Run CLI E2E tests
168-
uses: ./.github/shared-actions/windows-bazel-test
53+
- name: Start Sauce Connect
54+
uses: saucelabs/sauce-connect-action@cb88b508c6f9ff4d84490093733315dbd55de022 # v3
55+
timeout-minutes: 10
16956
with:
170-
test_target_name: e2e.esbuild_node24
57+
username: ${{ vars.SAUCE_USERNAME }}
58+
accessKey: ${{ secrets.SAUCE_ACCESS_KEY }}
59+
region: us-west-1
60+
tunnelName: ${{ env.SAUCE_TUNNEL_IDENTIFIER }}
61+
- name: Run E2E Browser tests
17162
env:
172-
E2E_SHARD_TOTAL: 1
173-
TESTBRIDGE_TEST_ONLY: tests/basic/{build,rebuild,serve}.ts
174-
175-
e2e-package-managers:
176-
needs: build
177-
strategy:
178-
fail-fast: false
179-
matrix:
180-
node: [22]
181-
subset: [yarn, pnpm, bun]
182-
shard: [0, 1, 2]
183-
runs-on: ubuntu-latest
184-
steps:
185-
- name: Initialize environment
186-
uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@24ba9709ca4bf6548bba6a9abfe2799e90645a60 # main
187-
- name: Install node modules
188-
run: pnpm install --frozen-lockfile
189-
- name: Setup Bazel
190-
uses: angular/dev-infra/github-actions/bazel/setup@24ba9709ca4bf6548bba6a9abfe2799e90645a60 # main
191-
- name: Setup Bazel RBE
192-
uses: angular/dev-infra/github-actions/bazel/configure-remote@24ba9709ca4bf6548bba6a9abfe2799e90645a60 # main
193-
- name: Run CLI E2E tests
194-
run: pnpm bazel test --test_env=E2E_SHARD_TOTAL=3 --test_env=E2E_SHARD_INDEX=${{ matrix.shard }} --config=e2e //tests:e2e.${{ matrix.subset }}_node${{ matrix.node }}
195-
196-
e2e-snapshots:
197-
needs: [analyze, build]
198-
if: needs.analyze.outputs.snapshots == 'true'
199-
strategy:
200-
fail-fast: false
201-
matrix:
202-
node: [22]
203-
subset: [esbuild, webpack]
204-
shard: [0, 1, 2, 3, 4, 5]
205-
runs-on: ubuntu-latest
206-
steps:
207-
- name: Initialize environment
208-
uses: angular/dev-infra/github-actions/npm/checkout-and-setup-node@24ba9709ca4bf6548bba6a9abfe2799e90645a60 # main
209-
- name: Install node modules
210-
run: pnpm install --frozen-lockfile
211-
- name: Setup Bazel
212-
uses: angular/dev-infra/github-actions/bazel/setup@24ba9709ca4bf6548bba6a9abfe2799e90645a60 # main
213-
- name: Setup Bazel RBE
214-
uses: angular/dev-infra/github-actions/bazel/configure-remote@24ba9709ca4bf6548bba6a9abfe2799e90645a60 # main
215-
- name: Run CLI E2E tests
216-
run: pnpm bazel test --test_env=E2E_SHARD_TOTAL=6 --test_env=E2E_SHARD_INDEX=${{ matrix.shard }} --config=e2e //tests:e2e.snapshots.${{ matrix.subset }}_node${{ matrix.node }}
63+
SAUCE_USERNAME: ${{ vars.SAUCE_USERNAME }}
64+
SAUCE_ACCESS_KEY: ${{ secrets.SAUCE_ACCESS_KEY }}
65+
run: pnpm bazel test --config=saucelabs //tests:e2e.saucelabs

tests/e2e/assets/protractor-saucelabs.conf.js

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -64,18 +64,15 @@ exports.config = {
6464
// NOTE: https://saucelabs.com/products/platform-configurator can be used to determine configuration values
6565
multiCapabilities: capabilities.map((caps) => {
6666
const w3cCaps = {
67-
...caps,
67+
browserName: caps.browserName,
6868
browserVersion: caps.version,
6969
platformName: caps.platform,
7070
};
7171

7272
if (tunnelIdentifier) {
7373
return {
7474
...w3cCaps,
75-
tunnelIdentifier,
76-
tunnelName: tunnelIdentifier,
7775
'sauce:options': {
78-
tunnelIdentifier,
7976
tunnelName: tunnelIdentifier,
8077
},
8178
};

0 commit comments

Comments
 (0)