Redundant steps across jobs =========================== .. list-table:: :stub-columns: 1 :widths: 20 80 * - Rule ID - ``redundant_steps`` * - Category - energy * - Severity - medium Identical setup steps (checkout, dependency install) are duplicated across jobs without using reusable workflows or job outputs. Detection --------- ``heuristic`` — Structural comparison across multiple jobs or steps. Examples -------- **Non-compliant:** .. code-block:: yaml jobs: test: steps: - uses: actions/checkout@v4 - uses: actions/setup-node@v4 - run: npm test lint: steps: - uses: actions/checkout@v4 - uses: actions/setup-node@v4 - run: npm run lint build: steps: - uses: actions/checkout@v4 - uses: actions/setup-node@v4 - run: npm run build **Compliant:** .. code-block:: yaml jobs: test: uses: ./.github/workflows/reusable-node.yml with: {script: npm test} lint: uses: ./.github/workflows/reusable-node.yml with: {script: npm run lint} build: uses: ./.github/workflows/reusable-node.yml with: {script: npm run build} **Fix**: Extract shared setup into a reusable workflow or composite action so the checkout and setup steps run once rather than being duplicated across jobs.