name: Code check on: pull_request: branches: ["*"] jobs: lint: runs-on: ubuntu-latest name: pnpm lint steps: - uses: actions/checkout@v3 with: fetch-depth: 0 - name: Install Node.js uses: actions/setup-node@v3 with: node-version: 20 - uses: pnpm/action-setup@v4 name: Install pnpm id: pnpm-install with: version: 9.0.6 run_install: false - name: Get pnpm store directory id: pnpm-cache run: | echo "pnpm_cache_dir=$(pnpm store path)" >> $GITHUB_OUTPUT - uses: actions/cache@v3 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- - name: Install dependencies run: pnpm install - run: pnpm lint format: runs-on: ubuntu-latest name: pnpm format:check steps: - uses: actions/checkout@v3 with: fetch-depth: 0 - name: Install Node.js uses: actions/setup-node@v3 with: node-version: 20 - uses: pnpm/action-setup@v4 name: Install pnpm id: pnpm-install with: version: 9.0.6 run_install: false - name: Get pnpm store directory id: pnpm-cache run: | echo "pnpm_cache_dir=$(pnpm store path)" >> $GITHUB_OUTPUT - uses: actions/cache@v3 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- - name: Install dependencies run: pnpm install - run: pnpm format:check tsc: runs-on: ubuntu-latest name: pnpm typecheck steps: - uses: actions/checkout@v3 with: fetch-depth: 0 - name: Install Node.js uses: actions/setup-node@v3 with: node-version: 20 - uses: pnpm/action-setup@v4 name: Install pnpm id: pnpm-install with: version: 9.0.6 run_install: false - name: Get pnpm store directory id: pnpm-cache run: | echo "pnpm_cache_dir=$(pnpm store path)" >> $GITHUB_OUTPUT - uses: actions/cache@v3 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- - name: Install dependencies run: pnpm install - name: Build packages run: pnpm --filter=shadcn build - run: pnpm typecheck