@@ -49,21 +49,57 @@ jobs:
49
49
- name : install Chrome stable
50
50
run : |
51
51
npx @puppeteer/browsers install chrome@stable
52
- - name : Test setup and yarn install
52
+ - name : Test setup
53
53
run : |
54
54
cp config/ci.config.json config/project.json
55
- yarn
56
55
- name : yarn build
57
56
run : yarn build
58
57
- name : Archive build
59
58
if : ${{ !cancelled() }}
60
59
run : |
61
- tar -cf build.tar --exclude=.git .
62
- gzip build.tar
60
+ tar -czvf dists.tar.gz $(find packages -name dist -type d)
63
61
- name : Upload build archive
64
62
if : ${{ !cancelled() }}
65
63
uses : actions/upload-artifact@v4
66
64
with :
67
- name : build.tar.gz
68
- path : build.tar.gz
69
- retention-days : ${{ env.artifactRetentionDays }}
65
+ name : dists.tar.gz
66
+ path : dists.tar.gz
67
+ retention-days : ${{ env.artifactRetentionDays }}
68
+
69
+ test-the-rest :
70
+ name : (bulk) Node.js and Browser (Chrome) Tests
71
+ needs : build
72
+ runs-on : ubuntu-latest
73
+ steps :
74
+ # install Chrome first, so the correct version of webdriver can be installed by chromedriver when setting up the repo
75
+ - name : install Chrome stable
76
+ run : |
77
+ npx @puppeteer/browsers install chrome@stable
78
+ - name : Download build archive
79
+ uses : actions/download-artifact@v4
80
+ with :
81
+ name : dists.tar.gz
82
+ - name : Unzip build artifact
83
+ run : tar xf dists.tar.gz
84
+ - uses : actions/setup-node@v4
85
+ with :
86
+ node-version-file : ' .nvmrc'
87
+ - name : Restore cached node_modules
88
+ uses : actions/cache@v4
89
+ id : node_modules
90
+ with :
91
+ path : " **/node_modules"
92
+ key : node_modules-${{ runner.arch }}-${{ runner.os }}-${{ hashFiles('yarn.lock') }}
93
+ - run : yarn install --frozen-lockfile
94
+ - name : Test setup
95
+ run : |
96
+ cp config/ci.config.json config/project.json
97
+ - name : Set start timestamp env var
98
+ run : echo "FIREBASE_CI_TEST_START_TIME=$(date +%s)" >> $GITHUB_ENV
99
+ - name : Run unit tests
100
+ # Ignore auth and firestore since they're handled in their own separate jobs.
101
+ run : |
102
+ xvfb-run yarn lerna run --ignore '{firebase-messaging-integration-test,@firebase/auth*,@firebase/firestore*,firebase-firestore-integration-test}' test:ci
103
+ node scripts/print_test_logs.js
104
+ env :
105
+ FIREBASE_TOKEN : ${{ secrets.FIREBASE_CLI_TOKEN }}
0 commit comments