diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 59538d5487..b9628a6030 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -966,10 +966,17 @@ jobs: restore-keys: ${{ runner.os }}-build-cache-node-platform- - name: Installing... run: node common/scripts/install-run-rush.js install + - name: Building... + run: node common/scripts/install-run-rush.js build - name: Publish to npm env: NPM_TOKEN: ${{ secrets.NPM_TOKEN }} run: | + if [ -z "$NPM_TOKEN" ]; then + echo "::error::NPM_TOKEN secret is not set. Add it in repository Settings > Secrets and variables > Actions." + exit 1 + fi + echo "//registry.npmjs.org/:_authToken=${NPM_TOKEN}" > .npmrc REF="${{ github.event.inputs.ref || github.ref }}" VERSION="${REF#refs/tags/v}" VERSION="${VERSION#v}" diff --git a/common/scripts/safe-publish.js b/common/scripts/safe-publish.js index 2f0b0368bc..3c6fccd861 100755 --- a/common/scripts/safe-publish.js +++ b/common/scripts/safe-publish.js @@ -89,6 +89,11 @@ function getPublishablePackages(includePattern) { */ function publishPackage(packagePath, packageName) { try { + try { + execSync('npm pkg fix', { cwd: packagePath, encoding: 'utf-8', stdio: 'pipe' }) + } catch { + // Ignore pkg fix errors (e.g. npm < 10) + } console.log(`Publishing ${packageName}...`) execSync('npm publish', { cwd: packagePath,