| # intel oneapi installation is based on the examples at |
| # https://github.com/oneapi-src/oneapi-ci |
| # |
| # and are copyrighted: |
| # |
| # SPDX-FileCopyrightText: 2020 Intel Corporation |
| # SPDX-License-Identifier: MIT |
| # |
| # The rest of this file contains the standard Meson project copyright: |
| # |
| # SPDX-License-Identifer: Apache-2.0 |
| # Copyright 2022 The Meson development team |
| |
| |
| name: $(BuildID) |
| |
| trigger: |
| branches: |
| include: |
| - 'master' |
| # Release branches |
| - '1.*' |
| paths: |
| include: |
| - 'mesonbuild' |
| - 'test cases' |
| - 'unittests' |
| - 'azure-pipelines.yml' |
| - 'ci/run.ps1' |
| - 'run_project_tests.py' |
| - 'run_tests.py' |
| - 'run_unittests.py' |
| pr: |
| autoCancel: true |
| branches: |
| include: |
| - '*' |
| paths: |
| include: |
| - 'mesonbuild' |
| - 'test cases' |
| - 'unittests' |
| - 'azure-pipelines.yml' |
| - 'ci/run.ps1' |
| - 'run_project_tests.py' |
| - 'run_tests.py' |
| - 'run_unittests.py' |
| |
| variables: |
| CI: 1 |
| SOURCE_VERSION: $(Build.SourceVersion) |
| WINDOWS_HPCKIT_URL: https://registrationcenter-download.intel.com/akdlm/IRC_NAS/18680/w_HPCKit_p_2022.2.0.173_offline.exe |
| WINDOWS_FORTRAN_COMPONENTS: intel.oneapi.win.ifort-compiler |
| |
| jobs: |
| |
| - job: vs2019 |
| timeoutInMinutes: 120 |
| pool: |
| vmImage: windows-2019 |
| |
| strategy: |
| matrix: |
| vc2019x64ninja: |
| arch: x64 |
| compiler: msvc2019 |
| backend: ninja |
| ifort: true |
| vc2019x64vs: |
| arch: x64 |
| compiler: msvc2019 |
| backend: vs2019 |
| # mysteriously, several tests fail because vs cannot find |
| # executables such as cmd.exe ??? |
| ifort: false |
| vc2019arm64ninjacross: |
| arch: arm64 |
| compiler: msvc2019 |
| backend: ninja |
| extraargs: --cross arm64cl.txt --cross-only |
| # ifort doesn't support arm64 |
| ifort: false |
| |
| steps: |
| - task: Cache@2 |
| inputs: |
| path: C:\Program Files (x86)\Intel\oneAPI |
| key: '"install" | "$(WINDOWS_HPCKIT_URL)" | "$(WINDOWS_FORTRAN_COMPONENTS)" | "compiler" | ci/intel-scripts/cache_exclude_windows.sh' |
| cacheHitVar: CACHE_RESTORED |
| condition: eq(variables.ifort, 'true') |
| - script: ci/intel-scripts/install_windows.bat $(WINDOWS_HPCKIT_URL) $(WINDOWS_FORTRAN_COMPONENTS) |
| displayName: install ifort |
| condition: and(ne(variables.CACHE_RESTORED, 'true'), eq(variables.ifort, 'true')) |
| - bash: ci/intel-scripts/cache_exclude_windows.sh |
| displayName: exclude unused files from cache |
| condition: and(ne(variables.CACHE_RESTORED, 'true'), eq(variables.ifort, 'true')) |
| - script: choco install -y nasm |
| displayName: install NASM |
| - task: UsePythonVersion@0 |
| inputs: |
| versionSpec: '3.7' |
| addToPath: true |
| architecture: 'x64' |
| - task: BatchScript@1 |
| displayName: insert ifort into environment |
| inputs: |
| filename: ci/intel-scripts/activate_windows.bat |
| arguments: vs2019 |
| modifyEnvironment: True |
| condition: eq(variables.ifort, 'true') |
| - task: PowerShell@2 |
| inputs: |
| targetType: 'filePath' |
| filePath: .\ci\run.ps1 |
| env: |
| MESON_CI_JOBNAME: azure-$(System.JobName) |
| - task: PowerShell@2 |
| displayName: Gathering coverage report |
| inputs: |
| targetType: 'filePath' |
| filePath: .\ci\coverage.ps1 |