Skip to content

Commit f6ce3e7

Browse files
azure-pipelines[bot]TomAugspurger
authored andcommitted
Set up CI with Azure Pipelines (#22760)
1 parent d923385 commit f6ce3e7

15 files changed

+253
-188
lines changed

.travis.yml

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -30,11 +30,6 @@ matrix:
3030
exclude:
3131
# Exclude the default Python 3.5 build
3232
- python: 3.5
33-
include:
34-
- os: osx
35-
language: generic
36-
env:
37-
- JOB="3.5, OSX" ENV_FILE="ci/travis-35-osx.yaml" TEST_ARGS="--skip-slow --skip-network"
3833

3934
- dist: trusty
4035
env:

appveyor.yml

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

azure-pipelines.yml

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
# Adapted from https://github.com/numba/numba/blob/master/azure-pipelines.yml
2+
jobs:
3+
# Mac and Linux could potentially use the same template
4+
# except it isn't clear how to use a different build matrix
5+
# for each, so for now they are separate
6+
- template: ci/azure/macos.yml
7+
parameters:
8+
name: macOS
9+
vmImage: xcode9-macos10.13
10+
# - template: ci/azure/linux.yml
11+
# parameters:
12+
# name: Linux
13+
# vmImage: ubuntu-16.04
14+
15+
# Windows Python 2.7 needs VC 9.0 installed, and not sure
16+
# how to make that a conditional task, so for now these are
17+
# separate templates as well
18+
- template: ci/azure/windows.yml
19+
parameters:
20+
name: Windows
21+
vmImage: vs2017-win2017
22+
- template: ci/azure/windows-py27.yml
23+
parameters:
24+
name: WindowsPy27
25+
vmImage: vs2017-win2017
File renamed without changes.
File renamed without changes.
File renamed without changes.

ci/azure/macos.yml

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
parameters:
2+
name: ''
3+
vmImage: ''
4+
5+
jobs:
6+
- job: ${{ parameters.name }}
7+
pool:
8+
vmImage: ${{ parameters.vmImage }}
9+
strategy:
10+
maxParallel: 11
11+
matrix:
12+
py35_np_110:
13+
ENV_FILE: ci/azure-macos-35.yml
14+
CONDA_PY: "35"
15+
CONDA_ENV: pandas
16+
TEST_ARGS: "--skip-slow --skip-network"
17+
18+
steps:
19+
- script: |
20+
if [ "$(uname)" == "Linux" ]; then sudo apt-get install -y libc6-dev-i386; fi
21+
echo "Installing Miniconda"
22+
ci/incremental/install_miniconda.sh
23+
export PATH=$HOME/miniconda3/bin:$PATH
24+
echo "Setting up Conda environment"
25+
ci/incremental/setup_conda_environment.sh
26+
displayName: 'Before Install'
27+
- script: |
28+
export PATH=$HOME/miniconda3/bin:$PATH
29+
ci/incremental/build.sh
30+
displayName: 'Build'
31+
- script: |
32+
export PATH=$HOME/miniconda3/bin:$PATH
33+
ci/script_single.sh
34+
ci/script_multi.sh
35+
echo "[Test done]"
36+
displayName: 'Test'
37+
- script: |
38+
export PATH=$HOME/miniconda3/bin:$PATH
39+
source activate pandas && pushd /tmp && python -c "import pandas; pandas.show_versions();" && popd

ci/azure/windows-py27.yml

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
parameters:
2+
name: ''
3+
vmImage: ''
4+
5+
jobs:
6+
- job: ${{ parameters.name }}
7+
pool:
8+
vmImage: ${{ parameters.vmImage }}
9+
strategy:
10+
maxParallel: 11
11+
matrix:
12+
py36_np14:
13+
ENV_FILE: ci/azure-windows-27.yml
14+
CONDA_PY: "27"
15+
CONDA_ENV: pandas
16+
17+
steps:
18+
- task: CondaEnvironment@1
19+
inputs:
20+
updateConda: no
21+
packageSpecs: ''
22+
23+
# Need to install VC 9.0 only for Python 2.7
24+
# Once we understand how to do tasks conditional on build matrix variables
25+
# we could merge this into azure-windows.yml
26+
- powershell: |
27+
$wc = New-Object net.webclient
28+
$wc.Downloadfile("https://download.microsoft.com/download/7/9/6/796EF2E4-801B-4FC4-AB28-B59FBF6D907B/VCForPython27.msi", "VCForPython27.msi")
29+
Start-Process "VCForPython27.msi" /qn -Wait
30+
displayName: 'Install VC 9.0'
31+
32+
- script: |
33+
ci\\incremental\\setup_conda_environment.cmd
34+
displayName: 'Before Install'
35+
- script: |
36+
ci\\incremental\\build.cmd
37+
displayName: 'Build'
38+
- script: |
39+
call activate %CONDA_ENV%
40+
pytest --skip-slow --skip-network pandas -n 2 -r sxX --strict %*
41+
displayName: 'Test'

ci/azure/windows.yml

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
parameters:
2+
name: ''
3+
vmImage: ''
4+
5+
jobs:
6+
- job: ${{ parameters.name }}
7+
pool:
8+
vmImage: ${{ parameters.vmImage }}
9+
strategy:
10+
maxParallel: 11
11+
matrix:
12+
py36_np14:
13+
ENV_FILE: ci/azure-windows-36.yml
14+
CONDA_PY: "36"
15+
CONDA_ENV: pandas
16+
17+
steps:
18+
- task: CondaEnvironment@1
19+
inputs:
20+
updateConda: no
21+
packageSpecs: ''
22+
23+
- script: |
24+
ci\\incremental\\setup_conda_environment.cmd
25+
displayName: 'Before Install'
26+
- script: |
27+
ci\\incremental\\build.cmd
28+
displayName: 'Build'
29+
- script: |
30+
call activate %CONDA_ENV%
31+
pytest --skip-slow --skip-network pandas -n 2 -r sxX --strict %*
32+
displayName: 'Test'

ci/incremental/build.cmd

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
@rem https://github.com/numba/numba/blob/master/buildscripts/incremental/build.cmd
2+
call activate %CONDA_ENV%
3+
4+
@rem Build numba extensions without silencing compile errors
5+
python setup.py build_ext -q --inplace
6+
7+
@rem Install pandas locally
8+
python -m pip install -e .
9+
10+
if %errorlevel% neq 0 exit /b %errorlevel%

0 commit comments

Comments
 (0)