name: CI on: push: branches: [main] pull_request: workflow_dispatch: env: NODE_VERSION: 20 jobs: ci: strategy: matrix: include: - name: Build command: build - name: Check command: ci name: ${{ matrix.name }} runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - name: Setup node.js uses: actions/setup-node@v4 with: node-version: ${{ env.NODE_VERSION }} - name: Install pnpm run: | corepack enable corepack prepare --activate - name: Get store directory run: | echo "STORE_PATH=$(pnpm store path --silent)" >> "$GITHUB_ENV" - name: Setup pnpm cache uses: actions/cache@v4 with: path: ${{ env.STORE_PATH }} key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }} restore-keys: | ${{ runner.os }}-pnpm-store- - name: Install dependencies run: | pnpm install --frozen-lockfile - name: Run ${{ matrix.command }} run: | pnpm run ${{ matrix.command }}