Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/microsoft/GSL.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJordan Maples [MSFT] <49793787+JordanMaples@users.noreply.github.com>2020-10-29 02:35:49 +0300
committerGitHub <noreply@github.com>2020-10-29 02:35:49 +0300
commit179fba51f51e4c2776028336f6a00c4f7b7bf176 (patch)
tree0dbd1f540eb588aa3f7e714a169f3142b61f432c
parentd74ae54b60beabdfe8b3a237b817f16df28fab25 (diff)
Azure pipeline (#8) (#943)
-rw-r--r--azure-pipelines.yml68
-rw-r--r--pipelines/jobs.yml26
-rw-r--r--pipelines/steps.yml17
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