`pnpm run build` and pnpm publish's automatic prepack hook (rm -rf .next && next build && rm -rf .next/cache) both ran a full next build - the explicit step's output got thrown away and rebuilt from scratch seconds later inside publish anyway. Kept only prepack's build, since it's the one that actually has to succeed for a publishable package to exist; a deterministic build that just passed isn't going to fail differently a few steps later. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
42 lines
1.2 KiB
YAML
42 lines
1.2 KiB
YAML
name: Release
|
|
|
|
on:
|
|
push:
|
|
tags:
|
|
- "v*.*.*"
|
|
|
|
jobs:
|
|
release:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: https://github.com/actions/checkout@v4
|
|
|
|
- uses: https://github.com/pnpm/action-setup@v4
|
|
with:
|
|
version: 11.21.0
|
|
|
|
- uses: https://github.com/actions/setup-node@v4
|
|
with:
|
|
node-version: 22
|
|
|
|
- run: pnpm install --frozen-lockfile
|
|
|
|
- run: pnpm run lint
|
|
- run: pnpm run typecheck
|
|
- run: pnpm run format:check
|
|
- run: pnpm run test
|
|
|
|
- name: Set package version from the tag
|
|
run: npm pkg set version="${GITHUB_REF_NAME#v}"
|
|
|
|
# Scoped to this one registry host+path (via publishConfig.registry in package.json) rather
|
|
# than actions/setup-node's registry-url, which would set it as the *default* registry for
|
|
# every install - breaking `pnpm install` for this project's own (unscoped, public) deps.
|
|
- name: Configure registry auth for publish
|
|
run: pnpm config set "//dev.pivoine.art/api/packages/valknar/npm/:_authToken" "$PACKAGE_TOKEN"
|
|
env:
|
|
PACKAGE_TOKEN: ${{ secrets.PACKAGE_TOKEN }}
|
|
|
|
- name: Publish to Gitea npm registry
|
|
run: pnpm publish --no-git-checks
|