chore: add release-pr workflow

This commit is contained in:
shadcn
2023-03-08 11:55:08 +04:00
parent 385cc1a57d
commit 9cee5cd83e
4 changed files with 71 additions and 45 deletions

View File

@@ -1,45 +0,0 @@
# Adapted from create-t3-app.
name: Publish
on:
push:
branches:
- main
concurrency: ${{ github.workflow }}-${{ github.ref }}
jobs:
build:
if: ${{ github.repository_owner == 'shadcn' }}
name: Create a PR for release workflow
runs-on: ubuntu-latest
steps:
- name: Checkout Repo
uses: actions/checkout@v3
with:
fetch-depth: 0
- name: Use PNPM
uses: pnpm/action-setup@v2.2.4
- name: Use Node.js 18
uses: actions/setup-node@v3
with:
node-version: 18
cache: "pnpm"
- name: Install NPM Dependencies
run: pnpm install
- name: Create Version PR or Publish to NPM
id: changesets
uses: changesets/action@v1.4.1
with:
commit: "chore(release): version packages"
title: "chore(release): version packages"
publish: pnpm build:cli
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
NPM_TOKEN: ${{ secrets.NPM_ACCESS_TOKEN }}
NODE_ENV: "production"

44
.github/workflows/release-pr.yml vendored Normal file
View File

@@ -0,0 +1,44 @@
name: release-pr
on:
pull_request:
types: [opened, reopened, synchronize, labeled]
jobs:
next-drupal:
runs-on: ubuntu-latest
if: ${{ github.repository_owner == 'shadcn' && contains(github.event.pull_request.labels.*.name, format('release-pr{0} cli', ':')) }}
environment: Preview
steps:
- name: Init
uses: actions/checkout@v3
with:
ref: ${{ github.event.pull_request.head.sha }}
- name: Setup Node
uses: actions/setup-node@v3
with:
node-version: 16
- name: Install dependencies
run: yarn install
- name: Determine version
uses: ./.github/version-pr
id: determine-version
env:
PR_NUMBER: ${{ github.event.number }}
- name: Publish to npm
run: |
cd packages/cli
echo "//registry.npmjs.org/:_authToken=$NPM_ACCESS_TOKEN" >> .npmrc
yarn publish --no-git-checks --access public --tag experimental
env:
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
- name: Comment version on PR
uses: NejcZdovc/comment-pr@v2
with:
message:
"🎉 Experimental release [published 📦️ on npm](https://npmjs.com/package/@shadcn/ui/v/${{ env.VERSION }})!\n \
```sh\npnpm @shadcn/ui@${{ env.VERSION }}\n```\n \
```sh\nyarn @shadcn/ui@${{ env.VERSION }}\n```\n \
```sh\nnpx @shadcn/ui@${{ env.VERSION }}\n```"
env:
VERSION: ${{ steps.determine-version.outputs.version }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}