Skip to content

chore: add a release workflow (#41) #8

chore: add a release workflow (#41)

chore: add a release workflow (#41) #8

Workflow file for this run

name: Release
on:
pull_request:
branches:
- main
push:
branches:
- main
tags:
- '*'
jobs:
release:
name: Release
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Setup git user
run: |
git config --global user.name "$(git --no-pager log --format=format:'%an' -n 1)"
git config --global user.email "$(git --no-pager log --format=format:'%ae' -n 1)"
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '22'
registry-url: 'https://registry.npmjs.org'
- name: Cache pnpm modules
uses: actions/cache@v4
with:
path: ~/.pnpm-store
key: ${{ runner.os }}-${{ hashFiles('**/pnpm-lock.yaml') }}
restore-keys: |
${{ runner.os }}-
- uses: pnpm/action-setup@v4
with:
version: 9
run_install: true
- name: Build
working-directory: packages/former/
run: pnpm build
- name: Set version
working-directory: packages/former/
run: pnpm version ${GITHUB_REF#refs/*/} --no-commit-hooks --no-git-tag-version
if: 'github.ref_type == ''tag'''
- name: Release
working-directory: packages/client/
run: pnpm publish --no-git-check --access public
env:
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
if: 'github.ref_type == ''tag'''