Version Packages (#770) #679
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: Release | |
on: | |
push: | |
branches: ['main', 'next'] | |
jobs: | |
test: | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
node-version: [18.x, 20.x, 22.x] | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
lfs: true | |
- uses: pnpm/[email protected] | |
- uses: actions/setup-node@v4 | |
with: | |
cache: 'pnpm' | |
- name: Install dependencies | |
run: pnpm install | |
- name: Build packages | |
run: pnpm run build | |
- name: Run unit tests | |
run: pnpm run test | |
- uses: actions/upload-artifact@v4 | |
if: failure() | |
with: | |
name: image-diffs | |
path: packages/**/__image_snapshots__/__diff_output__/ | |
release: | |
name: Release | |
runs-on: ubuntu-latest | |
needs: test | |
steps: | |
- name: Checkout Repo | |
uses: actions/checkout@master | |
with: | |
# This makes Actions fetch all Git history so that Changesets can generate changelogs with the correct commits | |
fetch-depth: 0 | |
lfs: true | |
- uses: pnpm/[email protected] | |
name: Install pnpm | |
id: pnpm-install | |
with: | |
run_install: false | |
- name: Get pnpm store directory | |
id: pnpm-cache | |
run: | | |
echo "::set-output name=pnpm_cache_dir::$(pnpm store path)" | |
- uses: actions/cache@v4 | |
name: Setup pnpm cache | |
with: | |
path: ${{ steps.pnpm-cache.outputs.pnpm_cache_dir }} | |
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }} | |
restore-keys: | | |
${{ runner.os }}-pnpm-store- | |
- uses: pnpm/[email protected] | |
with: | |
run_install: true | |
- name: create and publish versions | |
uses: changesets/action@v1 | |
with: | |
version: pnpm ci:version | |
publish: pnpm ci:publish | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
NPM_TOKEN: ${{ secrets.NPM_TOKEN }} |