From 3baa5e0a1bf5966ede33b26ceb7f60f7b3ad024a Mon Sep 17 00:00:00 2001 From: "heecheol.park" Date: Thu, 18 Jun 2026 17:50:41 +0900 Subject: [PATCH 1/3] ci: drop EOL Node 16 from test matrix and bump codecov-action to v5 Two remaining CI log warnings: - `codecov/codecov-action@v3` targets the deprecated Node 20 action runtime. Bump to v5 (and rename the now-`files` input). - Installing devDependencies (commitlint@18, eslint@9, both Node 18+) on the Node 16 matrix entry emitted `npm warn EBADENGINE`. Node 16 is EOL (2023-09), so drop it; the matrix now covers 18.x and 20.x. Co-Authored-By: Claude Opus 4.8 --- .github/workflows/ci.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index e60850f..c16c190 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -34,7 +34,7 @@ jobs: strategy: matrix: - node-version: [16.x, 18.x, 20.x] + node-version: [18.x, 20.x] steps: - uses: actions/checkout@v5 @@ -52,12 +52,12 @@ jobs: run: npm run test:coverage - name: Upload coverage to Codecov - uses: codecov/codecov-action@v3 + uses: codecov/codecov-action@v5 if: matrix.node-version == '18.x' continue-on-error: true with: token: ${{ secrets.CODECOV_TOKEN }} - file: ./coverage/lcov.info + files: ./coverage/lcov.info flags: unittests name: codecov-umbrella fail_ci_if_error: false From 9b83d437328205fe88ac739bb55b6d862388eba6 Mon Sep 17 00:00:00 2001 From: "heecheol.park" Date: Thu, 18 Jun 2026 17:54:12 +0900 Subject: [PATCH 2/3] ci: run security and commitlint jobs on Node 20 These tooling jobs ran on Node 18, where the npm@11.6.2 override (needs Node ^20.17 || >=22.9) floods install with EBADENGINE warnings. They are environment-independent, so move them to Node 20. Only the test matrix's 18.x entry still emits EBADENGINE now. Co-Authored-By: Claude Opus 4.8 --- .github/workflows/ci.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index c16c190..2f40443 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -68,10 +68,10 @@ jobs: steps: - uses: actions/checkout@v5 - - name: Use Node.js 18.x + - name: Use Node.js 20.x uses: actions/setup-node@v5 with: - node-version: 18.x + node-version: 20.x cache: 'npm' - name: Install dependencies @@ -89,10 +89,10 @@ jobs: with: fetch-depth: 0 - - name: Use Node.js 18.x + - name: Use Node.js 20.x uses: actions/setup-node@v5 with: - node-version: 18.x + node-version: 20.x cache: 'npm' - name: Install dependencies From 64f6c90a0e3c303dbfdd0a52c1dfdb16312d073d Mon Sep 17 00:00:00 2001 From: "heecheol.park" Date: Thu, 18 Jun 2026 17:55:25 +0900 Subject: [PATCH 3/3] ci: drop EOL Node 18 from test matrix Node 18 reached EOL on 2025-04-30 and was the last job emitting EBADENGINE (npm@11.6.2 override requires Node 20+). Test only on 20.x and move the Codecov upload to the 20.x job. CI is now EBADENGINE-free. Co-Authored-By: Claude Opus 4.8 --- .github/workflows/ci.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 2f40443..8e2a033 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -34,7 +34,7 @@ jobs: strategy: matrix: - node-version: [18.x, 20.x] + node-version: [20.x] steps: - uses: actions/checkout@v5 @@ -53,7 +53,7 @@ jobs: - name: Upload coverage to Codecov uses: codecov/codecov-action@v5 - if: matrix.node-version == '18.x' + if: matrix.node-version == '20.x' continue-on-error: true with: token: ${{ secrets.CODECOV_TOKEN }}