Skip to content

Commit 131bd32

Browse files
Merge pull request #105 from angular/master
Create a new pull request by comparing changes across two branches
2 parents 0f1859c + 8370222 commit 131bd32

File tree

163 files changed

+13471
-5530
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

163 files changed

+13471
-5530
lines changed

.github/workflows/codeql-analysis.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ jobs:
3939

4040
# Initializes the CodeQL tools for scanning.
4141
- name: Initialize CodeQL
42-
uses: github/codeql-action/init@v1
42+
uses: github/codeql-action/init@v2
4343
with:
4444
languages: ${{ matrix.language }}
4545
# If you wish to specify custom queries, you can do so here or in a config file.
@@ -50,7 +50,7 @@ jobs:
5050
# Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
5151
# If this step fails, then you should remove it and run the build manually (see below)
5252
- name: Autobuild
53-
uses: github/codeql-action/autobuild@v1
53+
uses: github/codeql-action/autobuild@v2
5454

5555
# ℹ️ Command-line programs to run using the OS shell.
5656
# 📚 https://git.io/JvXDl
@@ -64,4 +64,4 @@ jobs:
6464
# make release
6565

6666
- name: Perform CodeQL Analysis
67-
uses: github/codeql-action/analyze@v1
67+
uses: github/codeql-action/analyze@v2

.github/workflows/test.yml

