Files
copilotkit__copilotkit/.github/workflows/publish-commit.yml
2026-09-07 14:53:31 +00:00

70 lines
2.5 KiB
YAML

name: 🚀 pkg-pr-new
on:
push:
paths:
- "packages/**"
pull_request:
paths:
- "packages/**"
permissions:
contents: read
concurrency:
group: ${{ github.repository }}-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
env:
NX_VERBOSE_LOGGING: true
NX_CI_EXECUTION_ID: ${{ github.head_ref }}-${{ github.sha }}-${{ github.run_attempt }}
NX_CI_EXECUTION_ENV: "Publish Commit"
jobs:
build:
runs-on: ubuntu-latest
timeout-minutes: 15
# NOTE: deliberately NOT in the `npm` environment. pkg-pr-new publishes to
# pkg.pr.new (not the npm registry) and uses no environment-scoped secrets,
# and this job runs on every push/PR touching packages/** — the npm
# environment's deployment-branch policy (main, canary/*,
# release/publish/*) would block it.
permissions:
contents: read
# pkg-pr-new posts snapshot comments on the PR using the workflow token
pull-requests: write
steps:
# persist-credentials required: pkg-pr-new uses repo token to post snapshot comments on the PR
- name: Checkout code
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7
- name: Install pnpm
uses: pnpm/action-setup@ea17c68df8912ef543352723c149a84f56e3d413 # v6.1.0
- run: corepack enable
- uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0
with:
node-version-file: "package.json"
# setup-node built-in cache is fork-safe (fork PRs can't write to base repo cache)
cache: "pnpm"
cache-dependency-path: "**/pnpm-lock.yaml"
- name: Install dependencies
run: pnpm install --frozen-lockfile
- name: Configure Nx Cloud environment
run: |
echo "NX_CI_EXECUTION_ID=${{ github.run_id }}-${{ github.run_attempt }}-pkg-pr-new" >> $GITHUB_ENV
echo "NX_CLOUD_NO_TIMEOUTS=true" >> $GITHUB_ENV
echo "NX_CLOUD_DISTRIBUTED_EXECUTION=false" >> $GITHUB_ENV
echo "NX_NO_CLOUD=true" >> $GITHUB_ENV
- name: Build
run: pnpm run build
# The generated default template installs every published package into a
# single Node sandbox. That mixes browser, server, Angular, Vue, and React
# Native packages, making the StackBlitz preview unusable. Package preview
# URLs remain available without the default template.
- run: npx pkg-pr-new publish --pnpm --packageManager pnpm --no-template "./packages/*"