Skip to content

Commit 2be12d7

Browse files
authored
[CI] update chrome install steps for Auth builds. (#7602)
Update the Chrome installation steps to use the new method of installation. This unlocks us to test against the latest and greatest chrome versions. Changes include: * The use of puppeteer to install chrome on the CI VMs. * An update to the chromedriver npm module so that it may be properly configured to use the new Chrome download URLs. * An update of node from v14 to v16 for all CI runners. The latest version of Chrome Driver requires at v16+. * The addition of `--npm-path npm` to all `run-s` and `run-p` invocations, as they otherwise fail when invoked via `npx` on node v16. * Removed the installation of chrome in the `Test Auth on Firefox If Changed` in `test-changed-auth.yml` as it seemed like it seemed superfluous.
1 parent e5b96d7 commit 2be12d7

File tree

36 files changed

+132
-144
lines changed

36 files changed

+132
-144
lines changed

.github/workflows/test-all.yml

Lines changed: 10 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,10 @@ on:
77
env:
88
# make chromedriver detect installed Chrome version and download the corresponding driver
99
DETECT_CHROMEDRIVER_VERSION: true
10+
# The default behavior of chromedriver uses the older Chrome download URLs. We need to override
11+
# the beahvior to use the new URLs.
12+
CHROMEDRIVER_CDNURL: https://googlechromelabs.github.io/
13+
CHROMEDRIVER_CDNBINARIESURL: https://edgedl.me.gvt1.com/edgedl/chrome/chrome-for-testing/
1014
artifactRetentionDays: 14
1115

1216
jobs:
@@ -17,14 +21,8 @@ jobs:
1721
# Install Chrome so the correct version of webdriver can be installed by chromedriver when
1822
# setting up the repo. This must be done to build and execute Auth properly.
1923
- name: install Chrome stable
20-
# Pin Chrome version 114.0.5735.90-1 to avoid install failures like "No such object: chromedriver/LATEST_RELEASE_115.0.5790".
21-
# The failure happens because https://chromedriver.chromium.org/downloads only goes up to version 114.
22-
# TODO(b/297380444) Update script to install the latest Chrome and ChromeDriver.
2324
run: |
24-
sudo apt-get update
25-
sudo apt-get install wget
26-
sudo wget http://dl.google.com/linux/chrome/deb/pool/main/g/google-chrome-stable/google-chrome-stable_114.0.5735.90-1_amd64.deb
27-
sudo apt-get install -f ./google-chrome-stable_114.0.5735.90-1_amd64.deb --allow-downgrades
25+
npx @puppeteer/browsers install chrome@stable
2826
- uses: actions/checkout@v3
2927
- name: Set up Node (16)
3028
uses: actions/setup-node@v3
@@ -101,16 +99,11 @@ jobs:
10199
needs: build
102100
runs-on: ubuntu-latest
103101
steps:
104-
# install Chrome so the correct version of webdriver can be installed by chromedriver when setting up the repo
105-
- name: install Chrome stable
106-
# Pin Chrome version 114.0.5735.90-1 to avoid install failures like "No such object: chromedriver/LATEST_RELEASE_115.0.5790".
107-
# The failure happens because https://chromedriver.chromium.org/downloads only goes up to version 114.
108-
# TODO(b/297380444) Update script to install the latest Chrome and ChromeDriver.
109-
run: |
110-
sudo apt-get update
111-
sudo apt-get install wget
112-
sudo wget http://dl.google.com/linux/chrome/deb/pool/main/g/google-chrome-stable/google-chrome-stable_114.0.5735.90-1_amd64.deb
113-
sudo apt-get install -f ./google-chrome-stable_114.0.5735.90-1_amd64.deb --allow-downgrades
102+
# install Chrome first, so the correct version of webdriver can be installed by chromedriver
103+
# when setting up the repo
104+
- name: install Chrome stable
105+
run: |
106+
npx @puppeteer/browsers install chrome@stable
114107
- name: Download build archive
115108
uses: actions/download-artifact@v3
116109
with:

.github/workflows/test-changed-auth.yml

Lines changed: 11 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -5,32 +5,31 @@ on: pull_request
55
env:
66
# make chromedriver detect installed Chrome version and download the corresponding driver
77
DETECT_CHROMEDRIVER_VERSION: true
8+
# The default behavior of chromedriver uses the older Chrome download URLs. We need to override
9+
# the beahvior to use the new URLs.
10+
CHROMEDRIVER_CDNURL: https://googlechromelabs.github.io/
11+
CHROMEDRIVER_CDNBINARIESURL: https://edgedl.me.gvt1.com/edgedl/chrome/chrome-for-testing/
812

913
jobs:
1014
test-chrome:
1115
name: Test Auth on Chrome and Node If Changed
1216
runs-on: ubuntu-latest
1317

1418
steps:
15-
# install Chrome first, so the correct version of webdriver can be installed by chromedriver when setting up the repo
19+
# install Chrome first, so the correct version of webdriver can be installed by chromedriver
20+
# when setting up the repo
1621
- name: install Chrome stable
17-
# Pin Chrome version 114.0.5735.90-1 to avoid install failures like "No such object: chromedriver/LATEST_RELEASE_115.0.5790".
18-
# The failure happens because https://chromedriver.chromium.org/downloads only goes up to version 114.
19-
# TODO(b/297380444) Update script to install the latest Chrome and ChromeDriver.
2022
run: |
21-
sudo apt-get update
22-
sudo apt-get install wget
23-
sudo wget http://dl.google.com/linux/chrome/deb/pool/main/g/google-chrome-stable/google-chrome-stable_114.0.5735.90-1_amd64.deb
24-
sudo apt-get install -f ./google-chrome-stable_114.0.5735.90-1_amd64.deb --allow-downgrades
23+
npx @puppeteer/browsers install chrome@stable
2524
- name: Checkout Repo
2625
uses: actions/checkout@master
2726
with:
2827
# This makes Actions fetch all Git history so run-changed script can diff properly.
2928
fetch-depth: 0
30-
- name: Set up Node (14)
29+
- name: Set up Node (16)
3130
uses: actions/setup-node@v3
3231
with:
33-
node-version: 14.x
32+
node-version: 16.x
3433
- name: Bump Node memory limit
3534
run: echo "NODE_OPTIONS=--max_old_space_size=4096" >> $GITHUB_ENV
3635
- name: Test setup and yarn install
@@ -49,27 +48,22 @@ jobs:
4948

5049
runs-on: ubuntu-20.04
5150

52-
# Pin Chrome version 114.0.5735.90-1 to avoid install failures like "No such object: chromedriver/LATEST_RELEASE_115.0.5790".
53-
# The failure happens because https://chromedriver.chromium.org/downloads only goes up to version 114.
54-
# TODO(b/297380444) Update script to install the latest Chrome and ChromeDriver.
5551
steps:
5652
- name: install Firefox stable
5753
run: |
5854
sudo apt-get update
5955
sudo apt-get install firefox
6056
sudo apt-get install wget
61-
sudo wget http://dl.google.com/linux/chrome/deb/pool/main/g/google-chrome-stable/google-chrome-stable_114.0.5735.90-1_amd64.deb
62-
sudo apt-get install -f ./google-chrome-stable_114.0.5735.90-1_amd64.deb --allow-downgrades
6357
6458
- name: Checkout Repo
6559
uses: actions/checkout@master
6660
with:
6761
# This makes Actions fetch all Git history so run-changed script can diff properly.
6862
fetch-depth: 0
69-
- name: Set up Node (14)
63+
- name: Set up Node (16)
7064
uses: actions/setup-node@v3
7165
with:
72-
node-version: 14.x
66+
node-version: 16.x
7367
- name: Bump Node memory limit
7468
run: echo "NODE_OPTIONS=--max_old_space_size=4096" >> $GITHUB_ENV
7569
- name: Test setup and yarn install

.github/workflows/test-changed-fcm-integration.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,10 +22,10 @@ jobs:
2222
with:
2323
# This makes Actions fetch all Git history so run-changed script can diff properly.
2424
fetch-depth: 0
25-
- name: Set up Node (14)
25+
- name: Set up Node (16)
2626
uses: actions/setup-node@v3
2727
with:
28-
node-version: 14.x
28+
node-version: 16.x
2929
- name: Bump Node memory limit
3030
run: echo "NODE_OPTIONS=--max_old_space_size=4096" >> $GITHUB_ENV
3131
- name: Test setup and yarn install

.github/workflows/test-changed-firestore-integration.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,10 +13,10 @@ jobs:
1313
with:
1414
# This makes Actions fetch all Git history so run-changed script can diff properly.
1515
fetch-depth: 0
16-
- name: Set up Node (14)
16+
- name: Set up Node (16)
1717
uses: actions/setup-node@v3
1818
with:
19-
node-version: 14.x
19+
node-version: 16.x
2020
- name: install Chrome stable
2121
run: |
2222
sudo apt-get update

.github/workflows/test-changed-firestore.yml

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -19,10 +19,10 @@ jobs:
1919
with:
2020
# This makes Actions fetch all Git history so run-changed script can diff properly.
2121
fetch-depth: 0
22-
- name: Set up Node (14)
22+
- name: Set up Node (16)
2323
uses: actions/setup-node@v3
2424
with:
25-
node-version: 14.x
25+
node-version: 16.x
2626
- name: install Chrome stable
2727
run: |
2828
sudo apt-get update
@@ -68,10 +68,10 @@ jobs:
6868
needs: build
6969
if: ${{ needs.build.outputs.changed == 'true'}}
7070
steps:
71-
- name: Set up Node (14)
71+
- name: Set up Node (16)
7272
uses: actions/setup-node@v3
7373
with:
74-
node-version: 14.x
74+
node-version: 16.x
7575
- name: install Chrome stable
7676
run: |
7777
sudo apt-get update
@@ -98,10 +98,10 @@ jobs:
9898
needs: build
9999
if: ${{ needs.build.outputs.changed == 'true'}}
100100
steps:
101-
- name: Set up Node (14)
101+
- name: Set up Node (16)
102102
uses: actions/setup-node@v3
103103
with:
104-
node-version: 14.x
104+
node-version: 16.x
105105
- name: install Chrome stable
106106
run: |
107107
sudo apt-get update
@@ -132,10 +132,10 @@ jobs:
132132
run: |
133133
sudo apt-get update
134134
sudo apt-get install firefox
135-
- name: Set up Node (14)
135+
- name: Set up Node (16)
136136
uses: actions/setup-node@v3
137137
with:
138-
node-version: 14.x
138+
node-version: 16.x
139139
- name: Download build archive
140140
uses: actions/download-artifact@v3
141141
with:
@@ -173,10 +173,10 @@ jobs:
173173
name: build.tar.gz
174174
- name: Unzip build artifact
175175
run: tar xf build.tar.gz
176-
- name: Set up Node (14)
176+
- name: Set up Node (16)
177177
uses: actions/setup-node@v3
178178
with:
179-
node-version: 14.x
179+
node-version: 16.x
180180
- name: Bump Node memory limit
181181
run: echo "NODE_OPTIONS=--max_old_space_size=4096" >> $GITHUB_ENV
182182
- name: Test setup and yarn install

.github/workflows/test-changed.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,10 +13,10 @@ jobs:
1313
with:
1414
# This makes Actions fetch all Git history so run-changed script can diff properly.
1515
fetch-depth: 0
16-
- name: Set up Node (14)
16+
- name: Set up Node (16)
1717
uses: actions/setup-node@v3
1818
with:
19-
node-version: 14.x
19+
node-version: 16.x
2020
- name: install Chrome stable
2121
run: |
2222
sudo apt-get update
@@ -44,10 +44,10 @@ jobs:
4444
uses: actions/checkout@master
4545
with:
4646
fetch-depth: 0
47-
- name: Set up Node (14)
47+
- name: Set up Node (16)
4848
uses: actions/setup-node@v3
4949
with:
50-
node-version: 14.x
50+
node-version: 16.x
5151
- name: install Firefox stable
5252
run: |
5353
sudo apt-get update

.github/workflows/test-firebase-integration.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,10 +13,10 @@ jobs:
1313
with:
1414
# This makes Actions fetch all Git history so run-changed script can diff properly.
1515
fetch-depth: 0
16-
- name: Set up Node (14)
16+
- name: Set up Node (16)
1717
uses: actions/setup-node@v3
1818
with:
19-
node-version: 14.x
19+
node-version: 16.x
2020
- name: install Chrome stable
2121
run: |
2222
sudo apt-get update

integration/messaging/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
"devDependencies": {
1212
"firebase": "10.3.1",
1313
"chai": "4.3.7",
14-
"chromedriver": "98.0.1",
14+
"chromedriver": "114.0.2",
1515
"express": "4.18.2",
1616
"geckodriver": "2.0.4",
1717
"mocha": "9.2.2",

packages/analytics-compat/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@
4545
"build:deps": "lerna run --scope @firebase/analytics-compat --include-dependencies build",
4646
"build:release": "yarn build && yarn add-compat-overloads",
4747
"dev": "rollup -c -w",
48-
"test": "run-p lint test:browser",
48+
"test": "run-p --npm-path npm lint test:browser",
4949
"test:ci": "node ../../scripts/run_tests_in_ci.js -s test:browser",
5050
"test:browser": "karma start --single-run",
5151
"test:browser:debug": "karma start --browsers=Chrome --auto-watch",

packages/analytics/package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,8 +26,8 @@
2626
"build:release": "yarn build && yarn typings:public",
2727
"build:deps": "lerna run --scope @firebase/analytics --include-dependencies build",
2828
"dev": "rollup -c -w",
29-
"test": "run-p lint test:all",
30-
"test:all": "run-p test:browser test:integration",
29+
"test": "run-p --npm-path npm lint test:all",
30+
"test:all": "run-p --npm-path npm test:browser test:integration",
3131
"test:ci": "node ../../scripts/run_tests_in_ci.js -s test:all",
3232
"test:browser": "karma start --single-run --nocache",
3333
"test:integration": "karma start ./karma.integration.conf.js --single-run --nocache",

0 commit comments

Comments
 (0)