This is an automated email from the ASF dual-hosted git repository.

kou pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/arrow-js.git


The following commit(s) were added to refs/heads/main by this push:
     new fde7502  ci: update Node.js actions to 24 and test matrix to [20, 24] 
(#411)
fde7502 is described below

commit fde7502009cc9962c91c203c9f22e1171c394580
Author: Kent Wu <[email protected]>
AuthorDate: Fri Mar 13 23:05:28 2026 -0400

    ci: update Node.js actions to 24 and test matrix to [20, 24] (#411)
    
    ## What's Changed
    
    Node.js 20 LTS reaches end-of-life on April 30, 2026.
    
    This PR updates Node.js usage in CI to 24, and updates the test matrix
    for node to [20, 24].
    
    This ensures we test the current active LTS (24) and oldest maintenance
    LTS (20).
    
    See: https://nodejs.org/en/about/previous-releases#release-schedule
    
    Closes #410
---
 .env                        |  2 +-
 .github/workflows/rc.yaml   |  4 ++--
 .github/workflows/test.yaml | 17 +++++++++++------
 3 files changed, 14 insertions(+), 9 deletions(-)

diff --git a/.env b/.env
index b339ad8..2e16546 100644
--- a/.env
+++ b/.env
@@ -37,4 +37,4 @@ ARCH=amd64
 DEBIAN_CODE_NAME=bookworm
 
 # Default versions for various dependencies
-NODE=20
+NODE=24
diff --git a/.github/workflows/rc.yaml b/.github/workflows/rc.yaml
index c18ed0e..05fdeba 100644
--- a/.github/workflows/rc.yaml
+++ b/.github/workflows/rc.yaml
@@ -103,7 +103,7 @@ jobs:
       - uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f # 
v6.3.0
         with:
           cache: npm
-          node-version: 20
+          node-version: 24
       - name: Install dependencies
         run: |
           npm ci
@@ -166,7 +166,7 @@ jobs:
       - uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f # 
v6.3.0
         with:
           cache: npm
-          node-version: 20
+          node-version: 24
       - name: Install dependencies
         run: |
           npm ci
diff --git a/.github/workflows/test.yaml b/.github/workflows/test.yaml
index 6faaee8..ff97ce1 100644
--- a/.github/workflows/test.yaml
+++ b/.github/workflows/test.yaml
@@ -46,7 +46,7 @@ jobs:
       - uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f # 
v6.3.0
         with:
           cache: npm
-          node-version: 20
+          node-version: 24
       - name: Install ESLint dependencies
         run: |
           npm ci
@@ -71,19 +71,24 @@ jobs:
           pre-commit run --show-diff-on-failure --color=always --all-files
 
   docker:
-    name: Debian Node.js 20
+    name: Debian Node.js ${{ matrix.node }}
     runs-on: ubuntu-latest
     timeout-minutes: 60
+    strategy:
+      fail-fast: false
+      matrix:
+        node: [20, 24]
     env:
       DOCKER_VOLUME_PREFIX: .docker/
+      NODE: ${{ matrix.node }}
     steps:
       - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # 
v6.0.2
       - name: Cache
         uses: actions/cache@cdf6c1fa76f9f475f3d7449005a359c84ca0f306 # v5.0.3
         with:
           path: .docker
-          key: jest-docker-${{ hashFiles('src/**/*.ts', 'test/**/*.ts', 
'package-lock.json') }}
-          restore-keys: jest-docker-
+          key: jest-docker-${{ matrix.node }}-${{ hashFiles('src/**/*.ts', 
'test/**/*.ts', 'package-lock.json') }}
+          restore-keys: jest-docker-${{ matrix.node }}-
       - name: Run
         run: |
           docker compose run debian
@@ -95,7 +100,7 @@ jobs:
     strategy:
       fail-fast: false
       matrix:
-        node: [20]
+        node: [20, 24]
     steps:
       - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # 
v6.0.2
       - name: Cache
@@ -121,7 +126,7 @@ jobs:
     strategy:
       fail-fast: false
       matrix:
-        node: [20]
+        node: [20, 24]
     steps:
       - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # 
v6.0.2
       - name: Cache

Reply via email to