mirror of
https://github.com/heygen-com/hyperframes.git
synced 2026-09-03 04:38:33 +00:00
## Summary - Replace pnpm with bun for dependency installation, script running, and ad-hoc execution - Keep pnpm for publish workflow only (`publishConfig` overrides + `--provenance`) - `bun install` replaces `pnpm install` (~4-5x faster cold installs) - `bun run` replaces `pnpm run` (~28x less startup overhead) - `bunx` replaces `npx` in lefthook hooks - CI workflows updated (`oven-sh/setup-bun@v2` + `actions/setup-node@v4`) - `pnpm-lock.yaml` removed, `bun.lock` generated - `pnpm-workspace.yaml` kept for publish compatibility - CLI source code (`packages/cli/src/`) unchanged — shipped to end users who may not have bun Part 5/5 of [VA-851](https://linear.app/heygen/issue/VA-851/pre-migration-configure-eslint-prettier-and-conventional-commits) ## Test plan - [x] `bun run lint` — 0 errors - [x] `bun run format:check` — all files pass - [x] `bun run build` — all 5 packages build - [x] 330 core tests pass - [x] 18 engine tests pass - [x] `publish.yml` unchanged (pnpm stays for npm publishing) - [x] No `bunx`/`bun run` references in shipped source code (`packages/*/src/`)
53 lines
1.5 KiB
YAML
53 lines
1.5 KiB
YAML
name: Prepare Release
|
|
|
|
on:
|
|
workflow_dispatch:
|
|
inputs:
|
|
version:
|
|
description: "Version to release (e.g., 0.2.0, 1.0.0-beta.1)"
|
|
required: true
|
|
type: string
|
|
|
|
jobs:
|
|
prepare:
|
|
name: Prepare release PR
|
|
runs-on: ubuntu-latest
|
|
timeout-minutes: 5
|
|
permissions:
|
|
contents: write
|
|
pull-requests: write
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- uses: oven-sh/setup-bun@v2
|
|
- uses: actions/setup-node@v4
|
|
with:
|
|
node-version: 22
|
|
- run: bun install --frozen-lockfile
|
|
|
|
- name: Bump versions
|
|
run: bun run set-version ${{ inputs.version }}
|
|
|
|
- name: Create release PR
|
|
env:
|
|
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
run: |
|
|
BRANCH="release/v${{ inputs.version }}"
|
|
git config user.name "github-actions[bot]"
|
|
git config user.email "github-actions[bot]@users.noreply.github.com"
|
|
git checkout -b "$BRANCH"
|
|
git add packages/*/package.json
|
|
git commit -m "chore: release v${{ inputs.version }}"
|
|
git push origin "$BRANCH"
|
|
gh pr create \
|
|
--title "chore: release v${{ inputs.version }}" \
|
|
--body "$(cat <<'BODY'
|
|
## Release v${{ inputs.version }}
|
|
|
|
Bumps all packages to v${{ inputs.version }}.
|
|
|
|
**After merging**, the release tag is created automatically, which triggers npm publish.
|
|
BODY
|
|
)" \
|
|
--base main \
|
|
--head "$BRANCH"
|