84 lines
2.8 KiB
YAML
84 lines
2.8 KiB
YAML
name: 📦 Preview packages (pkg.pr.new)
|
|
|
|
# Publishes installable preview builds of the public @trigger.dev/* packages
|
|
# for every push to a branch, via https://pkg.pr.new. These are NOT published
|
|
# to npm — pkg.pr.new serves them by commit SHA and drops install instructions
|
|
# in a comment on the associated PR, e.g.
|
|
# npm i https://pkg.pr.new/@trigger.dev/sdk@<sha>
|
|
#
|
|
# Prerequisites:
|
|
# - The pkg.pr.new GitHub App must be installed on triggerdotdev/trigger.dev
|
|
# (https://github.com/apps/pkg-pr-new). Publishing fails until it is.
|
|
#
|
|
# Fork note: pkg.pr.new authenticates with a GitHub Actions OIDC token, which
|
|
# GitHub does not issue to pull_request workflows from forks. This `push`
|
|
# trigger therefore covers branches pushed to this repo (the core team), not
|
|
# external fork PRs. Adding fork coverage would require a workflow_run two-stage
|
|
# setup.
|
|
|
|
on:
|
|
push:
|
|
branches-ignore:
|
|
- main
|
|
- changeset-release/main
|
|
paths:
|
|
- "package.json"
|
|
- "packages/**"
|
|
- "pnpm-lock.yaml"
|
|
- "pnpm-workspace.yaml"
|
|
- "turbo.json"
|
|
- ".github/workflows/preview-packages.yml"
|
|
- "scripts/stamp-preview-version.mjs"
|
|
- "scripts/updateVersion.ts"
|
|
|
|
concurrency:
|
|
group: preview-packages-${{ github.ref }}
|
|
cancel-in-progress: true
|
|
|
|
permissions:
|
|
contents: read
|
|
id-token: write # OIDC token used by pkg.pr.new to authenticate the publish
|
|
|
|
jobs:
|
|
publish:
|
|
name: Build and publish previews
|
|
runs-on: warp-ubuntu-latest-x64-8x
|
|
if: github.repository == 'triggerdotdev/trigger.dev'
|
|
steps:
|
|
- name: ⬇️ Checkout repo
|
|
uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
|
|
with:
|
|
fetch-depth: 0
|
|
persist-credentials: false
|
|
|
|
- name: ⎔ Setup pnpm
|
|
uses: pnpm/action-setup@fc06bc1257f339d1d5d8b3a19a8cae5388b55320 # v5.0.0
|
|
with:
|
|
version: 10.33.2
|
|
|
|
- name: ⎔ Setup node
|
|
uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0
|
|
with:
|
|
node-version: 22.23.1
|
|
cache: "pnpm"
|
|
|
|
- name: 📥 Install dependencies
|
|
run: pnpm install --frozen-lockfile
|
|
|
|
- name: 📀 Generate Prisma client
|
|
run: pnpm run generate
|
|
|
|
# Stamp a unique 0.0.0-preview-<sha> version before building so it can't
|
|
# collide with real npm versions and so updateVersion.ts bakes it into the
|
|
# runtime VERSION constant. See scripts/stamp-preview-version.mjs.
|
|
- name: 🏷️ Stamp preview version
|
|
run: node scripts/stamp-preview-version.mjs
|
|
env:
|
|
GITHUB_SHA: ${{ github.sha }}
|
|
|
|
- name: 🔨 Build packages
|
|
run: pnpm run build --filter "@trigger.dev/*" --filter "trigger.dev"
|
|
|
|
- name: 🚀 Publish previews to pkg.pr.new
|
|
run: pnpm exec pkg-pr-new publish --pnpm --compact --commentWithSha './packages/*'
|