mirror of
https://github.com/EasyTier/EasyTier.git
synced 2026-05-06 17:59:11 +00:00
9cc617ae4c
* add rpm to ci * rename build_filter to build-filter * use prepare-pnpm action
49 lines
1.2 KiB
YAML
49 lines
1.2 KiB
YAML
name: 'Setup pnpm'
|
|
author: Luna
|
|
description: 'Setup Node.js, pnpm, and install dependencies'
|
|
|
|
inputs:
|
|
build-filter:
|
|
description: 'The filter argument for pnpm build (e.g. ./easytier-web/*)'
|
|
required: false
|
|
default: ''
|
|
|
|
runs:
|
|
using: "composite"
|
|
steps:
|
|
- name: Setup Node.js
|
|
uses: actions/setup-node@v5
|
|
with:
|
|
node-version: 22
|
|
|
|
- name: Install pnpm
|
|
uses: pnpm/action-setup@v5
|
|
with:
|
|
version: 10
|
|
run_install: false
|
|
|
|
- name: Get pnpm store directory
|
|
shell: bash
|
|
run: |
|
|
echo "STORE_PATH=$(pnpm store path --silent)" >> $GITHUB_ENV
|
|
|
|
- name: Setup pnpm cache
|
|
uses: actions/cache@v5
|
|
with:
|
|
path: ${{ env.STORE_PATH }}
|
|
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
|
|
restore-keys: |
|
|
${{ runner.os }}-pnpm-store-
|
|
|
|
- name: Install and build
|
|
shell: bash
|
|
run: |
|
|
pnpm -r install
|
|
if [ -n "${{ inputs.build-filter }}" ]; then
|
|
echo "Building with filter: ${{ inputs.build-filter }}"
|
|
pnpm -r --filter "${{ inputs.build-filter }}" build
|
|
else
|
|
echo "No build filter provided, building all packages"
|
|
pnpm -r build
|
|
fi
|