name: Build, unit test and lint branch on: pull_request: branches: - '**' - '!release/*' jobs: install-and-build: name: Install & Build runs-on: blacksmith-2vcpu-ubuntu-2204 env: NODE_OPTIONS: '--max-old-space-size=4096' steps: - uses: actions/checkout@v4.1.1 with: ref: refs/pull/${{ github.event.pull_request.number }}/merge - run: corepack enable - uses: useblacksmith/setup-node@v5 with: node-version: 20.x cache: pnpm - name: Install dependencies run: pnpm install --frozen-lockfile - name: Setup build cache uses: useblacksmith/caching-for-turbo@v1 - name: Build run: pnpm build - name: Run formatcheck run: pnpm format:check - name: Run typecheck run: pnpm typecheck - name: Cache build artifacts uses: useblacksmith/cache/save@v5 with: path: ./packages/**/dist key: ${{ github.sha }}-base:build unit-test: name: Unit tests uses: ./.github/workflows/units-tests-reusable.yml needs: install-and-build with: ref: refs/pull/${{ github.event.pull_request.number }}/merge cacheKey: ${{ github.sha }}-base:build collectCoverage: true secrets: CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} lint: name: Lint uses: ./.github/workflows/linting-reusable.yml needs: install-and-build with: ref: refs/pull/${{ github.event.pull_request.number }}/merge cacheKey: ${{ github.sha }}-base:build