Switch to pnpm #2712
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Jest tests | |
on: | |
push: | |
branches: | |
- main | |
- next | |
paths: | |
- 'packages/**' | |
- '.github/actions/**' | |
- '.github/workflows/test.yml' | |
- 'pnpm.lock' | |
- '.prettier*' | |
- '.eslint*' | |
- 'jest.config.js' | |
- 'tsconfig.json' | |
- 'turbo.json' | |
- 'config' | |
- 'scripts' | |
- 'patches' | |
pull_request: | |
types: | |
- opened | |
- synchronize | |
- reopened | |
paths: | |
- 'packages/**' | |
- '.github/actions/**' | |
- '.github/workflows/test.yml' | |
- 'pnpm.lock' | |
- '.prettier*' | |
- '.eslint*' | |
- 'jest.config.js' | |
- 'tsconfig.json' | |
- 'turbo.json' | |
- 'config' | |
- 'scripts' | |
- 'patches' | |
workflow_dispatch: | |
jobs: | |
test: | |
name: Unit Tests | |
runs-on: ubuntu-latest | |
# Add concurrency to cancel redundant runs | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.ref }} | |
cancel-in-progress: true | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: pnpm/action-setup@v4 | |
name: Install pnpm | |
with: | |
version: 9 | |
run_install: false | |
- name: ♻️ Setup Node.js | |
uses: actions/setup-node@v4 | |
with: | |
node-version: 22 | |
cache: 'pnpm' | |
- name: 📥 Install | |
run: pnpm install -r | |
- name: ♻️ Restore packages cache | |
uses: actions/cache@v4 | |
with: | |
path: | | |
${{ github.workspace }}/.cache | |
${{ github.workspace }}/**/tsconfig.tsbuildinfo | |
key: packages-cache-${{ runner.os }}-${{ hashFiles('pnpm.lock') }} | |
- name: 🏗 Build | |
run: pnpm run build | |
- name: 🧪 Run tests | |
run: pnpm run test | |
notify-test-failure: | |
name: Discord Notification | |
runs-on: ubuntu-latest | |
needs: [test] | |
if: ${{ github.event_name == 'push' && failure() }} | |
steps: | |
- name: 🔔 Send Discord Notification | |
uses: nobrayner/discord-webhook@v1 | |
with: | |
github-token: ${{ secrets.X_GITHUB_READ_ACTIONS_TOKEN }} | |
discord-webhook: ${{ secrets.DISCORD_CI_WEBHOOK }} | |
description: ${{ github.event.number && format('https://github.com/udecode/plate/pull/{0}', github.event.number) || 'Push' }} |