|
90 | 90 | - name: Set start timestamp env var
|
91 | 91 | run: echo "FIREBASE_CI_TEST_START_TIME=$(date +%s)" >> $GITHUB_ENV
|
92 | 92 | - name: Run unit tests
|
93 |
| - # Ignore auth and firestore since they're handled in their own separate jobs. |
| 93 | + # Ignore auth data-connect and firestore since they're handled in their own separate jobs. |
94 | 94 | run: |
|
95 |
| - xvfb-run yarn lerna run --ignore '{firebase-messaging-integration-test,@firebase/auth*,@firebase/firestore*,firebase-firestore-integration-test}' test:ci |
| 95 | + xvfb-run yarn lerna run --ignore '{firebase-messaging-integration-test,@firebase/auth*,@firebase/data-connect*,@firebase/firestore*,firebase-firestore-integration-test}' test:ci |
96 | 96 | node scripts/print_test_logs.js
|
97 | 97 | env:
|
98 | 98 | FIREBASE_TOKEN: ${{ secrets.FIREBASE_CLI_TOKEN }}
|
@@ -154,6 +154,68 @@ jobs:
|
154 | 154 | github-token: ${{ secrets.GITHUB_TOKEN }}
|
155 | 155 | path-to-lcov: ./lcov-all.info
|
156 | 156 | continue-on-error: true
|
| 157 | + test-data-connect: |
| 158 | + name: (Data Connect) Node.js and Browser (Chrome) Tests |
| 159 | + needs: build |
| 160 | + services: |
| 161 | + postgres: |
| 162 | + image: postgres |
| 163 | + env: |
| 164 | + POSTGRES_PASSWORD: postgres |
| 165 | + options: >- |
| 166 | + --health-cmd pg_isready |
| 167 | + --health-interval 10s |
| 168 | + --health-timeout 5s |
| 169 | + --health-retries 5 |
| 170 | + name: Test Firebase Namespace |
| 171 | + runs-on: ubuntu-latest |
| 172 | + runs-on: ubuntu-latest |
| 173 | + steps: |
| 174 | + # install Chrome first, so the correct version of webdriver can be installed by chromedriver |
| 175 | + # when setting up the repo |
| 176 | + - name: install Chrome stable |
| 177 | + run: | |
| 178 | + npx @puppeteer/browsers install chrome@stable |
| 179 | + chromeVersionString=$(ls chrome) |
| 180 | + if [ "$CHROME_VALIDATED_VERSION" != "$chromeVersionString" ]; then |
| 181 | + echo "::warning ::The Chrome version doesn't match the previously validated version. Consider updating CHROME_VALIDATED_VERSION in the GitHub workflow if tests pass." |
| 182 | + echo "::warning ::Previously validated version: ${CHROME_VALIDATED_VERSION} vs. Installed version: $chromeVersionString" |
| 183 | + echo "CHROME_VERSION_NOTES=$CHROME_VERSION_MISMATCH_MESSAGE" >> "$GITHUB_ENV" |
| 184 | + fi |
| 185 | + - name: Test Evn TEMP |
| 186 | + run: | |
| 187 | + echo $CHROME_VERSION_NOTES=$CHROME_VERSION_MISMATCH_MESSAGE |
| 188 | + - name: Download build archive |
| 189 | + uses: actions/download-artifact@v4 |
| 190 | + with: |
| 191 | + name: build.tar.gz |
| 192 | + - name: Unzip build artifact |
| 193 | + run: tar xf build.tar.gz |
| 194 | + - name: Set up Node (20) |
| 195 | + uses: actions/setup-node@v4 |
| 196 | + with: |
| 197 | + node-version: 22.10.0 |
| 198 | + - name: Test setup and yarn install |
| 199 | + run: | |
| 200 | + cp config/ci.config.json config/project.json |
| 201 | + yarn |
| 202 | + - name: Set start timestamp env var |
| 203 | + run: echo "FIREBASE_CI_TEST_START_TIME=$(date +%s)" >> $GITHUB_ENV |
| 204 | + - name: Run unit tests |
| 205 | + run: | |
| 206 | + xvfb-run yarn lerna run test:ci --scope '@firebase/data-connect*' |
| 207 | + node scripts/print_test_logs.js |
| 208 | + env: |
| 209 | + FIREBASE_TOKEN: ${{ secrets.FIREBASE_CLI_TOKEN }} |
| 210 | + POSTGRES_PASSWORD: postgres |
| 211 | + - name: Generate coverage file |
| 212 | + run: yarn ci:coverage |
| 213 | + - name: Run coverage |
| 214 | + uses: coverallsapp/github-action@master |
| 215 | + with: |
| 216 | + github-token: ${{ secrets.GITHUB_TOKEN }} |
| 217 | + path-to-lcov: ./lcov-all.info |
| 218 | + continue-on-error: true |
157 | 219 |
|
158 | 220 | test-firestore:
|
159 | 221 | name: (Firestore) Node.js and Browser (Chrome) Tests
|
|
0 commit comments