trigger: [master]
pr: [master]

jobs:
- job: MatricesGenerator
  displayName: Matrices Generator
  pool:
    vmImage: 'ubuntu-22.04'
  steps:
    - task: UsePythonVersion@0
      inputs:
        versionSpec: '3.13'
        addToPath: true
    - bash: python ci/generate_azure_pipelines_matrices.py
      name: mtrx
      displayName: Generate test matrices and set variables in Azure Pipelines

- job: Mac
  dependsOn: MatricesGenerator
  pool:
    vmImage: 'macOS-14'
  strategy:
    matrix: $[ dependencies.MatricesGenerator.outputs['mtrx.mac'] ]
  steps:
  - script: brew install p7zip
    displayName: Install 7zip
  - template: ci/steps.yml

- job: Windows
  dependsOn: MatricesGenerator
  pool:
    vmImage: 'windows-2022'
  strategy:
    matrix: $[ dependencies.MatricesGenerator.outputs['mtrx.windows'] ]
  variables:
    MODULES_FOLDER: '$(System.DefaultWorkingDirectory)\CachedPowershellModules'
    startYear: $[format('{0:yyyy}', pipeline.startTime)]
    startMonth: $[format('{0:MM}', pipeline.startTime)]
  steps:
  - template: ci/steps.yml

- job: Linux
  dependsOn: MatricesGenerator
  pool:
    vmImage: 'ubuntu-22.04'
  strategy:
    matrix: $[ dependencies.MatricesGenerator.outputs['mtrx.linux'] ]
  steps:
  - template: ci/steps.yml

#- job: Linux_ARM64
#  dependsOn: MatricesGenerator
#  pool:
#    vmImage: 'ubuntu-22.04'
#  container:
#    image: ubuntu:22.04
#    options: --platform linux/arm64
#  strategy:
#    matrix: $[ dependencies.MatricesGenerator.outputs['mtrx.linux_arm64'] ]
#  steps:
#    - template: ci/steps.yml
