Skip to content

Commit fe5fb33

Browse files
authored
Deprecate Python 3.6 Wheels (#1300)
1 parent ab4e867 commit fe5fb33

File tree

3 files changed

+20
-166
lines changed

3 files changed

+20
-166
lines changed

HISTORY.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,10 @@
1+
# In Progress
2+
3+
## Misc Updates
4+
* Wheels will no longer be supported for macOS 10.15 Catalina; the minimum supported macOS version is now 11 Big Sur [#1300](https://github.com/TileDB-Inc/TileDB-Py/pull/1300)
5+
* Wheels will no longer supported for Python 3.6 [#1300](https://github.com/TileDB-Inc/TileDB-Py/pull/1300)
6+
7+
18
# TileDB-Py 0.17.2 Release Notes
29

310
## TileDB Embedded updates:

misc/azure-release.yml

Lines changed: 8 additions & 147 deletions
Original file line numberDiff line numberDiff line change
@@ -18,10 +18,11 @@ stages:
1818

1919
jobs:
2020
- job: build1_libtiledb
21+
timeoutInMinutes: 120
2122
strategy:
2223
matrix:
2324
macOS_libtiledb:
24-
imageName: "macOS-1015"
25+
imageName: "macOS-11"
2526
windows_libtiledb:
2627
imageName: "windows-latest"
2728
pool:
@@ -32,6 +33,7 @@ stages:
3233
- template: azure-libtiledb-darwin.yml
3334

3435
- job: build1_libtiledb_on_linux
36+
timeoutInMinutes: 120
3537
pool:
3638
vmImage: "ubuntu-latest"
3739
container: quay.io/pypa/manylinux2010_x86_64:2022-04-24-d28e73e
@@ -42,162 +44,21 @@ stages:
4244
- task: UsePythonVersion@0
4345
- template: azure-libtiledb-darwin.yml
4446

45-
- job: build2_python310
46-
dependsOn: [build1_libtiledb, build1_libtiledb_on_linux]
47-
condition: succeeded()
48-
variables:
49-
cibw_test_requires: "pytest"
50-
USE_CIBW_VERSION: 2.3.0
51-
strategy:
52-
matrix:
53-
linux_py:
54-
imageName: "ubuntu-latest"
55-
CIBW_BUILD: "cp310-*"
56-
CIBW_SKIP: "*_i686 pp* *musl*"
57-
CIBW_BUILD_VERBOSITY: 3
58-
macOS_py:
59-
imageName: "macOS-1015"
60-
CIBW_BUILD: "cp310-*"
61-
CIBW_SKIP: "pp*"
62-
CIBW_BUILD_VERBOSITY: 3
63-
windows_py:
64-
imageName: "windows-latest"
65-
CIBW_BUILD: "cp310-*"
66-
CIBW_SKIP: "*-win32 pp*"
67-
CIBW_BUILD_VERBOSITY: 3
68-
pool:
69-
vmImage: $(imageName)
70-
71-
steps:
72-
- script: git tag -f $(TILEDBPY_VERSION)
73-
74-
- task: DownloadPipelineArtifact@2
75-
displayName: "Download libtiledb artifact"
76-
inputs:
77-
artifactName: libtiledb-$(Agent.OS)
78-
path: $(TILEDB_INSTALL)
79-
80-
# we have to archive the files because azp breaks newlines in a bare directory restore
81-
- bash: |
82-
set -x
83-
if [[ "$AGENT_OS" == "Windows_NT" ]]; then
84-
7z x -o${TILEDB_INSTALL}/ ${TILEDB_INSTALL}/libtiledb-${LIBTILEDB_VERSION}-${LIBTILEDB_SHA} -y
85-
else
86-
tar xzf ${TILEDB_INSTALL}/libtiledb-${LIBTILEDB_VERSION}-${LIBTILEDB_SHA} -C ${TILEDB_INSTALL};
87-
find ${TILEDB_INSTALL}
88-
fi
89-
90-
# Copy libz (temporary work-around for delocate on macOS)
91-
if [[ "$AGENT_OS" == "Darwin" ]]; then
92-
cp ${TILEDB_INSTALL}/lib/libz.1.dylib $BUILD_REPOSITORY_LOCALPATH
93-
install_name_tool -change libz.1.dylib ${BUILD_REPOSITORY_LOCALPATH}/libz.1.dylib ${TILEDB_INSTALL}/lib/libtiledb.dylib
94-
fi
95-
displayName: "Extract libtiledb files"
96-
97-
- bash: |
98-
# Set the CIBW_ENVIRONMENT from bash in order to get forward slashes because somewhere in the
99-
# cmd/cibw/python chain we end up losing the slashes entirely if we use a job-level variable.
100-
MPATH=$(python -c 'import os; print(os.environ["TILEDB_INSTALL"].replace("\\","/"))')
101-
export CIBW_ENVIRONMENT="TILEDB_PATH=${MPATH}"
102-
# !!! DO NOT PUT OTHER VARIABLES IN THIS SECTION - vars w/out expansions go below !!!"
103-
echo "##vso[task.setvariable variable=CIBW_ENVIRONMENT]$CIBW_ENVIRONMENT"
104-
displayName: "Set CIBW_ENVIRONMENT"
105-
condition: and(succeeded(), ne(variables['Agent.OS'], 'Linux'))
106-
107-
- bash: |
108-
set -xe pipefail
109-
110-
mv ${TILEDB_INSTALL} .libtiledb
111-
export TILEDB_INSTALL=.libtiledb
112-
export CIBW_ENVIRONMENT="TILEDB_PATH=${TILEDB_INSTALL} TILEDB_WHEEL_BUILD=1"
113-
# use the requirements_wheel.txt with numpy pins to ensure ABI compatibility
114-
export CIBW_TEST_COMMAND="python -c 'import tiledb'"
115-
# copy libtiledb into usr/local for audithweel to find
116-
export CIBW_BEFORE_BUILD="cp -R .libtiledb/* /usr/local"
117-
ls -lR "${TILEDB_INSTALL}"
118-
119-
python -c "import os; print(os.environ.get('CIBW_ENVIRONMENT', None))"
120-
git rev-parse HEAD
121-
python3 -m pip install --upgrade pip pytest cython pybind11
122-
python3 setup.py sdist --dist-dir wheelhouse
123-
pip3 install cibuildwheel==${USE_CIBW_VERSION}
124-
cibuildwheel --output-dir wheelhouse .
125-
displayName: "Build and test wheels (Linux)"
126-
condition: and(succeeded(), eq(variables['Agent.OS'], 'Linux'))
127-
128-
- bash: |
129-
set -xe pipefail
130-
131-
export TILEDB_WHEEL_BUILD=1
132-
# use the requirements_wheel.txt with numpy pins to ensure ABI compatibility
133-
export CIBW_TEST_COMMAND="python -c 'import tiledb'"
134-
echo "${TILEDB_INSTALL}"
135-
136-
python -c "import os; print(os.environ.get('CIBW_ENVIRONMENT', None))"
137-
git rev-parse HEAD
138-
python3 -m pip install --upgrade pip pytest cython pybind11
139-
python3 setup.py sdist --dist-dir wheelhouse
140-
pip3 install cibuildwheel==${USE_CIBW_VERSION}
141-
cibuildwheel --output-dir wheelhouse .
142-
displayName: "Build and test wheels (macOS)"
143-
condition: and(succeeded(), eq(variables['Agent.OS'], 'Darwin'))
144-
145-
- script: |
146-
echo ON
147-
set "TILEDB_WHEEL_BUILD=1"
148-
:: # Have not managed to get this working AZP quoting breaks the command
149-
:: set CIBW_TEST_COMMAND=python -c \"import tiledb\""
150-
echo "cibw env: "
151-
echo "%CIBW_ENVIRONMENT%"
152-
echo "tiledb_install: "
153-
echo "%TILEDB_INSTALL%"
154-
python -c "import os; print(os.environ['CIBW_ENVIRONMENT'])"
155-
python -c "import platform; print('py compiler: ', platform.python_compiler())"
156-
:: this runs under cmd on windows, which we need to use vcvarsall
157-
call "C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Auxiliary\Build\vcvarsall.bat" x64
158-
git rev-parse HEAD
159-
python -m pip install --upgrade pip pytest cython pybind11
160-
python setup.py sdist --dist-dir wheelhouse
161-
pip install cibuildwheel==%USE_CIBW_VERSION%
162-
cibuildwheel --output-dir wheelhouse .
163-
:: delete the sdist because we *do not* want files with CRLF endings
164-
:: (if windows builds finish last then the windows sdist will be
165-
:: overwrite any others in the artifact publishing step)
166-
del /q wheelhouse\*.tar.gz
167-
displayName: "Build and test wheels (Windows)"
168-
condition: and(succeeded(), eq(variables['Agent.OS'], 'Windows_NT'))
169-
170-
- template: azure-print-logs.yml
171-
172-
- task: PublishBuildArtifacts@1
173-
inputs: { pathtoPublish: "wheelhouse" }
174-
175-
- bash: |
176-
set -x
177-
echo "TILEDB_SRC -----------------------------------------"
178-
find $TILEDB_SRC || true
179-
echo "TILEDB_BUILD -----------------------------------------"
180-
find $TILEDB_BUILD || true
181-
echo "TILEDB_INSTALL -----------------------------------------"
182-
find $TILEDB_INSTALL || true
183-
displayName: "List all the files"
184-
condition: always()
185-
18647
- job: build2_python
18748
dependsOn: [build1_libtiledb, build1_libtiledb_on_linux]
18849
condition: succeeded()
18950
variables:
19051
cibw_test_requires: "pytest"
191-
USE_CIBW_VERSION: 1.6.4
52+
USE_CIBW_VERSION: 2.3.0
19253
strategy:
19354
matrix:
19455
linux_py:
19556
imageName: "ubuntu-latest"
196-
CIBW_SKIP: "cp27-* cp35-* *_i686 pp*"
57+
CIBW_SKIP: "cp27-* cp35-* cp36-* *_i686 pp* *musllinux*"
19758
CIBW_BUILD_VERBOSITY: 3
19859
macOS_py:
199-
imageName: "macOS-1015"
200-
CIBW_SKIP: "cp27-* cp35-* pp*"
60+
imageName: "macOS-11"
61+
CIBW_SKIP: "cp27-* cp35-* cp36-* pp*"
20162
CIBW_BUILD_VERBOSITY: 3
20263
windows_py:
20364
imageName: "windows-latest"
@@ -250,7 +111,7 @@ stages:
250111
export CIBW_ENVIRONMENT="TILEDB_PATH=${TILEDB_INSTALL} TILEDB_WHEEL_BUILD=1"
251112
# use the requirements_wheel.txt with numpy pins to ensure ABI compatibility
252113
export CIBW_TEST_COMMAND="python -c 'import tiledb'"
253-
# copy libtiledb into usr/local for audithweel to find
114+
# copy libtiledb into usr/local for auditwheel to find
254115
export CIBW_BEFORE_BUILD="cp -R .libtiledb/* /usr/local"
255116
ls -lR "${TILEDB_INSTALL}"
256117

misc/pypi_linux/build.sh

Lines changed: 5 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -14,27 +14,13 @@ set -ex
1414

1515
export TILEDB_PY_REPO="/opt/TileDB-Py"
1616

17-
# build python36 wheel
18-
cd /home/tiledb
19-
git clone $TILEDB_PY_REPO TileDB-Py36
20-
git -C TileDB-Py36 checkout $TILEDBPY_VERSION
21-
22-
cd /home/tiledb/TileDB-Py36
23-
/opt/python/cp36-cp36m/bin/python3.6 -m pip install -r misc/requirements_wheel.txt
24-
/opt/python/cp36-cp36m/bin/python3.6 setup.py build_ext bdist_wheel --tiledb=/usr/local
25-
auditwheel repair dist/*.whl
26-
/opt/python/cp36-cp36m/bin/python3.6 -m pip install wheelhouse/*.whl
27-
cd tiledb/tests
28-
#/opt/python/cp36-cp36m/bin/python3.6 -m unittest
29-
30-
3117
# build python37 wheel
3218
cd /home/tiledb
3319
git clone $TILEDB_PY_REPO TileDB-Py37
3420
git -C TileDB-Py37 checkout $TILEDBPY_VERSION
3521

3622
cd /home/tiledb/TileDB-Py37
37-
/opt/python/cp36-cp36m/bin/python3.6 -m pip install -r misc/requirements_wheel.txt
23+
/opt/python/cp37-cp37m/bin/python3.7 -m pip install -r misc/requirements_wheel.txt
3824
/opt/python/cp37-cp37m/bin/python3.7 setup.py build_ext bdist_wheel --tiledb=/usr/local
3925
auditwheel repair dist/*.whl
4026
/opt/python/cp37-cp37m/bin/python3.7 -m pip install wheelhouse/*.whl
@@ -47,7 +33,7 @@ git clone $TILEDB_PY_REPO TileDB-Py38
4733
git -C TileDB-Py38 checkout $TILEDBPY_VERSION
4834

4935
cd /home/tiledb/TileDB-Py38
50-
/opt/python/cp36-cp36m/bin/python3.6 -m pip install -r misc/requirements_wheel.txt
36+
/opt/python/cp38-cp38m/bin/python3.8 -m pip install -r misc/requirements_wheel.txt
5137
/opt/python/cp38-cp38/bin/python3.8 setup.py build_ext bdist_wheel --tiledb=/usr/local
5238
auditwheel repair dist/*.whl
5339
/opt/python/cp38-cp38/bin/python3.8 -m pip install wheelhouse/*.whl
@@ -59,7 +45,7 @@ git clone $TILEDB_PY_REPO TileDB-Py39
5945
git -C TileDB-Py39 checkout $TILEDBPY_VERSION
6046

6147
cd /home/tiledb/TileDB-Py39
62-
/opt/python/cp36-cp36m/bin/python3.6 -m pip install -r misc/requirements_wheel.txt
48+
/opt/python/cp39-cp39m/bin/python3.9 -m pip install -r misc/requirements_wheel.txt
6349
/opt/python/cp39-cp39/bin/python3.9 setup.py build_ext bdist_wheel --tiledb=/usr/local
6450
auditwheel repair dist/*.whl
6551
/opt/python/cp39-cp39/bin/python3.9 -m pip install wheelhouse/*.whl
@@ -71,14 +57,14 @@ git clone $TILEDB_PY_REPO TileDB-Py310
7157
git -C TileDB-Py310 checkout $TILEDBPY_VERSION
7258

7359
cd /home/tiledb/TileDB-Py310
74-
/opt/python/cp36-cp36m/bin/python3.6 -m pip install -r misc/requirements_wheel.txt
60+
/opt/python/cp310-cp310m/bin/python3.10 -m pip install -r misc/requirements_wheel.txt
7561
/opt/python/cp310-cp310/bin/python3.10 setup.py build_ext bdist_wheel --tiledb=/usr/local
7662
auditwheel repair dist/*.whl
7763
/opt/python/cp310-cp310/bin/python3.10 -m pip install wheelhouse/*.whl
7864
cd tiledb/tests
7965

8066
# copy build products out
81-
cp /home/tiledb/TileDB-Py36/wheelhouse/* /wheels
8267
cp /home/tiledb/TileDB-Py37/wheelhouse/* /wheels
8368
cp /home/tiledb/TileDB-Py38/wheelhouse/* /wheels
8469
cp /home/tiledb/TileDB-Py39/wheelhouse/* /wheels
70+
cp /home/tiledb/TileDB-Py310/wheelhouse/* /wheels

0 commit comments

Comments
 (0)