Use explicit npm publish steps for CLI packages

This commit is contained in:
Gregory Schier
2026-02-22 09:24:33 -08:00
parent f723d77ac6
commit 2ef1679ab8

View File

@@ -114,40 +114,37 @@ jobs:
exit 1 exit 1
fi fi
- name: Publish npm packages - name: Publish @yaakapp/cli-darwin-arm64
working-directory: npm run: npm publish --provenance --access public
env: working-directory: npm/cli-darwin-arm64
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} env: { NODE_AUTH_TOKEN: "${{ secrets.NPM_TOKEN }}" }
run: |
node <<'JS'
const { execSync } = require('node:child_process');
const { readFileSync } = require('node:fs');
const order = [ - name: Publish @yaakapp/cli-darwin-x64
'cli-darwin-arm64', run: npm publish --provenance --access public
'cli-darwin-x64', working-directory: npm/cli-darwin-x64
'cli-linux-arm64', env: { NODE_AUTH_TOKEN: "${{ secrets.NPM_TOKEN }}" }
'cli-linux-x64',
'cli-win32-arm64',
'cli-win32-x64',
'cli'
];
function pkg(dir) { - name: Publish @yaakapp/cli-linux-arm64
return JSON.parse(readFileSync(`./${dir}/package.json`, 'utf-8')); run: npm publish --provenance --access public
} working-directory: npm/cli-linux-arm64
env: { NODE_AUTH_TOKEN: "${{ secrets.NPM_TOKEN }}" }
for (const dir of order) { - name: Publish @yaakapp/cli-linux-x64
const p = pkg(dir); run: npm publish --provenance --access public
const spec = `${p.name}@${p.version}`; working-directory: npm/cli-linux-x64
env: { NODE_AUTH_TOKEN: "${{ secrets.NPM_TOKEN }}" }
try { - name: Publish @yaakapp/cli-win32-arm64
execSync(`npm view ${spec} version`, { stdio: 'pipe' }); run: npm publish --provenance --access public
console.log(`Skipping ${spec} (already published)`); working-directory: npm/cli-win32-arm64
continue; env: { NODE_AUTH_TOKEN: "${{ secrets.NPM_TOKEN }}" }
} catch (_) {
console.log(`Publishing ${spec}`); - name: Publish @yaakapp/cli-win32-x64
execSync(`npm publish ./${dir} --access public`, { stdio: 'inherit' }); run: npm publish --provenance --access public
} working-directory: npm/cli-win32-x64
} env: { NODE_AUTH_TOKEN: "${{ secrets.NPM_TOKEN }}" }
JS
- name: Publish @yaakapp/cli
run: npm publish --provenance --access public
working-directory: npm/cli
env: { NODE_AUTH_TOKEN: "${{ secrets.NPM_TOKEN }}" }