Skip to content

docs(skills/create-pr): infer Linear ticket from context, skip pre-cr… #3232

docs(skills/create-pr): infer Linear ticket from context, skip pre-cr…

docs(skills/create-pr): infer Linear ticket from context, skip pre-cr… #3232

name: Preview Release
on:
pull_request:
types:
- opened
- synchronize
- reopened
push:
branches:
- main
tags:
- "!**"
concurrency:
group: preview-${{ github.event_name == 'pull_request' && github.event.pull_request.number || github.sha }}
cancel-in-progress: true
jobs:
preview:
name: Publish preview
runs-on: ubuntu-latest
permissions:
contents: read
pull-requests: write # Required for pkg.pr.new to post PR comments
steps:
- name: Checkout
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- name: Setup mise
uses: jdx/mise-action@1648a7812b9aeae629881980618f079932869151 # v4.0.1
with:
cache: true
- name: Setup pnpm
uses: pnpm/action-setup@91ab88e2619ed1f46221f0ba42d1492c02baf788 # v6.0.6
- name: Install dependencies
run: pnpm install --frozen-lockfile
- name: Build packages
run: pnpm build
- name: Collect publishable packages
id: packages
run: |
PACKAGES=$(node scripts/list-publishable-packages.mjs)
# Use heredoc to safely write to GITHUB_OUTPUT (prevents injection)
{
echo "list<<EOF"
echo "$PACKAGES"
echo "EOF"
} >> "$GITHUB_OUTPUT"
echo "Packages to publish:"
echo "$PACKAGES" | tr ' ' '\n'
- name: Publish to pkg.pr.new
# Pin matches root devDependency pkg-pr-new; see https://github.com/stackblitz-labs/pkg.pr.new/tags
# --compact requires repository field in the *published* npm manifest;
# add it back after the next npm publish includes the repository field.
run: pnpm exec pkg-pr-new publish --pnpm --comment=update ${{ steps.packages.outputs.list }}