Publish npm Beta #2
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Publish npm Beta | |
| on: | |
| workflow_dispatch: | |
| push: | |
| tags: | |
| - "js-sdk-v*" | |
| permissions: | |
| contents: read | |
| jobs: | |
| publish: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| - name: Setup Node.js | |
| uses: actions/setup-node@v4 | |
| with: | |
| node-version: "20" | |
| registry-url: "https://registry.npmjs.org" | |
| - name: Install dependencies | |
| run: npm ci | |
| - name: Validate beta version and tag alignment | |
| shell: bash | |
| run: | | |
| VERSION=$(node -p "require('./package.json').version") | |
| echo "Package version: ${VERSION}" | |
| if [[ "${VERSION}" != *"-beta"* ]]; then | |
| echo "package.json version must include -beta for beta channel publish." | |
| exit 1 | |
| fi | |
| if [[ "${GITHUB_REF_TYPE}" == "tag" ]]; then | |
| TAG_VERSION="${GITHUB_REF_NAME#js-sdk-v}" | |
| if [[ "${TAG_VERSION}" != "${VERSION}" ]]; then | |
| echo "Tag/version mismatch. Tag=${TAG_VERSION}, package.json=${VERSION}" | |
| exit 1 | |
| fi | |
| fi | |
| - name: Build package | |
| run: npm run build | |
| - name: Publish to npm beta channel | |
| env: | |
| NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} | |
| run: npm publish --tag beta --access public |