name: {{ jobName }} - $\{{ matrix.platform.name }} - $\{{ matrix.node-version }}
if: github.repository_owner == 'npm'
strategy:
  fail-fast: false
  matrix:
    platform:
      - name: Linux
        os: ubuntu-latest
        shell: bash
      {{#if macCI}}
      - name: macOS
        os: macos-latest
        shell: bash
      - name: macOS
        os: macos-15-intel
        shell: bash
      {{/if}}
      {{#if windowsCI}}
      - name: Windows
        os: windows-latest
        shell: cmd
      {{/if}}
    node-version:
      {{#each ciVersions}}
      - {{ . }}
      {{/each}}
    {{#if macCI}}
    exclude:
      {{#each ciVersions}}
        {{!-- M1 macs do not have builds of node 14 and below --}}
      - platform: {name: macOS, os: {{#if (lte (semverRangeMajor .) 14)}}macos-latest{{else}}macos-15-intel{{/if}}, shell: bash}
        node-version: {{ . }}
      {{/each}}
    {{/if}}
runs-on: $\{{ matrix.platform.os }}
defaults:
  run:
    shell: $\{{ matrix.platform.shell }}
steps:
  {{> stepsSetupYml jobIsMatrix=true }}
