v5.0.0-rc.6 #62
Workflow file for this run
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 | |
| on: | |
| release: | |
| types: [released, prereleased] | |
| jobs: | |
| publish_npm: | |
| runs-on: ubuntu-latest | |
| permissions: | |
| contents: read | |
| id-token: write | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: pnpm/action-setup@v4 # version comes from the "packageManager" field in package.json | |
| - uses: actions/setup-node@v4 | |
| with: | |
| node-version-file: '.node-version' | |
| cache: pnpm | |
| cache-dependency-path: pnpm-lock.yaml | |
| registry-url: "https://registry.npmjs.org" | |
| - run: pnpm i --frozen-lockfile --production false | |
| - run: pnpm build && pnpm test | |
| # Must use `pnpm publish` (not `npm publish`): npm ignores | |
| # `publishConfig.exports`, so the development-time exports field | |
| # (pointing at ./src/*.ts for vitest self-imports) leaks into the | |
| # published artifact and breaks consumers. See #228. | |
| - name: Publish to npm | |
| run: | | |
| if ${{ github.event.release.prerelease }}; then | |
| echo "Publishing pre-release..." | |
| pnpm publish --access=public --provenance --no-git-checks --tag next | |
| else | |
| echo "Publishing release..." | |
| pnpm publish --access=public --provenance --no-git-checks | |
| fi | |
| publish_jsr: | |
| runs-on: ubuntu-latest | |
| permissions: | |
| contents: read | |
| id-token: write | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: pnpm/action-setup@v4 # version comes from the "packageManager" field in package.json | |
| - uses: actions/setup-node@v4 | |
| with: | |
| node-version-file: '.node-version' | |
| cache: pnpm | |
| cache-dependency-path: pnpm-lock.yaml | |
| - run: pnpm install --frozen-lockfile --production false | |
| - run: pnpm dlx jsr publish |