name: build on: push: branches: - main - feature-* tags: - "v*" jobs: lint: name: lint runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v4 - name: Setup Node.js uses: actions/setup-node@v4 with: node-version: "24" cache: "pnpm" - name: Enable corepack run: corepack enable - name: Install deps run: pnpm install --frozen-lockfile - name: Lint run: pnpm run lint build: name: build runs-on: ubuntu-latest needs: [lint] steps: - name: Checkout uses: actions/checkout@v4 - name: Setup Node.js uses: actions/setup-node@v4 with: node-version: "24" cache: "pnpm" - name: Enable corepack run: corepack enable - name: Install deps run: pnpm install --frozen-lockfile - name: Build (skip lint in build) env: NEXT_DISABLE_ESLINT: "1" run: pnpm run build - name: Upload build artifacts if: startsWith(github.ref, 'refs/tags/') || github.ref == 'refs/heads/main' uses: actions/upload-artifact@v4 with: name: polynote-next-build path: | .next/standalone .next/static public