Skip to content

release

release #3

Workflow file for this run

name: release
on:
workflow_dispatch:
inputs:
npm-tag:
description: npm dist-tag
required: true
default: next
type: choice
options: [next, latest]
dry-run:
description: Verify without publishing
required: true
default: true
type: boolean
permissions:
contents: read
id-token: write
jobs:
verify-and-publish:
runs-on: ubuntu-latest
environment: npm
steps:
- uses: actions/checkout@v7
with:
ref: ${{ github.ref }}
- uses: pnpm/action-setup@v6
with:
version: 10.23.0
- uses: actions/setup-node@v7
with:
node-version: 22
cache: pnpm
registry-url: https://registry.npmjs.org
- run: pnpm install --frozen-lockfile
- run: pnpm format:check
- run: pnpm check:links
- run: pnpm test
- run: pnpm test:coverage
- run: pnpm typecheck
- run: pnpm build
- run: pnpm --filter convex-chat check:api
- run: pnpm test:packed
- name: Verify version and tag
env:
NPM_TAG: ${{ inputs.npm-tag }}
run: node scripts/check-release.mjs
- name: Verify package publish
if: ${{ inputs.dry-run }}
working-directory: packages/convex-chat
run: npm publish --dry-run --tag ${{ inputs.npm-tag }}
- name: Publish package with provenance
if: ${{ inputs.dry-run == false }}
working-directory: packages/convex-chat
run: npm publish --provenance --access public --tag ${{ inputs.npm-tag }}