fix(ci): Release workflow install semantic-release tanpa merusak package.json

npm install -D menulis 5 paket semantic-release + 333 dep ke devDependencies
package.json — padahal repo pakai bun.lock. prepareCmd lalu jalankan
'bun install --frozen-lockfile' yang melihat package.json 'terpolusi'
(1561 paket vs 30 di bun.lock) -> 'lockfile had changes, but lockfile is
frozen' -> Release selalu gagal.

Fix: install semantic-release ke prefix terisolasi /tmp/sr-tools + tambah ke
GITHUB_PATH, jalankan 'semantic-release' langsung (bukan npx yang pakai
proses -D). prepareCmd (--frozen-lockfile) dibiarkan benar: bun.lock
version-agnostic, verifikasi lokal lolos.
This commit is contained in:
asepharyana
2026-09-03 08:33:44 +07:00
parent 9b28a829e5
commit 8c99c6b1ca
+5 -3
View File
@@ -40,16 +40,18 @@ jobs:
- name: Setup Bun - name: Setup Bun
uses: oven-sh/setup-bun@v2 uses: oven-sh/setup-bun@v2
- name: Install semantic-release - name: Install semantic-release (isolated prefix — do NOT touch repo package.json)
run: | run: |
npm install -D \ mkdir -p /tmp/sr-tools
npm install --prefix /tmp/sr-tools \
semantic-release \ semantic-release \
@semantic-release/exec \ @semantic-release/exec \
@semantic-release/git \ @semantic-release/git \
@semantic-release/changelog \ @semantic-release/changelog \
@semantic-release/github @semantic-release/github
echo "/tmp/sr-tools/node_modules/.bin" >> "$GITHUB_PATH"
- name: Run semantic-release - name: Run semantic-release
env: env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: npx semantic-release run: semantic-release