This repository has been archived by the owner on May 3, 2023. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 21
/
Copy pathposix.yml
131 lines (115 loc) · 4.61 KB
/
posix.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
parameters:
name: ""
vmImage: ""
matrix: []
jobs:
- job: ${{ parameters.name }}
pool:
vmImage: ${{ parameters.vmImage }}
variables:
REPO_DIR: "pandas"
BUILD_COMMIT: "v1.5.3"
PLAT: "x86_64"
NP_BUILD_DEP: "numpy==1.17.3"
CYTHON_BUILD_DEP: "cython==0.29.32"
NIGHTLY_BUILD_COMMIT: "main"
NIGHTLY_BUILD: "false"
TEST_DEPENDS: "pytest pytest-xdist hypothesis==6.52.1"
TEST_DIR: "tmp_for_test"
strategy:
matrix:
${{ insert }}: ${{ parameters.matrix }}
steps:
- checkout: self
submodules: true
- task: UsePythonVersion@0
inputs:
versionSpec: $(MB_PYTHON_VERSION)
allowUnstable: true
displayName: Set python version
condition: not(eq(variables['MB_PYTHON_VERSION'], '3.11'))
- bash: |
set -e
SKIP_BUILD="false"
if [ "$BUILD_REASON" == "Schedule" ]; then
BUILD_COMMIT=$NIGHTLY_BUILD_COMMIT
if [ "$NIGHTLY_BUILD" != "true" ]; then
SKIP_BUILD="true"
fi
fi
echo "Building pandas@$BUILD_COMMIT"
echo "##vso[task.setvariable variable=BUILD_COMMIT]$BUILD_COMMIT"
echo "##vso[task.setvariable variable=SKIP_BUILD]$SKIP_BUILD"
# Platform variables used in multibuild scripts
if [ `uname` == 'Darwin' ]; then
echo "##vso[task.setvariable variable=TRAVIS_OS_NAME]osx"
echo "##vso[task.setvariable variable=MACOSX_DEPLOYMENT_TARGET]10.9"
else
echo "##vso[task.setvariable variable=TRAVIS_OS_NAME]linux"
fi
# Store original Python path to be able to create test_venv pointing
# to same Python version.
PYTHON_EXE=`which python`
echo "##vso[task.setvariable variable=PYTHON_EXE]$PYTHON_EXE"
displayName: Define build env variables
- bash: |
set -e
pip install virtualenv wheel
pip install versioneer[toml]
BUILD_DEPENDS="$NP_BUILD_DEP $CYTHON_BUILD_DEP"
source multibuild/common_utils.sh
source multibuild/travis_steps.sh
source extra_functions.sh
# Setup build dependencies
before_install
clean_code $REPO_DIR $BUILD_COMMIT
build_wheel $REPO_DIR $PLAT
displayName: Build wheel
condition: eq(variables['SKIP_BUILD'], 'false')
- bash: |
set -xe
source multibuild/common_utils.sh
source multibuild/travis_steps.sh
source extra_functions.sh
setup_test_venv
install_run $PLAT
teardown_test_venv
displayName: Install wheel and test
condition: eq(variables['SKIP_BUILD'], 'false')
- bash: |
echo "##vso[task.prependpath]$CONDA/bin"
sudo chown -R $USER $CONDA
displayName: Add conda to PATH
condition: and(succeeded(), eq(variables['SKIP_BUILD'], 'false'), ne(variables['Build.Reason'], 'PullRequest'))
- bash: conda install -q -y anaconda-client
displayName: Install anaconda-client
condition: and(succeeded(), eq(variables['SKIP_BUILD'], 'false'), ne(variables['Build.Reason'], 'PullRequest'))
- bash: |
set -e
if [ "$BUILD_REASON" == "Schedule" ]; then
ANACONDA_ORG="scipy-wheels-nightly"
TOKEN="$PANDAS_NIGHTLY_UPLOAD_TOKEN"
else
ANACONDA_ORG="multibuild-wheels-staging"
TOKEN="$PANDAS_STAGING_UPLOAD_TOKEN"
fi
if [ "$TOKEN" == "" ]; then
echo "##[warning] Could not find anaconda.org upload token in secret variables"
fi
echo "##vso[task.setvariable variable=TOKEN]$TOKEN"
echo "##vso[task.setvariable variable=ANACONDA_ORG]$ANACONDA_ORG"
displayName: Retrieve secret upload token
condition: and(succeeded(), eq(variables['SKIP_BUILD'], 'false'), ne(variables['Build.Reason'], 'PullRequest'))
env:
# Secret variables need to mapped to env variables explicitly:
PANDAS_NIGHTLY_UPLOAD_TOKEN: $(PANDAS_NIGHTLY_UPLOAD_TOKEN)
PANDAS_STAGING_UPLOAD_TOKEN: $(PANDAS_STAGING_UPLOAD_TOKEN)
- bash: |
set -e
# The --force option forces a replacement if the remote file already
# exists.
ls wheelhouse/*.whl
anaconda -t $TOKEN upload --force -u $ANACONDA_ORG wheelhouse/*.whl
echo "PyPI-style index: https://pypi.anaconda.org/$ANACONDA_ORG/simple"
displayName: Upload to anaconda.org (only if secret token is retrieved)
condition: ne(variables['TOKEN'], '')