From 6c922d2f6cc79fd188f94eb9285e79d096b82163 Mon Sep 17 00:00:00 2001 From: Max Schmitt Date: Tue, 26 Apr 2022 16:59:47 +0200 Subject: [PATCH] devops: align Node.js versions on CI and add 16/18 bots (#13759) --- .github/workflows/component_tests.yml | 2 ++ .github/workflows/publish_canary.yml | 2 +- .../workflows/publish_release_traceviewer.yml | 2 +- .../roll_browser_into_playwright.yml | 2 +- .github/workflows/tests_android.yml | 2 +- .github/workflows/tests_primary.yml | 19 +++++++++++++++---- 6 files changed, 21 insertions(+), 8 deletions(-) diff --git a/.github/workflows/component_tests.yml b/.github/workflows/component_tests.yml index a86042d2e1..7efc89ccf4 100644 --- a/.github/workflows/component_tests.yml +++ b/.github/workflows/component_tests.yml @@ -28,7 +28,9 @@ jobs: - uses: actions/checkout@v2 - uses: actions/setup-node@v2 with: + # Component tests require Node.js 16+ (they require ESM via TS) node-version: 16 + - run: npm i -g npm@8.3 - run: npm ci - run: npm run build - run: npx playwright install --with-deps diff --git a/.github/workflows/publish_canary.yml b/.github/workflows/publish_canary.yml index 9463dac31a..86c4c48b67 100644 --- a/.github/workflows/publish_canary.yml +++ b/.github/workflows/publish_canary.yml @@ -72,7 +72,7 @@ jobs: - uses: actions/checkout@v2 - uses: actions/setup-node@v2 with: - node-version: 18 + node-version: 14 - run: npm i -g npm@7 - name: Deploy Canary run: bash utils/build/deploy-trace-viewer.sh --canary diff --git a/.github/workflows/publish_release_traceviewer.yml b/.github/workflows/publish_release_traceviewer.yml index 78da073236..1c53b1c520 100644 --- a/.github/workflows/publish_release_traceviewer.yml +++ b/.github/workflows/publish_release_traceviewer.yml @@ -13,7 +13,7 @@ jobs: - uses: actions/checkout@v2 - uses: actions/setup-node@v2 with: - node-version: 18 + node-version: 14 - run: npm i -g npm@7 - name: Deploy Stable run: bash utils/build/deploy-trace-viewer.sh --stable diff --git a/.github/workflows/roll_browser_into_playwright.yml b/.github/workflows/roll_browser_into_playwright.yml index 992c4bab96..1ef16d8bdb 100644 --- a/.github/workflows/roll_browser_into_playwright.yml +++ b/.github/workflows/roll_browser_into_playwright.yml @@ -11,7 +11,7 @@ jobs: - uses: actions/checkout@v2 - uses: actions/setup-node@v2 with: - node-version: 18 + node-version: 14 - run: npm i -g npm@8.3 - run: npm ci - run: npm run build diff --git a/.github/workflows/tests_android.yml b/.github/workflows/tests_android.yml index ace8e8a2a2..ab100231a5 100644 --- a/.github/workflows/tests_android.yml +++ b/.github/workflows/tests_android.yml @@ -32,7 +32,7 @@ jobs: - uses: actions/checkout@v2 - uses: actions/setup-node@v2 with: - node-version: 16 + node-version: 14 - run: npm i -g npm@8.3 - run: npm ci env: diff --git a/.github/workflows/tests_primary.yml b/.github/workflows/tests_primary.yml index 34a5c033bf..f5d4c075d1 100644 --- a/.github/workflows/tests_primary.yml +++ b/.github/workflows/tests_primary.yml @@ -26,18 +26,26 @@ env: jobs: test_linux: - name: ${{ matrix.os }} (${{ matrix.browser }}) + name: ${{ matrix.os }} (${{ matrix.browser }} - Node.js ${{ matrix.node-version }}) strategy: fail-fast: false matrix: browser: [chromium, firefox, webkit] os: [ubuntu-20.04] + node-version: [14] + include: + - os: ubuntu-20.04 + node-version: 16 + browser: chromium + - os: ubuntu-20.04 + node-version: 18 + browser: chromium runs-on: ${{ matrix.os }} steps: - uses: actions/checkout@v2 - uses: actions/setup-node@v2 with: - node-version: 14 + node-version: ${{ matrix.node-version }} - run: npm i -g npm@8.3 - run: npm ci env: @@ -123,7 +131,8 @@ jobs: - uses: actions/checkout@v2 - uses: actions/setup-node@v2 with: - node-version: 18 + # ESM tests rely on the experimental loader in Node.js 16+ + node-version: 16 - run: npm i -g npm@8.3 - run: npm ci env: @@ -139,7 +148,9 @@ jobs: - uses: actions/checkout@v2 - uses: actions/setup-node@v2 with: - node-version: 18 + # Component tests require Node.js 16+ (they require ESM via TS) + node-version: 16 + - run: npm i -g npm@8.3 - run: npm ci env: DEBUG: pw:install