Skip to content

Commit aaba949

Browse files
authored
Merge pull request #409 from JohanMabille/azure
Migrated from travis ci to azure pipelines
2 parents 3c997e5 + 6445789 commit aaba949

File tree

7 files changed

+280
-285
lines changed

7 files changed

+280
-285
lines changed
Lines changed: 67 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,67 @@
1+
jobs:
2+
- job: 'Linux_0'
3+
strategy:
4+
matrix:
5+
clang_4_armv7:
6+
llvm_version: '4.0'
7+
cross_compile: 1
8+
arm_arch_dir: 'arm-linux-gnueabi'
9+
arm_arch_target: 'armv7-a'
10+
clang_4_armv8:
11+
llvm_version: '4.0'
12+
cross_compile: 1
13+
arm_arch_dir: 'arm-linux-gnueabi'
14+
arm_arch_target: 'armv8-a'
15+
#clang_4_aarch64:
16+
# llvm_version: '4.0'
17+
# cross_compile: 1
18+
# arm_arch_dir: 'aarch64-linux-gnu'
19+
# arm_arch_target: 'armv8-a'
20+
clang_5:
21+
llvm_version: '5.0'
22+
clang_6:
23+
llvm_version: '6.0'
24+
clang_7:
25+
llvm_version: '7'
26+
clang_8:
27+
llvm_version: '8'
28+
clang_9:
29+
llvm_version: '9'
30+
clang_10:
31+
llvm_version: '10'
32+
pool:
33+
vmImage: ubuntu-16.04
34+
variables:
35+
CC: clang-$(llvm_version)
36+
CXX: clang++-$(llvm_version)
37+
timeoutInMinutes: 30
38+
steps:
39+
- script: |
40+
sudo add-apt-repository ppa:ubuntu-toolchain-r/test
41+
if [[ $(llvm_version) == '4.0' || $(llvm_version) == '5.0' ]]; then
42+
sudo apt-get update
43+
sudo apt-get --no-install-suggests --no-install-recommends install clang-$(llvm_version)
44+
if [[ $(cross_compile) == 1 ]]; then
45+
if [[ $(arm_arch_dir) == 'aarch64-linux-gnu' ]]; then
46+
sudo apt-get --no-install-suggests --no-install-recommends install g++-4.9-aarch64-linux-gnu gcc-4.9-aarch64-linux-gnu
47+
else
48+
sudo apt-get --no-install-suggests --no-install-recommends install g++-4.9-arm-linux-gnueabi
49+
fi
50+
sudo apt-get --no-install-suggests --no-install-recommends install g++-4.9-multilib gcc-4.9-multilib
51+
sudo apt-get --no-install-suggests --no-install-recommends install qemu qemu-system-arm
52+
else
53+
sudo apt-get --no-install-suggests --no-install-recommends install gcc-4.9
54+
fi
55+
else
56+
LLVM_VERSION=$(llvm_version)
57+
get -O - http://apt.llvm.org/llvm-snapshot.gpg.key | sudo apt-key add -
58+
sudo add-apt-repository "deb http://apt.llvm.org/xenial/ llvm-toolchain-xenial-$LLVM_VERSION main"
59+
sudo apt-get update
60+
sudo apt-get --no-install-suggests --no-install-recommends install clang-$(llvm_version)
61+
fi
62+
displayName: Install build toolchain
63+
64+
- bash: echo "##vso[task.prependpath]$CONDA/bin"
65+
displayName: Add conda to PATH
66+
67+
- template: unix-build.yml
Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
jobs:
2+
- job: 'Linux_1'
3+
strategy:
4+
matrix:
5+
gcc_4:
6+
gcc_version: '4.9'
7+
gcc_5:
8+
gcc_version: '5'
9+
gcc_6_force_no_instr_set:
10+
gcc_version: '6'
11+
force_no_instr_set: 1
12+
gcc_6_enable_xtl_complex:
13+
gcc_version: '6'
14+
enable_xtl_complex: 1
15+
gcc_7_avx512:
16+
gcc_version: '7'
17+
avx512: 1
18+
gcc_8_enable_fallback:
19+
gcc_version: '8'
20+
enable_xtl_complex: 1
21+
enable_fallback: 1
22+
gcc_9:
23+
gcc_version: '9'
24+
pool:
25+
vmImage: ubuntu-16.04
26+
variables:
27+
CC: gcc-$(gcc_version)
28+
CXX: g++-$(gcc_version)
29+
timeoutInMinutes: 30
30+
steps:
31+
32+
- script: |
33+
if [[ $(gcc_version) == '4.9' || $(gcc_version) == '6' ]]; then
34+
sudo add-apt-repository ppa:ubuntu-toolchain-r/test
35+
sudo apt-get update
36+
sudo apt-get --no-install-suggests --no-install-recommends install g++-$(gcc_version)
37+
fi
38+
displayName: Install build toolchain
39+
40+
- bash: echo "##vso[task.prependpath]$CONDA/bin"
41+
displayName: Add conda to PATH
42+
43+
- template: unix-build.yml
Lines changed: 83 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,83 @@
1+
jobs:
2+
3+
# Configure, build, install, and test job
4+
- job: 'Windows_clangcl'
5+
pool:
6+
vmImage: 'vs2017-win2016'
7+
timeoutInMinutes: 360
8+
steps:
9+
10+
# Install Chocolatey (https://chocolatey.org/install#install-with-powershellexe)
11+
- powershell: |
12+
Set-ExecutionPolicy Bypass -Scope Process -Force
13+
iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))
14+
Write-Host "##vso[task.setvariable variable=PATH]$env:PATH"
15+
choco --version
16+
displayName: "Install Chocolatey"
17+
18+
# Install Miniconda
19+
- script: |
20+
choco install miniconda3 --yes
21+
set PATH=C:\tools\miniconda3\Scripts;C:\tools\miniconda3;C:\tools\miniconda3\Library\bin;%PATH%
22+
echo '##vso[task.setvariable variable=PATH]%PATH%'
23+
set LIB=C:\tools\miniconda3\Library\lib;%LIB%
24+
echo '##vso[task.setvariable variable=LIB]%LIB%'
25+
conda --version
26+
displayName: "Install Miniconda"
27+
28+
# Configure Miniconda
29+
- script: |
30+
conda config --set always_yes yes
31+
conda config --append channels conda-forge
32+
conda info
33+
displayName: "Configure Miniconda"
34+
35+
# Create conda enviroment
36+
# Note: conda activate doesn't work here, because it creates a new shell!
37+
- script: |
38+
conda install cmake=3.14.0 ^
39+
ninja ^
40+
python=3.6
41+
conda list
42+
displayName: "Install conda packages"
43+
44+
# Install LLVM
45+
# Note: LLVM distributed by conda is too old
46+
- script: |
47+
choco install llvm --yes
48+
set PATH=C:\Program Files\LLVM\bin;%PATH%
49+
echo '##vso[task.setvariable variable=PATH]%PATH%'
50+
clang-cl --version
51+
displayName: "Install LLVM"
52+
53+
# Configure
54+
- script: |
55+
setlocal EnableDelayedExpansion
56+
call "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat" x86_amd64
57+
mkdir build & cd build
58+
cmake -G Ninja ^
59+
-DCMAKE_BUILD_TYPE=Release ^
60+
-DCMAKE_C_COMPILER=clang-cl ^
61+
-DCMAKE_CXX_COMPILER=clang-cl ^
62+
-DDOWNLOAD_GTEST=ON ^
63+
$(Build.SourcesDirectory)
64+
displayName: "Configure xsimd"
65+
workingDirectory: $(Build.BinariesDirectory)
66+
67+
# Build
68+
- script: |
69+
call "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat" x86_amd64
70+
cmake --build . ^
71+
--config Release ^
72+
--target test_xsimd ^
73+
-- -v
74+
displayName: "Build xsimd"
75+
workingDirectory: $(Build.BinariesDirectory)/build
76+
77+
# Test
78+
- script: |
79+
setlocal EnableDelayedExpansion
80+
cd test
81+
.\test_xsimd
82+
displayName: "Test xsimd"
83+
workingDirectory: $(Build.BinariesDirectory)/build/test

