diff options
author | Jordan Maples [MSFT] <49793787+JordanMaples@users.noreply.github.com> | 2020-10-29 02:35:49 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-10-29 02:35:49 +0300 |
commit | 179fba51f51e4c2776028336f6a00c4f7b7bf176 (patch) | |
tree | 0dbd1f540eb588aa3f7e714a169f3142b61f432c | |
parent | d74ae54b60beabdfe8b3a237b817f16df28fab25 (diff) |
Azure pipeline (#8) (#943)
-rw-r--r-- | azure-pipelines.yml | 68 | ||||
-rw-r--r-- | pipelines/jobs.yml | 26 | ||||
-rw-r--r-- | pipelines/steps.yml | 17 |
3 files changed, 111 insertions, 0 deletions
diff --git a/azure-pipelines.yml b/azure-pipelines.yml new file mode 100644 index 0000000..47c29c1 --- /dev/null +++ b/azure-pipelines.yml @@ -0,0 +1,68 @@ +trigger: + - master + +pr: + autoCancel: true + +# GCC +stages: +- stage: GCC + dependsOn: [] + variables: + - name: CC + value: gcc + - name: CXX + value: g++ + jobs: + - template: ./pipelines/jobs.yml + parameters: + jobName: 'Validate GCC latest' + imageName: ubuntu-20.04 + - template: ./pipelines/jobs.yml + parameters: + jobName: 'Validate GCC Previous' + imageName: ubuntu-18.04 + +# Clang +- stage: Clang + dependsOn: [] + variables: + - name: CC + value: clang + - name: CXX + value: clang++ + jobs: + - template: ./pipelines/jobs.yml + parameters: + jobName: 'Validate Clang latest' + imageName: ubuntu-20.04 + - template: ./pipelines/jobs.yml + parameters: + jobName: 'Validate Clang Previous' + imageName: ubuntu-18.04 + +# MSVC +- stage: MSVC + dependsOn: [] + jobs: + - template: ./pipelines/jobs.yml + parameters: + jobName: 'Validate MSVC latest' + imageName: windows-latest + - template: ./pipelines/jobs.yml + parameters: + jobName: 'Validate MSVC Previous' + imageName: vs2017-win2016 + +# Apple-Clang +- stage: Apple_Clang + dependsOn: [] + jobs: + - template: ./pipelines/jobs.yml + parameters: + jobName: 'Validate Apple-Clang latest' + imageName: macos-10.15 + - template: ./pipelines/jobs.yml + parameters: + jobName: 'Validate Apple-Clang Previous' + imageName: macos-10.14 diff --git a/pipelines/jobs.yml b/pipelines/jobs.yml new file mode 100644 index 0000000..dad2414 --- /dev/null +++ b/pipelines/jobs.yml @@ -0,0 +1,26 @@ +parameters:
+ jobName: ''
+ imageName: ''
+
+jobs:
+- job:
+ displayName: ${{ parameters.imageName }}
+ pool:
+ vmImage: ${{ parameters.imageName }}
+ strategy:
+ matrix:
+ 14_debug:
+ GSL_CXX_STANDARD: '14'
+ BUILD_TYPE: 'Debug'
+ 14_release:
+ GSL_CXX_STANDARD: '14'
+ BUILD_TYPE: 'Release'
+ 17_debug:
+ GSL_CXX_STANDARD: '17'
+ BUILD_TYPE: 'Debug'
+ 17_release:
+ GSL_CXX_STANDARD: '17'
+ BUILD_TYPE: 'Release'
+ continueOnError: false
+ steps:
+ - template: ./steps.yml
diff --git a/pipelines/steps.yml b/pipelines/steps.yml new file mode 100644 index 0000000..9557ab7 --- /dev/null +++ b/pipelines/steps.yml @@ -0,0 +1,17 @@ +steps:
+ - task: CMake@1
+ name: Configure
+ inputs:
+ workingDirectory: build
+ cmakeArgs: '-DCMAKE_CXX_STANDARD=$(GSL_CXX_STANDARD) -DCMAKE_BUILD_TYPE=$(BUILD_TYPE) .. '
+
+ - task: CMake@1
+ name: Build
+ inputs:
+ workingDirectory: build
+ cmakeArgs: '--build . '
+
+ - script: ctest . --output-on-failure --no-compress-output
+ name: CTest
+ workingDirectory: build
+ failOnStderr: true
|