Skip to content

Commit 1725f29

Browse files
author
Greg Roth
authored
Replace Travis CI with Azdo (#3838)
Travis went from org to com. In spite of the perfectly reasonable assumption and explicitly stated expectation of the simplicity that transition would involve, multiple engineers from multiple companies failed to decipher their arcane instructions and permissions. Instead, we've switched from leeching off of a well-meaning small outfit trying to promote open source projects at no charge to leeching off Microsoft's own ample resources. This replaces all of the testing of travis with Azure Dev Ops (azdo). The version of Ubuntu is bumped from 14.04 to 18.04, but that was overdue. The corresponding clang and gcc versions are incremented as well from 5 to 9 and 5 to 7 respectively with an eye toward the lowest supported version in the current OS. The MacOS version is similarly incremented with the clang version jumping to 11. In all cases, these versions are the lowest azdo provides on the respective platforms. Left out for now is the address sanitizer configuration, which was never made blocking. The longevity of this decision is pending cross company discussions.
1 parent 32acf39 commit 1725f29

2 files changed

Lines changed: 76 additions & 105 deletions

File tree

.travis.yml

Lines changed: 0 additions & 96 deletions
This file was deleted.

azure-pipelines.yml

Lines changed: 76 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -3,32 +3,50 @@
33
# Add steps that build, run tests, deploy, and more:
44
# https://aka.ms/yaml
55

6-
variables:
7-
configuration: Release
8-
96
resources:
107
- repo: self
118

129
stages:
1310
- stage: Build
1411
jobs:
15-
- job: Linux_clang8
12+
- job: Linux
13+
timeoutInMinutes: 90
14+
1615
pool:
1716
vmImage: Ubuntu-18.04
1817

19-
variables:
20-
CC: clang-8
21-
CXX: clang++-8
18+
strategy:
19+
matrix:
20+
Clang_Release:
21+
configuration: Release
22+
CC: clang
23+
CXX: clang++
24+
CXX_FLAGS: -Werror
25+
Clang_Debug:
26+
configuration: Debug
27+
CC: clang
28+
CXX: clang++
29+
CXX_FLAGS: -Werror
30+
Gcc_Release:
31+
configuration: Release
32+
CC: gcc-7
33+
CXX: g++-7
34+
CXX_FLAGS:
35+
Gcc_Debug:
36+
configuration: Debug
37+
CC: gcc-7
38+
CXX: g++-7
39+
CXX_FLAGS:
2240

2341
steps:
24-
- bash: sudo apt-get install clang-8 libc++-8-dev libc++abi-8-dev lld-8 ninja-build python3
42+
- bash: sudo apt-get install ninja-build
2543
displayName: 'Installing dependencies'
2644
- bash: git submodule update --init
2745
displayName: 'Updating submodules'
2846
- bash: |
2947
mkdir build
3048
cd build
31-
cmake -G Ninja .. $(cat ../utils/cmake-predefined-config-params) -DSPIRV_BUILD_TESTS=ON -DCMAKE_BUILD_TYPE=$(configuration)
49+
cmake -G Ninja .. $(cat ../utils/cmake-predefined-config-params) -DSPIRV_BUILD_TESTS=ON -DCMAKE_BUILD_TYPE=$(configuration) -DCMAKE_C_COMPILER=${CC} -DCMAKE_CXX_COMPILER=${CXX} -DCMAKE_CXX_FLAGS=${CXX_FLAGS}
3250
displayName: 'Cmake configuration'
3351
- bash: |
3452
cd build
@@ -43,3 +61,52 @@ stages:
4361
displayName: 'SPIRV tests'
4462
- bash: ./build/bin/clang-hlsl-tests --HlslDataDir $PWD/tools/clang/test/HLSL/
4563
displayName: 'DXIL tests'
64+
65+
- job: MacOS
66+
timeoutInMinutes: 90
67+
68+
pool:
69+
vmImage: macOS-10.14
70+
71+
variables:
72+
configuration: Release
73+
CC: clang
74+
CXX: clang++
75+
CXX_FLAGS: -Werror
76+
77+
strategy:
78+
matrix:
79+
Clang_Release:
80+
configuration: Release
81+
Clang_Debug:
82+
configuration: Debug
83+
84+
steps:
85+
- bash: |
86+
brew update
87+
brew install ninja
88+
displayName: 'Installing dependencies'
89+
- bash: git submodule update --init
90+
displayName: 'Updating submodules'
91+
- bash: |
92+
mkdir build
93+
cd build
94+
cmake -G Ninja .. $(cat ../utils/cmake-predefined-config-params) -DSPIRV_BUILD_TESTS=ON -DCMAKE_BUILD_TYPE=$(configuration) -DCMAKE_C_COMPILER=${CC} -DCMAKE_CXX_COMPILER=${CXX} -DCMAKE_CXX_FLAGS=${CXX_FLAGS}
95+
displayName: 'Cmake configuration'
96+
- bash: |
97+
cd build
98+
ninja
99+
displayName: 'Building'
100+
- bash: |
101+
./build/bin/dxc -T ps_6_0 tools/clang/test/CodeGenSPIRV/passthru-ps.hlsl2spv
102+
./build/bin/dxc -T ps_6_0 -Fo passthru-ps.dxil tools/clang/test/CodeGenSPIRV/passthru-ps.hlsl2spv
103+
./build/bin/dxc -T ps_6_0 -Fo passthru-ps.spv tools/clang/test/CodeGenSPIRV/passthru-ps.hlsl2spv -spirv
104+
displayName: 'Smoke tests'
105+
- bash: |
106+
ulimit -Sn 1024
107+
./build/bin/clang-spirv-tests --spirv-test-root tools/clang/test/CodeGenSPIRV/
108+
displayName: 'SPIRV tests'
109+
- bash: |
110+
ulimit -Sn 1024
111+
./build/bin/clang-hlsl-tests --HlslDataDir $PWD/tools/clang/test/HLSL/
112+
displayName: 'DXIL tests'

0 commit comments

Comments
 (0)