Skip to content

Publish @nextide/ui v2.4.0 #6

Publish @nextide/ui v2.4.0

Publish @nextide/ui v2.4.0 #6

Workflow file for this run

name: Publish @nextide/ui
run-name: Publish @nextide/ui ${{ inputs.tag }}
on:
workflow_dispatch:
inputs:
tag:
description: Existing release tag, for example v1.0.0
required: true
type: string
permissions:
contents: read
id-token: write
concurrency:
group: publish-${{ inputs.tag }}
cancel-in-progress: false
jobs:
publish:
runs-on: ubuntu-latest
timeout-minutes: 30
steps:
- name: Check out release tag
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
fetch-depth: 0
persist-credentials: false
ref: ${{ inputs.tag }}
- name: Set up Node.js
uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0
with:
node-version: "24.18.0"
registry-url: https://registry.npmjs.org
package-manager-cache: false
- name: Install pnpm
run: npm install --global pnpm@11.10.0
- name: Verify release tag
env:
RELEASE_TAG: ${{ inputs.tag }}
shell: bash
run: |
package_version="$(node -p "require('./packages/ui/package.json').version")"
test "$RELEASE_TAG" = "v$package_version"
git show-ref --verify --quiet "refs/tags/$RELEASE_TAG"
test "$(git rev-parse HEAD)" = "$(git rev-list -n 1 "$RELEASE_TAG")"
- name: Install dependencies
run: pnpm install --frozen-lockfile
- name: Run release checks
run: pnpm run check
- name: Install Chromium
run: pnpm exec playwright install --with-deps chromium
- name: Qualify release
run: pnpm run qualify
- name: Check package contents
working-directory: packages/ui
run: npm pack --dry-run --access public
- name: Publish
working-directory: packages/ui
run: npm publish --access public