Skip to content

Refactor release workflow to add pnpm store caching, install dependen… #11

Refactor release workflow to add pnpm store caching, install dependen…

Refactor release workflow to add pnpm store caching, install dependen… #11

Workflow file for this run

name: Release
on:
push:
branches:
- main
concurrency:
group: ${{ github.workflow }}-${{ github.ref_name }}
cancel-in-progress: true
jobs:
release:
name: Release
runs-on: ubuntu-latest
steps:
# Checkout the repository
- name: Checkout Repository
uses: actions/checkout@v4
# Setup Node.js 20.x
- name: Setup Node.js 20.x
uses: actions/setup-node@v4
with:
node-version: 20
# Setup pnpm
- uses: pnpm/action-setup@v4
name: Setup pnpm
with:
run_install: false
# Get pnpm store directory
- name: Get pnpm store directory
run: |
echo "STORE_PATH=$(pnpm store path --silent)" >> $GITHUB_ENV
shell: bash
# Cache pnpm store
- uses: actions/cache@v4
name: Setup pnpm cache
with:
path: ${{ env.STORE_PATH }}
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
restore-keys: |
${{ runner.os }}-pnpm-store-
# Install dependencies
- name: Install dependencies
run: pnpm install
# Build the project
- name: Build the project
run: pnpm build
# Check for changesets
- id: check-changesets
name: Check for Changesets
run: |
pnpm changeset status --since=main
continue-on-error: true
# Build and release
- name: Create Release Pull Request or Publish to npm
if: ${{ steps.check-changesets.outcome == 'success' }}
id: changesets
run: pnpm release
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}