name: CI on: push: branches: [main] pull_request: branches: [main] jobs: test: name: Lint, Typecheck & Tests runs-on: ${{ matrix.os }} strategy: matrix: os: [ubuntu-latest] node_version: ['lts/*'] include: - os: macos-latest node_version: 'lts/*' - os: windows-latest node_version: 'lts/*' fail-fast: false env: CI: true steps: - name: Set git to use LF run: | git config --global core.autocrlf false git config --global core.eol lf - uses: actions/checkout@v3 - name: Install pnpm uses: pnpm/action-setup@v2 - name: Set node ${{ matrix.node_version }} uses: actions/setup-node@v3 with: node-version: ${{ matrix.node_version }} cache: pnpm - run: corepack enable - name: Setup run: npm i -g @antfu/ni - name: Install run: nci - name: Lint (Ubuntu only) if: matrix.os == 'ubuntu-latest' run: pnpm lint - name: Typecheck run: nr typecheck - name: Run tests run: nr test -- --run - name: Run SSR check run: nr check:ssr - name: Build (Ubuntu only) if: matrix.os == 'ubuntu-latest' run: pnpm build - name: Check package size budget (Ubuntu only) if: matrix.os == 'ubuntu-latest' run: pnpm size:check