Lines changed: 96 additions & 110 deletions
Original file line numberDiff line numberDiff line change
@@ -21,41 +21,44 @@ jobs:
2121
name: Build
2222
steps:
2323
- name: Checkout
24-
uses: actions/checkout@v2
24+
uses: actions/checkout@v3
2525
- name: Setup node
26-
uses: actions/setup-node@v2-beta
26+
uses: actions/setup-node@v3
2727
with:
28-
node-version: '14'
28+
node-version: '16'
29+
check-latest: true
2930
- name: node_modules cache
30-
uses: actions/cache@v2
31+
uses: actions/cache@v3
3132
id: node_modules_cache
3233
with:
3334
path: ./node_modules
34-
key: ${{ runner.os }}-14-12-9-9-6-node_modules-${{ hashFiles('yarn.lock') }}
35+
key: ${{ runner.os }}-16-12-9-9-6-node_modules-${{ hashFiles('yarn.lock') }}
3536
restore-keys: |
36-
${{ runner.os }}-14-12-9-9-6-node_modules-
37-
${{ runner.os }}-14-12-9-9-
38-
${{ runner.os }}-14-12-9-
39-
${{ runner.os }}-14-12-
40-
${{ runner.os }}-14-
37+
${{ runner.os }}-16-12-9-9-6-node_modules-
38+
${{ runner.os }}-16-12-9-9-
39+
${{ runner.os }}-16-12-9-
40+
${{ runner.os }}-16-12-
41+
${{ runner.os }}-16-
4142
- name: Yarn offline cache
4243
if: steps.node_modules_cache.outputs.cache-hit != 'true'
43-
uses: actions/cache@v2
44+
uses: actions/cache@v3
4445
with:
4546
path: ~/.npm-packages-offline-cache
4647
key: yarn-offline-${{ hashFiles('**/yarn.lock') }}
4748
restore-keys: yarn-offline
4849
- name: Install deps
4950
if: steps.node_modules_cache.outputs.cache-hit != 'true'
5051
run: |
52+
yarn config set ignore-engines true
5153
yarn config set yarn-offline-mirror ~/.npm-packages-offline-cache
54+
yarn config set network-timeout 300000
5255
yarn config set yarn-offline-mirror-pruning true
5356
yarn install --frozen-lockfile --prefer-offline
5457
- name: Build
5558
id: yarn-pack-dir
5659
run: ./tools/build.sh
5760
- name: 'Upload Artifact'
58-
uses: actions/upload-artifact@v2
61+
uses: actions/upload-artifact@v3
5962
with:
6063
name: angularfire-${{ github.run_id }}
6164
path: dist
@@ -67,175 +70,140 @@ jobs:
6770
strategy:
6871
matrix:
6972
os: [ ubuntu-latest, macos-latest, windows-latest ]
70-
node: ["12", "14", "16"]
71-
firebase: ["9"]
72-
firebaseTools: ["9", "10"]
73-
rxjs: ["6", "7"]
74-
ng: ["12", "13"]
75-
exclude:
76-
# TODO investigate failures
77-
# https://github.com/angular/angularfire/runs/4174069788
78-
# Can't resolve 'core-js/proposals/reflect-metadata'
79-
- os: ubuntu-latest
80-
node: 14
81-
ng: 13
73+
node: ["16", "18", "20"]
8274
fail-fast: false
83-
name: Test firebase@${{ matrix.firebase }} firebase-tools@${{ matrix.firebaseTools }} ng@${{ matrix.ng }} rxjs@${{ matrix.rxjs}} on ${{ matrix.os }} Node.js ${{ matrix.node }}
75+
name: Test Node ${{ matrix.node }} (${{ matrix.os }})
8476
steps:
8577
- name: Checkout
86-
uses: actions/checkout@v2
78+
uses: actions/checkout@v3
8779
- name: Setup node
88-
uses: actions/setup-node@v2-beta
80+
uses: actions/setup-node@v3
8981
with:
9082
node-version: ${{ matrix.node }}
9183
check-latest: true
9284
- name: node_modules cache
9385
id: node_modules_cache
94-
uses: actions/cache@v2
86+
uses: actions/cache@v3
9587
with:
9688
path: ./node_modules
97-
key: ${{ runner.os }}-${{ matrix.node }}-${{ matrix.ng }}-${{ matrix.firebase }}-${{ matrix.firebaseTools }}-${{ matrix.rxjs }}-node_modules-${{ hashFiles('yarn.lock') }}
89+
key: ${{ runner.os }}-${{ matrix.node }}-16-9-12-7-node_modules-${{ hashFiles('yarn.lock') }}
9890
restore-keys: |
99-
${{ runner.os }}-${{ matrix.node }}-${{ matrix.ng }}-${{ matrix.firebase }}-${{ matrix.firebaseTools }}-${{ matrix.rxjs }}-node_modules-
100-
${{ runner.os }}-${{ matrix.node }}-${{ matrix.ng }}-${{ matrix.firebase }}-${{ matrix.firebaseTools }}-
101-
${{ runner.os }}-${{ matrix.node }}-${{ matrix.ng }}-${{ matrix.firebase }}-
102-
${{ runner.os }}-${{ matrix.node }}-${{ matrix.ng }}-
91+
${{ runner.os }}-${{ matrix.node }}-16-9-12-7-node_modules-
92+
${{ runner.os }}-${{ matrix.node }}-16-9-12-
93+
${{ runner.os }}-${{ matrix.node }}-16-9-
94+
${{ runner.os }}-${{ matrix.node }}-16-
10395
${{ runner.os }}-${{ matrix.node }}-
10496
- name: Yarn offline cache
105-
uses: actions/cache@v2
97+
uses: actions/cache@v3
10698
with:
10799
path: ~/.npm-packages-offline-cache
108100
key: yarn-offline-${{ hashFiles('**/yarn.lock') }}
109101
restore-keys: yarn-offline
110102
- name: Configure yarn
111103
run: |
112104
yarn config set yarn-offline-mirror ~/.npm-packages-offline-cache
105+
yarn config set network-timeout 300000
113106
yarn config set ignore-engines true
114107
- name: Yarn install
115108
if: steps.node_modules_cache.outputs.cache-hit != 'true'
116109
run: yarn install --frozen-lockfile --prefer-offline
117-
- name: Bump deps
118-
run: |
119-
yarn add firebase@${{ matrix.firebase }}
120-
yarn add firebase-tools@${{ matrix.firebaseTools }}
121-
yarn add rxjs@${{ matrix.rxjs }} --prefer-offline
122-
npx ng update @angular/core@${{ matrix.ng }} @angular/cli@${{ matrix.ng }} --allow-dirty --force || true
123-
- name: Firebase emulator cache
124-
uses: actions/cache@v2
125-
with:
126-
path: ~/.cache/firebase/emulators
127-
key: firebase_emulators
128110
- name: Download Artifacts
129-
uses: actions/download-artifact@v2
111+
uses: actions/download-artifact@v3
130112
- name: Relocate Artifacts
131113
run: mv angularfire-${{ github.run_id }} dist
132-
- name: Test node
114+
- name: Test Node
133115
run: |
134116
yarn build:jasmine
135117
yarn test:node
136-
- name: Test browser
137-
if: matrix.os == 'ubuntu-latest' && matrix.node == '14' && matrix.firebaseTools == '9'
138-
run: yarn test:chrome-headless
118+
- name: ng-build yarn install
119+
run: |
120+
cd ./test/ng-build
121+
yarn --prefer-offline
122+
- name: ng-build prerender
123+
run: |
124+
cd ./test/ng-build
125+
yarn prerender
139126
140-
# TODO dry up
141-
canary:
127+
browser:
142128
runs-on: ${{ matrix.os }}
143-
if: ${{ github.ref == 'refs/heads/master' }}
144-
needs: [ 'build', 'test' ]
129+
needs: build
130+
name: Test ${{ matrix.browser }}
145131
strategy:
146132
matrix:
147133
os: [ ubuntu-latest ]
148-
node: ["14"]
149-
firebase: ["9", "canary", "next"]
150-
firebaseTools: ["9", "10"]
151-
rxjs: ["7"]
152-
ng: ["12", "13", "next"]
153-
exclude:
154-
# standard configurations
155-
- firebase: 9
156-
ng: 12
157-
- firebase: 9
158-
ng: 13
159-
fail-fast: false
160-
name: Canary firebase@${{ matrix.firebase }} firebase-tools@${{ matrix.firebaseTools }} ng@${{ matrix.ng }} rxjs@${{ matrix.rxjs}} on ${{ matrix.os }} Node.js ${{ matrix.node }}
134+
browser: [ chrome-headless, firefox-headless ]
135+
include:
136+
- os: macos-latest
137+
browser: safari
161138
steps:
162139
- name: Checkout
163-
uses: actions/checkout@v2
140+
uses: actions/checkout@v3
164141
- name: Setup node
165-
uses: actions/setup-node@v2-beta
142+
uses: actions/setup-node@v3
166143
with:
167-
node-version: ${{ matrix.node }}
144+
node-version: 16
168145
check-latest: true
146+
- name: Setup java
147+
uses: actions/setup-java@v3
148+
with:
149+
distribution: 'temurin'
150+
java-version: '11'
169151
- name: node_modules cache
170152
id: node_modules_cache
171-
uses: actions/cache@v2
153+
uses: actions/cache@v3
172154
with:
173155
path: ./node_modules
174-
key: ${{ runner.os }}-${{ matrix.node }}-${{ matrix.ng }}-${{ matrix.firebase }}-${{ matrix.firebaseTools }}-${{ matrix.rxjs }}-node_modules-${{ hashFiles('yarn.lock') }}
156+
key: ${{ runner.os }}-${{ matrix.node }}-16-9-12-7-node_modules-${{ hashFiles('yarn.lock') }}
175157
restore-keys: |
176-
${{ runner.os }}-${{ matrix.node }}-${{ matrix.ng }}-${{ matrix.firebase }}-${{ matrix.firebaseTools }}-${{ matrix.rxjs }}-node_modules-
177-
${{ runner.os }}-${{ matrix.node }}-${{ matrix.ng }}-${{ matrix.firebase }}-${{ matrix.firebaseTools }}-
178-
${{ runner.os }}-${{ matrix.node }}-${{ matrix.ng }}-${{ matrix.firebase }}-
179-
${{ runner.os }}-${{ matrix.node }}-${{ matrix.ng }}-
158+
${{ runner.os }}-${{ matrix.node }}-16-9-12-7-node_modules-
159+
${{ runner.os }}-${{ matrix.node }}-16-9-12-
160+
${{ runner.os }}-${{ matrix.node }}-16-9-
161+
${{ runner.os }}-${{ matrix.node }}-16-
180162
${{ runner.os }}-${{ matrix.node }}-
181163
- name: Yarn offline cache
182-
uses: actions/cache@v2
164+
uses: actions/cache@v3
183165
with:
184166
path: ~/.npm-packages-offline-cache
185167
key: yarn-offline-${{ hashFiles('**/yarn.lock') }}
186168
restore-keys: yarn-offline
187169
- name: Configure yarn
188170
run: |
189171
yarn config set yarn-offline-mirror ~/.npm-packages-offline-cache
172+
yarn config set network-timeout 300000
190173
yarn config set ignore-engines true
191174
- name: Yarn install
192175
if: steps.node_modules_cache.outputs.cache-hit != 'true'
193176
run: yarn install --frozen-lockfile --prefer-offline
194-
- name: Bump deps
195-
run: |
196-
yarn add firebase@${{ matrix.firebase }}
197-
yarn add firebase-tools@${{ matrix.firebaseTools }}
198-
yarn add rxjs@${{ matrix.rxjs }} --prefer-offline
199-
npx ng update @angular/core@${{ matrix.ng }} @angular/cli@${{ matrix.ng }} --allow-dirty --force || true
200177
- name: Firebase emulator cache
201-
uses: actions/cache@v2
178+
uses: actions/cache@v3
202179
with:
203180
path: ~/.cache/firebase/emulators
204181
key: firebase_emulators
205182
- name: Download Artifacts
206-
uses: actions/download-artifact@v2
183+
uses: actions/download-artifact@v3
207184
- name: Relocate Artifacts
208185
run: mv angularfire-${{ github.run_id }} dist
209-
- name: Test node
210-
run: |
211-
yarn build:jasmine
212-
yarn test:node
213186
- name: Test browser
214-
if: matrix.os == 'ubuntu-latest' && matrix.node == '14' && matrix.firebaseTools == '9'
215-
run: yarn test:chrome-headless
187+
run: yarn test:${{ matrix.browser }}
216188

