From 7bbbca89a0d8743691ef06eecb62824a426b33b5 Mon Sep 17 00:00:00 2001 From: Brandy Smith <6577830+brandyscarney@users.noreply.github.com> Date: Wed, 11 Nov 2026 13:17:20 -0500 Subject: [PATCH 1/2] chore(ci): run lerna through npx in the release workflow The ubuntu-latest runner image moved to Ubuntu 26.04, which no longer ships lerna globally, so finalize-release failed with 'lerna: command not found'. --- .github/workflows/release.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 5536a4e8923..40eb694762d 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -73,7 +73,7 @@ jobs: git config user.email hi@ionicframework.com shell: bash - name: Create GitHub Release - run: lerna version ${{ inputs.version }} --yes --force-publish='*' --conventional-commits --create-release github --preid=${{ inputs.preid }} + run: npx lerna@5 version ${{ inputs.version }} --yes --force-publish='*' --conventional-commits --create-release github --preid=${{ inputs.preid }} env: GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} shell: bash @@ -136,7 +136,7 @@ jobs: # never reach the check below. deadline=$(( SECONDS + DEADLINE_SECONDS )) attempt=0 - until timeout --kill-after=30 300 lerna exec "npm install --package-lock-only --prefer-online"; do + until timeout --kill-after=30 300 npx lerna@5 exec "npm install --package-lock-only --prefer-online"; do attempt=$(( attempt + 1 )) if [ "$SECONDS" -ge "$deadline" ]; then echo "::error::npm install --package-lock-only failed $attempt times over ${SECONDS}s; see the last attempt above for the error" From e114c3f3b979ab32a4241ae78e28f89e2b51a158 Mon Sep 17 00:00:00 2001 From: Brandy Smith <6577830+brandyscarney@users.noreply.github.com> Date: Wed, 11 Nov 2026 13:25:25 -0500 Subject: [PATCH 2/2] chore(ci): use lerna 10 in the release workflow Lerna 10 is the version these jobs ran from the Ubuntu 24.04 runner image, and it produces changelogs that match previous releases. --- .github/workflows/release.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 40eb694762d..759eb934d51 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -73,7 +73,7 @@ jobs: git config user.email hi@ionicframework.com shell: bash - name: Create GitHub Release - run: npx lerna@5 version ${{ inputs.version }} --yes --force-publish='*' --conventional-commits --create-release github --preid=${{ inputs.preid }} + run: npx lerna@10 version ${{ inputs.version }} --yes --force-publish='*' --conventional-commits --create-release github --preid=${{ inputs.preid }} env: GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} shell: bash @@ -136,7 +136,7 @@ jobs: # never reach the check below. deadline=$(( SECONDS + DEADLINE_SECONDS )) attempt=0 - until timeout --kill-after=30 300 npx lerna@5 exec "npm install --package-lock-only --prefer-online"; do + until timeout --kill-after=30 300 npx lerna@10 exec "npm install --package-lock-only --prefer-online"; do attempt=$(( attempt + 1 )) if [ "$SECONDS" -ge "$deadline" ]; then echo "::error::npm install --package-lock-only failed $attempt times over ${SECONDS}s; see the last attempt above for the error"