8000 Set up CI with Azure Pipelines by azure-pipelines[bot] · Pull Request #22760 · pandas-dev/pandas · GitHub
[go: up one dir, main page]

Skip to content

Set up CI with Azure Pipelines #22760

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 14 commits into from
Sep 19, 2018
Prev Previous commit
Next Next commit
Add macos
  • Loading branch information
TomAugspurger committed Sep 19, 2018
commit 78e3282c4c05f5d81d55c6e2b7cd554c857f6136
8 changes: 4 additions & 4 deletions azure-pipelines.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,10 @@ jobs:
# Mac and Linux could potentially use the same template
# except it isn't clear how to use a different build matrix
# for each, so for now they are separate
# - template: ci/azure/macos.yml
# parameters:
# name: macOS
# vmImage: xcode9-macos10.13
- template: ci/azure/macos.yml
parameters:
name: macOS
vmImage: xcode9-macos10.13
# - template: ci/azure/linux.yml
# parameters:
# name: Linux
Expand Down
28 changes: 28 additions & 0 deletions ci/azure-macos-35.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
name: pandas
channels:
- defaults
dependencies:
- beautifulsoup4
- bottleneck
- cython>=0.28.2
- html5lib
- jinja2
- lxml
- matplotlib
- nomkl
- numexpr
- numpy=1.10.4
- openpyxl=2.5.5
- pytables
- python=3.5*
- pytz
- xarray
- xlrd
- xlsxwriter
- xlwt
# universal
- pytest
- pytest-xdist
- pip:
- python-dateutil==2.5.3
- hypothesis>=3.58.0
File renamed without changes.
File renamed without changes.
39 changes: 39 additions & 0 deletions ci/azure/macos.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
parameters:
name: ''
vmImage: ''

jobs:
- job: ${{ parameters.name }}
pool:
vmImage: ${{ parameters.vmImage }}
strategy:
maxParallel: 11
matrix:
py35_np_110:
ENV_FILE: ci/azure-macos-35.yml
CONDA_PY: "35"
CONDA_ENV: pandas
TEST_ARGS: "--skip-slow --skip-network"

steps:
- script: |
if [ "$(uname)" == "Linux" ]; then sudo apt-get install -y libc6-dev-i386; fi
echo "Installing Miniconda"
ci/incremental/install_miniconda.sh
export PATH=$HOME/miniconda3/bin:$PATH
echo "Setting up Conda environment"
ci/incremental/setup_conda_environment.sh
displayName: 'Before Install'
- script: |
export PATH=$HOME/miniconda3/bin:$PATH
ci/incremental/build.sh
displayName: 'Build'
- script: |
export PATH=$HOME/miniconda3/bin:$PATH
ci/incremental/script_single.sh
ci/incremental/script_multi.sh
echo "Test done"
displayName: 'Test'
- script: |
export PATH=$HOME/miniconda3/bin:$PATH
source activate pandas && pushd /tmp && python -c "import pandas; pandas.show_versions();" && popd
2 changes: 1 addition & 1 deletion ci/azure/windows-py27.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ jobs:
maxParallel: 11
matrix:
py36_np14:
ENV_FILE: ci/azure-27.yml
ENV_FILE: ci/azure-windows-27.yml
CONDA_PY: "27"
CONDA_ENV: pandas

Expand Down
2 changes: 1 addition & 1 deletion ci/azure/windows.yml
View file Open in desktop
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ jobs:
maxParallel: 11
matrix:
py36_np14:
ENV_FILE: ci/azure-36.yml
ENV_FILE: ci/azure-windows-36.yml
CONDA_PY: "36"
CONDA_ENV: pandas

Expand Down
18 changes: 18 additions & 0 deletions ci/incremental/build.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
#!/bin/bash

source activate $CONDA_ENV

# Make sure any error below is reported as such
set -v -e

echo "[building extensions]"
python setup.py build_ext -q --inplace
python -m pip install -e

echo
echo "[show environment]"
conda list

echo
echo "[done]"
exit 0
19 changes: 19 additions & 0 deletions ci/incremental/install_miniconda.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
#!/bin/bash

set -v -e

# Install Miniconda
unamestr=`uname`
if [[ "$unamestr" == 'Linux' ]]; then
if [[ "$BITS32" == "yes" ]]; then
wget https://repo.continuum.io/miniconda/Miniconda3-latest-Linux-x86.sh -O miniconda.sh
else
wget https://repo.continuum.io/miniconda/Miniconda3-latest-Linux-x86_64.sh -O miniconda.sh
fi
elif [[ "$unamestr" == 'Darwin' ]]; then
wget https://repo.continuum.io/miniconda/Miniconda3-latest-MacOSX-x86_64.sh -O miniconda.sh
else
echo Error
fi
chmod +x miniconda.sh
./miniconda.sh -b
49 changes: 49 additions & 0 deletions ci/incremental/setup_conda_environment.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
#!/bin/bash

set -v -e

CONDA_INSTALL="conda install -q -y"
PIP_INSTALL="pip install -q"

# Deactivate any environment
source deactivate
# Display root environment (for debugging)
conda list
# Clean up any left-over from a previous build
# (note workaround for https://github.com/conda/conda/issues/2679:
# `conda env remove` issue)
conda remove --all -q -y -n $CONDA_ENV

echo
echo "[create env]"
time conda env create -q -n "${CONDA_ENV}" --file="${ENV_FILE}" || exit 1

# Activate first
set +v
source activate $CONDA_ENV
set -v

# remove any installed pandas package
# w/o removing anything else
echo
echo "[removing installed pandas]"
conda remove pandas -y --force
pip uninstall -y pandas

echo
echo "[no installed pandas]"
conda list pandas
pip list --format columns |grep pandas

# # Install the compiler toolchain
# if [[ $(uname) == Linux ]]; then
# if [[ "$CONDA_SUBDIR" == "linux-32" || "$BITS32" == "yes" ]] ; then
# $CONDA_INSTALL gcc_linux-32 gxx_linux-32
# else
# $CONDA_INSTALL gcc_linux-64 gxx_linux-64
# fi
# elif [[ $(uname) == Darwin ]]; then
# $CONDA_INSTALL clang_osx-64 clangxx_osx-64
# # Install llvm-openmp and intel-openmp on OSX too
# $CONDA_INSTALL llvm-openmp intel-openmp
# fi
0