From 2ba20c9d7628b22f0fa3ab883daee51ffc2665ba Mon Sep 17 00:00:00 2001 From: Priya Gupta <147705955+priyagupta108@users.noreply.github.com> Date: Fri, 3 Oct 2025 16:27:25 +0530 Subject: [PATCH 1/2] Update versions.yml --- .github/workflows/versions.yml | 38 +++++++++++++++++----------------- 1 file changed, 19 insertions(+), 19 deletions(-) diff --git a/.github/workflows/versions.yml b/.github/workflows/versions.yml index ba56f66..48ef125 100644 --- a/.github/workflows/versions.yml +++ b/.github/workflows/versions.yml @@ -6,7 +6,7 @@ on: - '**.md' push: branches: - - main + - macos-15-x64-runner-test - releases/* paths-ignore: - '**.md' @@ -17,8 +17,8 @@ jobs: strategy: fail-fast: false matrix: - os: [ubuntu-latest, windows-latest, macos-latest, macos-13] - node-version: [18, 20, 22, 24] + os: [ubuntu-latest, windows-latest, macos-latest, macos-latest-large] + node-version: [20, 22, 24] steps: - uses: actions/checkout@v5 - name: Setup Node @@ -34,7 +34,7 @@ jobs: strategy: fail-fast: false matrix: - os: [ubuntu-latest, windows-latest, macos-13] + os: [ubuntu-latest, windows-latest, macos-latest-large] node-version: [lts/dubnium, lts/erbium, lts/fermium, lts/*, lts/-1] steps: - uses: actions/checkout@v5 @@ -56,7 +56,7 @@ jobs: strategy: fail-fast: false matrix: - os: [ubuntu-latest, windows-latest, macos-latest, macos-13] + os: [ubuntu-latest, windows-latest, macos-latest, macos-latest-large] node-version: [ '20-v8-canary', @@ -81,8 +81,8 @@ jobs: strategy: fail-fast: false matrix: - os: [ubuntu-latest, windows-latest, macos-latest, macos-13] - node-version: [20-nightly, 21-nightly, 18.0.0-nightly] + os: [ubuntu-latest, windows-latest, macos-latest, macos-latest-large] + node-version: [20-nightly, 25-nightly, 24.0.0-nightly] steps: - uses: actions/checkout@v5 - name: Setup Node @@ -101,8 +101,8 @@ jobs: strategy: fail-fast: false matrix: - os: [ubuntu-latest, windows-latest, macos-latest, macos-13] - node-version: [20.0.0-rc.1, 18.0.0-rc.2, 19.0.0-rc.0] + os: [ubuntu-latest, windows-latest, macos-latest, macos-latest-large] + node-version: [20.0.0-rc.1, 22.14.0-rc.1, 24.0.0-rc.4] steps: - uses: actions/checkout@v5 - name: Setup Node @@ -121,8 +121,8 @@ jobs: strategy: fail-fast: false matrix: - os: [ubuntu-latest, windows-latest, macos-latest, macos-13] - node-version: [18.20.0, 20.10.0, 22.0.0] + os: [ubuntu-latest, windows-latest, macos-latest, macos-latest-large] + node-version: [20.10.0, 22.0.0, 24.9.0] steps: - uses: actions/checkout@v5 - name: Setup Node @@ -138,8 +138,8 @@ jobs: strategy: fail-fast: false matrix: - os: [ubuntu-latest, windows-latest, macos-latest, macos-13] - node-version: [18, 20, 22, 24] + os: [ubuntu-latest, windows-latest, macos-latest, macos-latest-large] + node-version: [20, 22, 24] steps: - uses: actions/checkout@v5 - name: Setup Node and check latest @@ -156,7 +156,7 @@ jobs: strategy: fail-fast: false matrix: - os: [ubuntu-latest, windows-latest, macos-latest, macos-13] + os: [ubuntu-latest, windows-latest, macos-latest, macos-latest-large] node-version-file: [.nvmrc, .tool-versions, .tool-versions-node, package.json] steps: @@ -173,7 +173,7 @@ jobs: strategy: fail-fast: false matrix: - os: [ubuntu-latest, windows-latest, macos-latest, macos-13] + os: [ubuntu-latest, windows-latest, macos-latest, macos-latest-large] steps: - uses: actions/checkout@v5 - name: Setup node from node version file @@ -188,7 +188,7 @@ jobs: strategy: fail-fast: false matrix: - os: [ubuntu-latest, windows-latest, macos-latest, macos-13] + os: [ubuntu-latest, windows-latest, macos-latest, macos-latest-large] steps: - uses: actions/checkout@v5 - name: Setup node from node version file @@ -203,7 +203,7 @@ jobs: strategy: fail-fast: false matrix: - os: [ubuntu-latest, windows-latest, macos-latest, macos-13] + os: [ubuntu-latest, windows-latest, macos-latest, macos-latest-large] node-version: [17, 19] steps: - uses: actions/checkout@v5 @@ -220,7 +220,7 @@ jobs: strategy: fail-fast: false matrix: - os: [ubuntu-latest, windows-latest, macos-13] + os: [ubuntu-latest, windows-latest, macos-latest-large] steps: - uses: actions/checkout@v5 # test old versions which didn't have npm and layout different @@ -250,7 +250,7 @@ jobs: strategy: fail-fast: false matrix: - os: [ubuntu-latest, windows-latest, macos-latest, macos-13] + os: [ubuntu-latest, windows-latest, macos-latest, macos-latest-large] node-version: [current, latest, node] steps: - name: Get node version From 70df948295c1a1efd54e3e0548fa4f29d9a6d501 Mon Sep 17 00:00:00 2001 From: Priya Gupta <147705955+priyagupta108@users.noreply.github.com> Date: Fri, 3 Oct 2025 16:30:51 +0530 Subject: [PATCH 2/2] Update CI workflow for Node.js and caching --- .github/workflows/e2e-cache.yml | 68 ++++++++++++++++++++++++--------- 1 file changed, 51 insertions(+), 17 deletions(-) diff --git a/.github/workflows/e2e-cache.yml b/.github/workflows/e2e-cache.yml index f1c1868..684794b 100644 --- a/.github/workflows/e2e-cache.yml +++ b/.github/workflows/e2e-cache.yml @@ -6,7 +6,7 @@ on: - '**.md' push: branches: - - main + - macos-15-x64-runner-test - releases/* paths-ignore: - '**.md' @@ -18,8 +18,8 @@ jobs: strategy: fail-fast: false matrix: - os: [ubuntu-latest, windows-latest, macos-latest, macos-13] - node-version: [18, 20, 22, 24] + os: [ubuntu-latest, windows-latest, macos-latest, macos-latest-large] + node-version: [20, 22, 24] steps: - uses: actions/checkout@v5 - name: Clean global cache @@ -41,8 +41,8 @@ jobs: strategy: fail-fast: false matrix: - os: [ubuntu-latest, windows-latest, macos-latest, macos-13] - node-version: [18, 20, 22, 24] + os: [ubuntu-latest, windows-latest, macos-latest, macos-latest-large] + node-version: [20, 22, 24] steps: - uses: actions/checkout@v5 - name: Install pnpm @@ -74,8 +74,8 @@ jobs: strategy: fail-fast: false matrix: - os: [ubuntu-latest, windows-latest, macos-latest, macos-13] - node-version: [18, 20, 24] + os: [ubuntu-latest, windows-latest, macos-latest, macos-latest-large] + node-version: [20, 22, 24] steps: - uses: actions/checkout@v5 - name: Yarn version @@ -106,8 +106,8 @@ jobs: strategy: fail-fast: false matrix: - os: [ubuntu-latest, windows-latest, macos-latest, macos-13] - node-version: [18, 20, 22, 24] + os: [ubuntu-latest, windows-latest, macos-latest, macos-latest-large] + node-version: [20, 22, 24] steps: - uses: actions/checkout@v5 - name: Update yarn @@ -139,7 +139,7 @@ jobs: name: Test yarn subprojects strategy: matrix: - node-version: [18, 20, 22, 24] + node-version: [20, 22, 24] runs-on: ubuntu-latest steps: @@ -166,7 +166,7 @@ jobs: name: Test yarn subprojects all locally managed strategy: matrix: - node-version: [18, 20, 22, 24] + node-version: [20, 22, 24] runs-on: ubuntu-latest steps: @@ -193,7 +193,7 @@ jobs: name: Test yarn subprojects some locally managed strategy: matrix: - node-version: [18, 20, 22, 24] + node-version: [20, 22, 24] runs-on: ubuntu-latest steps: @@ -220,7 +220,7 @@ jobs: name: Test yarn subprojects managed by git strategy: matrix: - node-version: [18, 20, 22, 24] + node-version: [20, 22, 24] runs-on: ubuntu-latest steps: @@ -244,14 +244,14 @@ jobs: sub2/*.lock sub3/*.lock - node-npm-package-manager-cache: - name: Test enabling cache if package manager field is present (Node ${{ matrix.node-version }}, ${{ matrix.os }}) + node-npm-packageManager-auto-cache: + name: Test auto cache with top-level packageManager runs-on: ${{ matrix.os }} strategy: fail-fast: false matrix: - os: [ubuntu-latest, windows-latest, macos-latest, macos-13] - node-version: [18, 20, 22] + os: [ubuntu-latest, windows-latest, macos-latest, macos-latest-large] + node-version: [20, 22, 24] steps: - uses: actions/checkout@v5 - name: Create package.json with packageManager field @@ -268,3 +268,37 @@ jobs: - name: Verify node and npm run: __tests__/verify-node.sh "${{ matrix.node-version }}" shell: bash + + node-npm-devEngines-auto-cache: + name: Test auto cache with devEngines.packageManager + runs-on: ${{ matrix.os }} + strategy: + fail-fast: false + matrix: + os: [ubuntu-latest, windows-latest, macos-latest, macos-latest-large] + node-version: [20, 22, 24] + steps: + - uses: actions/checkout@v5 + - name: Create package.json with devEngines field + run: | + echo '{ + "name": "test-project", + "version": "1.0.0", + "devEngines": { + "packageManager": { + "name": "npm", + "onFail": "error" + } + } + }' > package.json + - name: Clean global cache + run: npm cache clean --force + - name: Setup Node with caching enabled + uses: ./ + with: + node-version: ${{ matrix.node-version }} + - name: Install dependencies + run: npm install + - name: Verify node and npm + run: __tests__/verify-node.sh "${{ matrix.node-version }}" + shell: bash