From bebd6aad1da77062f48ab7f2acb82cd061fd94bf Mon Sep 17 00:00:00 2001 From: Willie Ruemmele Date: Mon, 24 Aug 2026 08:46:20 -0600 Subject: [PATCH] fix: auto-derive cache-dependency-path from packageManager input MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The shared workflows hardcoded mismatched defaults for cache-dependency-path — npmPublish defaulted to yarn.lock (breaking npm repos) while ctcOpen/ctcClose defaulted to package-lock.json (breaking yarn repos called directly). Now when cache-dependency-path is not explicitly set, it's derived from the packageManager/package-manager input using a ternary expression: yarn → yarn.lock, pnpm → pnpm-lock.yaml, otherwise package-lock.json. Fixes salesforce-metadata-plugins npmPublish failures reported in #platform-cli-collaboration. --- .github/workflows/ctcClose.yml | 6 +++--- .github/workflows/ctcOpen.yml | 6 +++--- .github/workflows/npmPublish.yml | 12 ++++++------ 3 files changed, 12 insertions(+), 12 deletions(-) diff --git a/.github/workflows/ctcClose.yml b/.github/workflows/ctcClose.yml index cfa95815..1b4f73a9 100644 --- a/.github/workflows/ctcClose.yml +++ b/.github/workflows/ctcClose.yml @@ -26,9 +26,9 @@ on: default: '10' required: false cache-dependency-path: - description: Path to the calling repository's package manager lockfile + description: Path to the calling repository's package manager lockfile; auto-derived from package-manager if not set type: string - default: package-lock.json + default: '' required: false jobs: @@ -47,7 +47,7 @@ jobs: with: node-version: ${{ inputs.nodeVersion }} cache: ${{ inputs.package-manager }} - cache-dependency-path: ${{ inputs.cache-dependency-path }} + cache-dependency-path: ${{ inputs.cache-dependency-path || (inputs.package-manager == 'yarn' && 'yarn.lock' || (inputs.package-manager == 'pnpm' && 'pnpm-lock.yaml' || 'package-lock.json')) }} - run: npm install -g @salesforce/change-case-management --omit=dev - id: ctc run: | diff --git a/.github/workflows/ctcOpen.yml b/.github/workflows/ctcOpen.yml index 9babb607..e1bdacfd 100644 --- a/.github/workflows/ctcOpen.yml +++ b/.github/workflows/ctcOpen.yml @@ -20,9 +20,9 @@ on: default: '10' required: false cache-dependency-path: - description: Path to the calling repository's package manager lockfile + description: Path to the calling repository's package manager lockfile; auto-derived from package-manager if not set type: string - default: package-lock.json + default: '' required: false outputs: changeCaseId: @@ -47,7 +47,7 @@ jobs: with: node-version: ${{ inputs.nodeVersion }} cache: ${{ inputs.package-manager }} - cache-dependency-path: ${{ inputs.cache-dependency-path }} + cache-dependency-path: ${{ inputs.cache-dependency-path || (inputs.package-manager == 'yarn' && 'yarn.lock' || (inputs.package-manager == 'pnpm' && 'pnpm-lock.yaml' || 'package-lock.json')) }} - run: npm install -g @salesforce/change-case-management --omit=dev diff --git a/.github/workflows/npmPublish.yml b/.github/workflows/npmPublish.yml index 5ae954d1..d77ca4c5 100644 --- a/.github/workflows/npmPublish.yml +++ b/.github/workflows/npmPublish.yml @@ -62,9 +62,9 @@ on: default: '10' type: string cacheDependencyPath: - description: path to the package manager lockfile; defaults to yarn.lock, so npm and pnpm callers must override it + description: path to the package manager lockfile; auto-derived from packageManager if not set required: false - default: yarn.lock + default: '' type: string vulnerabilityCheck: description: if true, checks for known vulnerable package versions @@ -134,7 +134,7 @@ jobs: nodeVersion: ${{ inputs.nodeVersion }} package-manager: ${{ inputs.packageManager }} package-manager-version: ${{ inputs.packageManagerVersion }} - cache-dependency-path: ${{ inputs.cacheDependencyPath }} + cache-dependency-path: ${{ inputs.cacheDependencyPath || (inputs.packageManager == 'yarn' && 'yarn.lock' || (inputs.packageManager == 'pnpm' && 'pnpm-lock.yaml' || 'package-lock.json')) }} secrets: inherit npm-publish: @@ -158,7 +158,7 @@ jobs: with: node-version: ${{ inputs.nodeVersion }} cache: ${{ inputs.packageManager }} - cache-dependency-path: ${{ inputs.cacheDependencyPath }} + cache-dependency-path: ${{ inputs.cacheDependencyPath || (inputs.packageManager == 'yarn' && 'yarn.lock' || (inputs.packageManager == 'pnpm' && 'pnpm-lock.yaml' || 'package-lock.json')) }} - name: Install dependencies with yarn if: inputs.packageManager == 'yarn' uses: salesforcecli/github-workflows/.github/actions/yarnInstallWithRetries@ph/W-23832274-pnpm-stable-promotion @@ -231,7 +231,7 @@ jobs: nodeVersion: ${{ inputs.nodeVersion }} package-manager: ${{ inputs.packageManager }} package-manager-version: ${{ inputs.packageManagerVersion }} - cache-dependency-path: ${{ inputs.cacheDependencyPath }} + cache-dependency-path: ${{ inputs.cacheDependencyPath || (inputs.packageManager == 'yarn' && 'yarn.lock' || (inputs.packageManager == 'pnpm' && 'pnpm-lock.yaml' || 'package-lock.json')) }} ctcCloseFail: needs: [ctc-open, npm-publish] @@ -244,4 +244,4 @@ jobs: status: Not Implemented package-manager: ${{ inputs.packageManager }} package-manager-version: ${{ inputs.packageManagerVersion }} - cache-dependency-path: ${{ inputs.cacheDependencyPath }} + cache-dependency-path: ${{ inputs.cacheDependencyPath || (inputs.packageManager == 'yarn' && 'yarn.lock' || (inputs.packageManager == 'pnpm' && 'pnpm-lock.yaml' || 'package-lock.json')) }}