name: CI on: push: branches: - main pull_request: branches: - main jobs: lint: runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - name: Install pnpm uses: pnpm/action-setup@v2 - name: Set node uses: actions/setup-node@v3 with: node-version: 16.x cache: pnpm - name: Setup run: npm i -g @antfu/ni - name: Install run: nci - name: Lint run: nr lint typecheck: runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - name: Install pnpm uses: pnpm/action-setup@v2 - name: Set node uses: actions/setup-node@v3 with: node-version: 16.x cache: pnpm - name: Setup run: npm i -g @antfu/ni - name: Install run: nci - name: Typecheck run: nr typecheck test: runs-on: ${{ matrix.os }} strategy: matrix: node: [16.x, 18.x, 20.x] os: [ubuntu-latest, windows-latest, macos-latest] fail-fast: false steps: - uses: actions/checkout@v3 - name: Install pnpm uses: pnpm/action-setup@v2 - name: Set node ${{ matrix.node }} uses: actions/setup-node@v3 with: node-version: ${{ matrix.node }} cache: pnpm - name: Setup run: npm i -g @antfu/ni - name: Install run: nci - name: Build run: nr build - name: Test run: nr test