217189
contribute:
218190
runs-on: ${{ matrix.os }}
219-
name: Contribute ${{ matrix.os }} on Node.js ${{ matrix.node }}
191+
name: Contribute Node ${{ matrix.node }} (${{ matrix.os }})
220192
strategy:
221193
matrix:
222194
os: [ ubuntu-latest, macos-latest, windows-latest ]
223-
node: ["12", "14", "16"]
224-
exclude:
225-
# we build with this combination, safely skip
226-
- os: ubuntu-latest
227-
node: 14
195+
node: ["16"]
228196
fail-fast: false
229197
steps:
230198
- name: Checkout
231-
uses: actions/checkout@v2
199+
uses: actions/checkout@v3
232200
- name: Setup node
233-
uses: actions/setup-node@v2-beta
201+
uses: actions/setup-node@v3
234202
with:
235203
node-version: ${{ matrix.node }}
236204
check-latest: true
237205
- name: node_modules cache
238-
uses: actions/cache@v2
206+
uses: actions/cache@v3
239207
id: node_modules_cache
240208
with:
241209
path: ./node_modules
@@ -248,7 +216,7 @@ jobs:
248216
${{ runner.os }}-${{ matrix.node }}-
249217
- name: Yarn offline cache
250218
if: steps.node_modules_cache.outputs.cache-hit != 'true'
251-
uses: actions/cache@v2
219+
uses: actions/cache@v3
252220
with:
253221
path: ~/.npm-packages-offline-cache
254222
key: yarn-offline-${{ hashFiles('**/yarn.lock') }}
@@ -257,36 +225,54 @@ jobs:
257225
if: steps.node_modules_cache.outputs.cache-hit != 'true'
258226
run: |
259227
yarn config set yarn-offline-mirror ~/.npm-packages-offline-cache
228+
yarn config set network-timeout 300000
260229
yarn config set ignore-engines true
261230
yarn install --frozen-lockfile --prefer-offline
231+
- name: Lint
232+
run: yarn lint
262233
- name: Build
263234
run: yarn build
264-
- name: Test
265-
# TODO figure out why tests are flaking
266-
continue-on-error: true
267-
run: yarn test
235+
- name: Test Node
236+
run: |
237+
yarn build:jasmine
238+
yarn test:node
239+
- name: Firebase emulator cache
240+
uses: actions/cache@v3
241+
with:
242+
path: ~/.cache/firebase/emulators
243+
key: firebase_emulators
244+
- name: Setup java
245+
uses: actions/setup-java@v3
246+
with:
247+
distribution: 'temurin'
248+
java-version: '11'
249+
- name: Test headless
250+
run: yarn test:chrome-headless
251+
# Tests are flaky on Windows
252+
continue-on-error: ${{ matrix.os == 'windows-latest' }}
268253

