Expensive steps before fast-fail checks

Rule ID

slow_setup_order

Category

performance

Severity

low

Long dependency installation steps run before quick lint/type-check steps. Reordering to fail fast reduces wasted compute.

Detection

heuristic — Structural comparison across multiple jobs or steps.

Examples

Non-compliant:

jobs:
  ci:
    steps:
      - uses: actions/setup-node@v4
      - run: npm install
      - run: npm run lint

Compliant:

jobs:
  ci:
    steps:
      - uses: actions/setup-node@v4
      - run: npm run lint
      - run: npm install
      - run: npm test

Fix: Move fast-fail steps (lint, type-check) before slow install steps so broken code is rejected before wasting time on dependency installation.