From 52d20068decb29ee568ff1c975d1d33c3ad7fb5a Mon Sep 17 00:00:00 2001 From: Masafumi Koba <473530+ybiquitous@users.noreply.github.com> Date: Mon, 23 Dec 2024 14:30:12 +0900 Subject: [PATCH 1/3] fix: make updated npm version more accurate in action logs The current log message "Update npm to latest" is not accurate because npm can be updated to v9 or v10. E.g. https://github.com/ybiquitous/.github/actions/runs/12461745399/job/34781727243 --- .github/workflows/nodejs-test-reusable.yml | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/.github/workflows/nodejs-test-reusable.yml b/.github/workflows/nodejs-test-reusable.yml index b678dcb..b2eb162 100644 --- a/.github/workflows/nodejs-test-reusable.yml +++ b/.github/workflows/nodejs-test-reusable.yml @@ -44,21 +44,28 @@ jobs: node-version: ${{ inputs.node-version }} cache: npm - - name: Update npm to latest + - name: Get npm version + id: npm-version shell: bash run: | case $(node -v) in v16.*|v14.*|v12.*|v10.*) - npm install --global npm@9 + npm_version=9 ;; v18.*) - npm install --global npm@10 + npm_version=10 ;; *) - npm install --global npm@latest + npm_version=latest ;; esac - echo "Successfully updated npm to $(npm -v)" + echo "version=${npm_version}" >> "${GITHUB_OUTPUT}" + + - name: Update npm to ${{ steps.npm-version.outputs.version }} + shell: bash + env: + npm_version: ${{ steps.npm-version.outputs.version }} + run: npm install --global "npm@${npm_version}" - name: Install dependencies run: npm ci From ae328032f50b6c571b56fa3f5a03fa94c3c476ee Mon Sep 17 00:00:00 2001 From: Masafumi Koba <473530+ybiquitous@users.noreply.github.com> Date: Mon, 23 Dec 2024 14:39:23 +0900 Subject: [PATCH 2/3] fix: get more accurate npm version --- .github/workflows/nodejs-test-reusable.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/nodejs-test-reusable.yml b/.github/workflows/nodejs-test-reusable.yml index b2eb162..2728360 100644 --- a/.github/workflows/nodejs-test-reusable.yml +++ b/.github/workflows/nodejs-test-reusable.yml @@ -57,11 +57,13 @@ jobs: ;; *) npm_version=latest + echo "latest=true" >> "${GITHUB_OUTPUT}" ;; esac + npm_version=$(npm view "npm@${npm_version}" version) echo "version=${npm_version}" >> "${GITHUB_OUTPUT}" - - name: Update npm to ${{ steps.npm-version.outputs.version }} + - name: Update npm to ${{ steps.npm-version.outputs.version }}${{ steps.npm-version.outputs.latest && ' (latest)' }} shell: bash env: npm_version: ${{ steps.npm-version.outputs.version }} From 1a846c26b14e3ab5f6e021b23c9afebd441b7fe9 Mon Sep 17 00:00:00 2001 From: Masafumi Koba <473530+ybiquitous@users.noreply.github.com> Date: Mon, 23 Dec 2024 14:45:12 +0900 Subject: [PATCH 3/3] fix: address multiple npm versions --- .github/workflows/nodejs-test-reusable.yml | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/.github/workflows/nodejs-test-reusable.yml b/.github/workflows/nodejs-test-reusable.yml index 2728360..ffcc0b1 100644 --- a/.github/workflows/nodejs-test-reusable.yml +++ b/.github/workflows/nodejs-test-reusable.yml @@ -50,18 +50,19 @@ jobs: run: | case $(node -v) in v16.*|v14.*|v12.*|v10.*) - npm_version=9 + major_version=9 ;; v18.*) - npm_version=10 + major_version=10 ;; *) - npm_version=latest echo "latest=true" >> "${GITHUB_OUTPUT}" + echo "version=$(npm view npm version)" >> "${GITHUB_OUTPUT}" + exit 0 ;; esac - npm_version=$(npm view "npm@${npm_version}" version) - echo "version=${npm_version}" >> "${GITHUB_OUTPUT}" + version=$(npm view "npm@${major_version}" version --json | jq -r '.[-1]') + echo "version=${version}" >> "${GITHUB_OUTPUT}" - name: Update npm to ${{ steps.npm-version.outputs.version }}${{ steps.npm-version.outputs.latest && ' (latest)' }} shell: bash