.azure-pipelines/unix-build.yml

Lines changed: 68 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,68 @@
1+
steps:
2+
- script: |
3+
conda config --set always_yes yes --set changeps1 no
4+
conda update -q conda
5+
conda create -n xsimd
6+
source activate xsimd
7+
if [[ $(enable_xtl_complex) == 1 ]]; then
8+
conda install xtl -c conda-forge
9+
fi
10+
if [[ $(avx512) == 1 ]]; then
11+
conda install gcc_linux-64 gxx_linux-64;
12+
sh $(Build.SourcesDirectory)/install_sde.sh;
13+
fi
14+
displayName: Install dependencies
15+
workingDirectory: $(Build.BinariesDirectory)
16+
17+
18+
- script: |
19+
source activate xsimd
20+
mkdir build
21+
cd build
22+
if [[ $(cross_compile) == 1 ]]; then
23+
if [[ $(arm_arch_dir) == 'aarch64-linux-gnu' ]]; then
24+
CMAKE_EXTRA_ARGS="$CMAKE_EXTRA_ARGS -DCROSS_COMPILE_ARM=ON -DARM_ARCH_DIRECTORY=$(arm_arch_dir) -DARM_GCC_VER=4.9.3 -DTARGET_ARCH=$(arm_arch_target) -DCMAKE_LINKER=/usr/bin/aarch64-linux-gnu-ld";
25+
else
26+
CMAKE_EXTRA_ARGS="$CMAKE_EXTRA_ARGS -DCROSS_COMPILE_ARM=ON -DARM_ARCH_DIRECTORY=$(arm_arch_dir) -DARM_GCC_VER=4.9.3 -DTARGET_ARCH=$(arm_arch_target)";
27+
fi
28+
fi
29+
if [[ $(enable_xtl_complex) == 1 ]]; then
30+
CMAKE_EXTRA_ARGS="$CMAKE_EXTRA_ARGS -DENABLE_XTL_COMPLEX=ON";
31+
fi
32+
if [[ $(enable_fallback) == 1 ]]; then
33+
CMAKE_EXTRA_ARGS="$CMAKE_EXTRA_ARGS -DENABLE_FALLBACK=ON";
34+
fi
35+
if [[ $(avx512) == 1 ]]; then
36+
CMAKE_EXTRA_ARGS="$CMAKE_EXTRA_ARGS -DTARGET_ARCH=skylake-avx512";
37+
fi
38+
if [[ $(force_no_instr_set) == 1 ]]; then
39+
CMAKE_EXTRA_ARGS="$CMAKE_EXTRA_ARGS -DXSIMD_FORCE_X86_INSTR_SET=0 -DXSIMD_FORCE_X86_AMD_INSTR_SET=0";
40+
fi
41+
42+
cmake -DCMAKE_INSTALL_PREFIX=$CONDA_PREFIX $CMAKE_EXTRA_ARGS -DDOWNLOAD_GTEST=ON $(Build.SourcesDirectory)
43+
displayName: Configure xsimd
44+
workingDirectory: $(Build.BinariesDirectory)
45+
46+
- script: |
47+
source activate xsimd
48+
make -j2 test_xsimd
49+
displayName: Build xsimd
50+
workingDirectory: $(Build.BinariesDirectory)/build
51+
52+
- script: |
53+
source activate xsimd
54+
if [[ $(avx512) == 1 ]]; then
55+
../../sde-external-8.56.0-2020-07-05-lin/sde64 -skx -- ./test_xsimd ;
56+
elif [[ $(cross_compile) == 1 ]]; then
57+
echo $(arm_arch_dir);
58+
if [[ $(arm_arch_dir) == 'aarch64-linux-gnu' ]]; then
59+
ls /usr/aarch64-linux-gnu/ ;
60+
qemu-aarch64 -L /usr/aarch64-linux-gnu/ ./test_xsimd ;
61+
else
62+
qemu-arm -L /usr/arm-linux-gnueabi/ ./test_xsimd ;
63+
fi
64+
else
65+
./test_xsimd
66+
fi
67+
displayName: Test xsimd
68+
workingDirectory: $(Build.BinariesDirectory)/build/test

0 commit comments

Comments
 (0)