name: 'Tests: export conditions'

on: [pull_request, push]

jobs:
  conditions:
    name: 'exports conditions'
    runs-on: ubuntu-latest
    strategy:
      fail-fast: false
      matrix:
        node-version:
          - '17'   # ↥ pattern-trailers-no-dir-slash
          - '16'

          - '16.9' # ⤓ with pattern trailers
          - '16.8' # ↥ no pattern trailers
          - '16.0' # ↥ patterns

          - '15'

          - '14.19' # ⤓ with pattern trailers
          - '14.18' # ↥ no pattern trailers

          - '14.13' # ⤓ with patterns
          - '14.12' # ↥ no patterns

          - '14.0'  # ⤓ with conditions
          - '13'    # ↥ no conditions

          - '13.14' # ⤓ first conditions with broken dir slash
          - '13.13' # ↥ last conditions without broken dir slash

          - '13.7'  # ⤓ with conditions
          - '13.6'  # ↥ no conditions
          - '13.5'
          - '13.4'
          - '13.3'
          - '13.2'  # ⤓ experimental
          - '13.1'  # broken
          - '13.0'  # broken

          - '12'

          - '12.20' # ⤓ with patterns
          - '12.19' # ↥ no patterns
          - '12.18'
          - '12.17' # ⤓ with conditions
          - '12.16' # ↥ no conditions

          - '8'
          - '6'
          - '4'
          - 'iojs'
          - '0.12'
          - '0.10'
          - '0.8'
    steps:
      - uses: actions/checkout@v4
      - uses: ljharb/actions/node/install@main
        name: 'nvm install lts/* && npm install'
        with:
          node-version: 'lts/*'
          skip-ls-check: true
      - uses: ljharb/actions/node/install@main
        name: 'nvm install ${{ matrix.node-version }}'
        with:
          node-version: ${{ matrix.node-version }}
          skip-install: true
          skip-ls-check: true
      - run: npm run tests:conditions

  exports-conditions:
    name: 'exports conditions'
    needs: [conditions]
    runs-on: ubuntu-latest
    steps:
      - run: 'echo tests completed'