trigger:
  batch: true

variables:
  # Change the following along with adding new TEST_START_INDEX.
  TEST_COUNT: 21

jobs:
# Mac and Linux use the same template with different matrixes
# NOTE: Mac jobs have been commented out because Numba no longer support osx-64
#       and Azure does not support osx-arm64.
# - template: buildscripts/azure/azure-linux-macos.yml
#   parameters:
#     name: macOS
#     vmImage: macos-15
#     matrix:
#       py310_np123:
#         PYTHON: '3.10'
#         NUMPY: '1.23'
#         CONDA_ENV: 'azure_ci'
#         TEST_THREADING: 'tbb'
#         TEST_START_INDEX: 0
#       py312_np126:
#         PYTHON: '3.12'
#         NUMPY: '1.26'
#         CONDA_ENV: 'azure_ci'
#         TEST_START_INDEX: 1
#       py313_np23:
#         PYTHON: '3.13'
#         NUMPY: '2.3'
#         CONDA_ENV: 'azure_ci'
#         TEST_START_INDEX: 2

- template: buildscripts/azure/azure-linux-macos.yml
  parameters:
    name: Linux
    vmImage: ubuntu-24.04
    matrix:
      py310_np123:
        PYTHON: '3.10'
        NUMPY: '1.23'
        CONDA_ENV: azure_ci
        TEST_START_INDEX: 0
      py310_np124_cov_doc:
        PYTHON: '3.10'
        NUMPY: '1.24'
        RUN_COVERAGE: yes
        RUN_FLAKE8: yes
        RUN_MYPY: yes
        BUILD_DOC: yes
        CONDA_ENV: azure_ci
        TEST_START_INDEX: 1
      py310_np125_typeguard:
        PYTHON: '3.10'
        NUMPY: '1.25'
        CONDA_ENV: azure_ci
        RUN_TYPEGUARD: no
        TEST_START_INDEX: 2
      py310_np126:
        PYTHON: '3.10'
        NUMPY: '1.26'
        CONDA_ENV: azure_ci
        TEST_START_INDEX: 3
      py310_np22:
        PYTHON: '3.10'
        NUMPY: '2.2'
        CONDA_ENV: azure_ci
        TEST_START_INDEX: 4

      py311_np124:
        PYTHON: '3.11'
        NUMPY: '1.24'
        CONDA_ENV: azure_ci
        TEST_START_INDEX: 5
      py311_np125:
        PYTHON: '3.11'
        NUMPY: '1.25'
        CONDA_ENV: azure_ci
        TEST_START_INDEX: 6
      py311_np126:
        PYTHON: '3.11'
        NUMPY: '1.26'
        CONDA_ENV: azure_ci
        TEST_START_INDEX: 7
      py311_np21:
        PYTHON: '3.11'
        NUMPY: '2.1'
        CONDA_ENV: azure_ci
        TEST_START_INDEX: 8
      py311_np22:
        PYTHON: '3.11'
        NUMPY: '2.2'
        CONDA_ENV: azure_ci
        TEST_START_INDEX: 9
      py311_np126_2:
        PYTHON: '3.11'
        NUMPY: '1.26'
        CONDA_ENV: azure_ci
        TEST_START_INDEX: 10
      py311_np125_svml:
        PYTHON: '3.11'
        NUMPY: '1.25'
        CONDA_ENV: azure_ci
        TEST_SVML: yes
        TEST_START_INDEX: 11

      py312_np126:
        PYTHON: '3.12'
        NUMPY: '1.26'
        CONDA_ENV: azure_ci
        TEST_START_INDEX: 12
      py312_np20:
        PYTHON: '3.12'
        NUMPY: '2.0'
        CONDA_ENV: azure_ci
        TEST_START_INDEX: 13
      py312_np22:
        PYTHON: '3.12'
        NUMPY: '2.2'
        CONDA_ENV: azure_ci
        TEST_START_INDEX: 14

      py313_np23:
        PYTHON: '3.13'
        NUMPY: '2.3'
        CONDA_ENV: azure_ci
        TEST_START_INDEX: 15
      py314_np24:
        PYTHON: '3.14'
        NUMPY: '2.4'
        CONDA_ENV: azure_ci
        TEST_START_INDEX: 16

- template: buildscripts/azure/azure-windows.yml
  parameters:
    name: Windows
    vmImage: windows-2025
