From 5529254501e7e1644c43c970f22697e4b32518e1 Mon Sep 17 00:00:00 2001 From: Pekka Nikander Date: Wed, 25 Mar 2026 11:18:29 +0200 Subject: [PATCH] fix(action): set LOCKFILE when package-manager is explicitly specified (#98) --- action.yml | 26 ++++++++++++++++++++++++-- 1 file changed, 24 insertions(+), 2 deletions(-) diff --git a/action.yml b/action.yml index 53b574f..c0ce3af 100644 --- a/action.yml +++ b/action.yml @@ -56,6 +56,20 @@ runs: fi fi echo "PACKAGE_MANAGER=$PACKAGE_MANAGER" >> $GITHUB_ENV + case "$PACKAGE_MANAGER" in + yarn) LOCKFILE="yarn.lock" ;; + npm) LOCKFILE="package-lock.json" ;; + pnpm) LOCKFILE="pnpm-lock.yaml" ;; + bun) [ -f "bun.lock" ] && LOCKFILE="bun.lock" || LOCKFILE="bun.lockb" ;; + deno) LOCKFILE="deno.lock" ;; + esac + if [ -n "$LOCKFILE" ]; then + if [ -f "$LOCKFILE" ]; then + echo "LOCKFILE=$LOCKFILE" >> $GITHUB_ENV + else + echo "::warning title=Lockfile not found::No \`$LOCKFILE\` found; node_modules caching will be skipped." + fi + fi elif [ $(find "." -maxdepth 1 -name "pnpm-lock.yaml") ]; then echo "PACKAGE_MANAGER=pnpm" >> $GITHUB_ENV echo "LOCKFILE=pnpm-lock.yaml" >> $GITHUB_ENV @@ -109,14 +123,22 @@ runs: with: deno-version: ${{ env.VERSION }} - - name: Setup Node + - name: Setup Node (with lockfile cache) uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f # v6.3.0 - if: ${{ env.PACKAGE_MANAGER != 'bun' && env.PACKAGE_MANAGER != 'deno' }} + if: ${{ env.PACKAGE_MANAGER != 'bun' && env.PACKAGE_MANAGER != 'deno' && env.LOCKFILE != '' }} with: node-version: ${{ inputs.node-version }} cache: ${{ env.PACKAGE_MANAGER }} cache-dependency-path: "${{ inputs.path }}/${{ env.LOCKFILE }}" + - name: Setup Node (without lockfile cache) + uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f # v6.3.0 + if: ${{ env.PACKAGE_MANAGER != 'bun' && env.PACKAGE_MANAGER != 'deno' && env.LOCKFILE == '' }} + with: + node-version: ${{ inputs.node-version }} + cache: + package-manager-cache: false + - name: Setup Node (Bun) uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f # v6.3.0 if: ${{ env.PACKAGE_MANAGER == 'bun' }}