269254
# Break the branch protection test into a seperate step, so we can manage the matrix more easily
270255
test_and_contribute:
271256
runs-on: ubuntu-latest
272257
name: Branch protection
273-
needs: ['test', 'contribute']
258+
needs: ['test', 'contribute', 'browser']
274259
steps:
275260
- run: true
276261

277262
publish:
278263
runs-on: ubuntu-latest
279264
name: Publish (NPM)
280-
needs: ['build', 'test']
265+
needs: ['build', 'test', 'browser']
281266
if: ${{ github.ref == 'refs/heads/master' || github.event_name == 'release' }}
282267
steps:
283268
- name: Setup node
284-
uses: actions/setup-node@v2-beta
269+
uses: actions/setup-node@v3
285270
with:
286-
node-version: '14'
271+
node-version: '16'
287272
registry-url: 'https://registry.npmjs.org'
273+
check-latest: true
288274
- name: 'Download Artifacts'
289-
uses: actions/download-artifact@v2
275+
uses: actions/download-artifact@v3
290276
- name: Publish
291277
run: |
292278
cd ./angularfire-${{ github.run_id }}/packages-dist

.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,3 +23,5 @@ angularfire.tgz
2323
unpack.sh
2424
publish.sh
2525
.firebase
26+
.angular
27+
.vscode

0 commit comments

Comments
 (0)