8000 Added Azure Pipelines · SylvainCorlay/xtensor-python@fb44c66 · GitHub
[go: up one dir, main page]

Skip to content

Commit fb44c66

Browse files
committed
Added Azure Pipelines
1 parent d6f87cf commit fb44c66

File tree

6 files changed

+162
-0
lines changed

6 files changed

+162
-0
lines changed
Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
jobs:
2+
- job: 'Linux_0'
3+
strategy:
4+
matrix:
5+
clang_4:
6+
llvm_version: '4.0'
7+
clang_5:
8+
llvm_version: '5.0'
9+
clang_6:
10+
llvm_version: '6.0'
11+
clang_7:
12+
llvm_version: '7'
13+
clang_8:
14+
llvm_version: '8'
15+
clang_9:
16+
llvm_version: '9'
17+
pool:
18+
vmImage: ubuntu-16.04
19+
variables:
20+
CC: clang-$(llvm_version)
21+
CXX: clang++-$(llvm_version)
22+
timeoutInMinutes: 360
23+
steps:
24+
25+
- script: |
26+
sudo add-apt-repository ppa:ubuntu-toolchain-r/test
27+
if [[ $(llvm_version) == '4.0' || $(llvm_version) == '5.0' ]]; then
28+
sudo apt-get update
29+
sudo apt-get --no-install-suggests --no-install-recommends install gcc-4.9 clang-$(llvm_version)
30+
else
31+
LLVM_VERSION=$(llvm_version)
32+
get -O - http://apt.llvm.org/llvm-snapshot.gpg.key | sudo apt-key add -
33+
sudo add-apt-repository "deb http://apt.llvm.org/xenial/ llvm-toolchain-xenial-$LLVM_VERSION main"
34+
sudo apt-get update
35+
sudo apt-get --no-install-suggests --no-install-recommends install clang-$(llvm_version)
36+
fi
37+
displayName: Install build toolchain
38+
39+
- bash: echo "##vso[task.prependpath]$CONDA/bin"
40+
displayName: Add conda to PATH
41+
42+
- template: unix-build.yml
Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
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:
10+
gcc_version: '6'
11+
gcc_7:
12+
gcc_version: '7'
13+
gcc_8:
14+
gcc_version: '8'
15+
gcc_9:
16+
gcc_version: '9'
17+
pool:
18+
vmImage: ubuntu-16.04
19+
variables:
20+
CC: gcc-$(gcc_version)
21+
CXX: g++-$(gcc_version)
22+
timeoutInMinutes: 360
23+
steps:
24+
25+
- script: |
26+
if [[ $(gcc_version) == '4.9' || $(gcc_version) == '6' ]]; then
27+
sudo add-apt-repository ppa:ubuntu-toolchain-r/test
28+
sudo apt-get update
29+
sudo apt-get --no-install-suggests --no-install-recommends install g++-$(gcc_version)
30+
fi
31+
displayName: Install build toolchain
32+
33+
- bash: echo "##vso[task.prependpath]$CONDA/bin"
34+
displayName: Add conda to PATH
35+
36+
- template: unix-build.yml
37+
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
jobs:
2+
- job: 'OSX'
3+
strategy:
4+
matrix:
5+
macOS_10_14:
6+
image_name: 'macOS-10.14'
7+
macOS_10_15:
8+
image_name: 'macOS-10.15'
9+
pool:
10+
vmImage: $(image_name)
11+
variables:
12+
CC: clang
13+
CXX: clang++
14+
timeoutInMinutes: 360
15+
steps:
16+
- script: |
17+
echo "Removing homebrew for Azure to avoid conflicts with conda"
18+
curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/uninstall > ~/uninstall_homebrew
19+
chmod +x ~/uninstall_homebrew
20+
~/uninstall_homebrew -f -q
21+
displayName: Remove homebrew
22+
23+
- bash: |
24+
echo "##vso[task.prependpath]$CONDA/bin"
25+
sudo chown -R $USER $CONDA
26+
displayName: Add conda to PATH
27+
28+
- template: unix-build.yml

.azure-pipelines/unix-build.yml

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
steps:
2+
- script: |
3+
conda config --set always_yes yes --set changeps1 no
4+
conda update -q conda
5+
conda env create --file environment-dev.yml
6+
source activate xtensor-python
7+
displayName: Install dependencies
8+
9+
- script: |
10+
source activate xtensor-python
11+
mkdir build
12+
cd build
13+
cmake -DCMAKE_INSTALL_PREFIX=$CONDA_PREFIX -DPYTHON_EXECUTABLE=`which python` -DDOWNLOAD_GTEST=ON $(Build.SourcesDirectory)
14+
displayName: Configure xtensor-python
15+
workingDirectory: $(Build.BinariesDirectory)
16+
17+
- script: |
18+
source activate xtensor-python
19+
make -j2 test_xtensor_python
20+
displayName: Build xtensor-python
21+
workingDirectory: $(Build.BinariesDirectory)/build
22+
23+
- script: |
24+
source activate xtensor-python
25+
cd test
26+
./test_xtensor_python
27+
displayName: Test xtensor-python (C++)
28+
workingDirectory: $(Build.BinariesDirectory)/build/test
29+
30+
- script: |
31+
source activate xtensor-python
32+
py.test -s
33+
displayName: Test xtensor-python (Python)
34+
workingDirectory: $(Build.BinariesDirectory)/build

azure-pipelines.yml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
trigger:
2+
- master
3+
4+
jobs:
5+
- template: ./.azure-pipelines/azure-pipelines-linux-clang.yml
6+
- template: ./.azure-pipelines/azure-pipelines-linux-gcc.yml
7+
- template: ./.azure-pipelines/azure-pipelines-osx.yml
8+

environment-dev.yml

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
name: xtensor-python
2+
channels:
3+
- conda-forge
4+
dependencies:
5+
# Build dependencies
6+
- cmake
7+
# Host dependencies
8+
- xtensor=0.21.4
9+
- numpy
10+
- pybind11=2.4.3
11+
# Test dependencies
12+
- pytest
13+

0 commit comments

Comments
 (0)
0