Skip to content

Commit 918cfd3

Browse files
Switch to manylinux2014 image on x86_64 and to py38 for debug wheels (#3327)
Support for `manylinux2010` image that we're using to build datatable on `x86_64` is about to be dropped (pypa/manylinux#1281), so we switch to `manylinux2014` that we're already using on `ppc64le`. Also, Python 3.7 will reach its end of life soon, hence we switch to Python 3.8 when generating debug wheels. In principle, we can generate debug wheels for all the supported Python versions, however, this will significantly slow down our building pipeline.
1 parent 17cb77c commit 918cfd3

File tree

2 files changed

+23
-24
lines changed

2 files changed

+23
-24
lines changed

ci/Jenkinsfile.groovy

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ LINK_MAP = [
6363

6464

6565
DOCKER_IMAGE_PPC64LE_MANYLINUX = "quay.io/pypa/manylinux2014_ppc64le"
66-
DOCKER_IMAGE_X86_64_MANYLINUX = "quay.io/pypa/manylinux2010_x86_64"
66+
DOCKER_IMAGE_X86_64_MANYLINUX = "quay.io/pypa/manylinux2014_x86_64"
6767

6868

6969
// Note: global variables must be declared without `def`
@@ -251,12 +251,12 @@ ansiColor('xterm') {
251251
-c "cd /dot && \
252252
ls -la && \
253253
ls -la src/datatable && \
254-
/opt/python/cp37-cp37m/bin/python3.7 ci/ext.py debugwheel --audit && \
255254
/opt/python/cp37-cp37m/bin/python3.7 ci/ext.py wheel --audit && \
255+
/opt/python/cp38-cp38/bin/python3.8 ci/ext.py debugwheel --audit && \
256256
/opt/python/cp38-cp38/bin/python3.8 ci/ext.py wheel --audit && \
257257
/opt/python/cp39-cp39/bin/python3.9 ci/ext.py wheel --audit && \
258258
/opt/python/cp310-cp310/bin/python3.10 ci/ext.py wheel --audit && \
259-
echo '===== Py3.7 Debug =====' && unzip -p dist/*debug*.whl datatable/_build_info.py && \
259+
echo '===== Py3.8 Debug =====' && unzip -p dist/*debug*.whl datatable/_build_info.py && \
260260
mv dist/*debug*.whl . && \
261261
echo '===== Py3.7 =====' && unzip -p dist/*cp37*.whl datatable/_build_info.py && \
262262
echo '===== Py3.8 =====' && unzip -p dist/*cp38*.whl datatable/_build_info.py && \
@@ -335,12 +335,12 @@ ansiColor('xterm') {
335335
-c "cd /dot && \
336336
ls -la && \
337337
ls -la src/datatable && \
338-
/opt/python/cp37-cp37m/bin/python3.7 ci/ext.py debugwheel --audit && \
339338
/opt/python/cp37-cp37m/bin/python3.7 ci/ext.py wheel --audit && \
339+
/opt/python/cp38-cp38/bin/python3.8 ci/ext.py debugwheel --audit && \
340340
/opt/python/cp38-cp38/bin/python3.8 ci/ext.py wheel --audit && \
341341
/opt/python/cp39-cp39/bin/python3.9 ci/ext.py wheel --audit && \
342342
/opt/python/cp310-cp310/bin/python3.10 ci/ext.py wheel --audit && \
343-
echo '===== Py3.7 Debug =====' && unzip -p dist/*debug*.whl datatable/_build_info.py && \
343+
echo '===== Py3.8 Debug =====' && unzip -p dist/*debug*.whl datatable/_build_info.py && \
344344
mv dist/*debug*.whl . && \
345345
echo '===== Py3.7 =====' && unzip -p dist/*cp37*.whl datatable/_build_info.py && \
346346
echo '===== Py3.8 =====' && unzip -p dist/*cp38*.whl datatable/_build_info.py && \
@@ -365,29 +365,29 @@ ansiColor('xterm') {
365365
if (!params.DISABLE_ALL_TESTS) {
366366
def testStages = [:]
367367
testStages <<
368-
namedStage('Test x86_64-manylinux-py37-debug', { stageName, stageDir ->
368+
namedStage('Test x86_64-manylinux-py37', { stageName, stageDir ->
369369
node(NODE_LINUX) {
370370
buildSummary.stageWithSummary(stageName, stageDir) {
371371
cleanWs()
372372
dumpInfo()
373373
dir(stageDir) {
374374
unstash 'datatable-sources'
375-
unstash 'x86_64-manylinux-debugwheels'
376-
test_in_docker("x86_64-manylinux-py37-debug", "37",
375+
unstash 'x86_64-manylinux-wheels'
376+
test_in_docker("x86_64-manylinux-py37", "37",
377377
DOCKER_IMAGE_X86_64_MANYLINUX)
378378
}
379379
}
380380
}
381381
}) <<
382-
namedStage('Test x86_64-manylinux-py37', { stageName, stageDir ->
382+
namedStage('Test x86_64-manylinux-py38-debug', doPy38Tests, { stageName, stageDir ->
383383
node(NODE_LINUX) {
384384
buildSummary.stageWithSummary(stageName, stageDir) {
385385
cleanWs()
386386
dumpInfo()
387387
dir(stageDir) {
388388
unstash 'datatable-sources'
389-
unstash 'x86_64-manylinux-wheels'
390-
test_in_docker("x86_64-manylinux-py37", "37",
389+
unstash 'x86_64-manylinux-debugwheels'
390+
test_in_docker("x86_64-manylinux-py38-debug", "38",
391391
DOCKER_IMAGE_X86_64_MANYLINUX)
392392
}
393393
}
@@ -435,29 +435,29 @@ ansiColor('xterm') {
435435
}
436436
}
437437
}) <<
438-
namedStage('Test ppc64le-manylinux-py37-debug', doPpcTests, { stageName, stageDir ->
438+
namedStage('Test ppc64le-manylinux-py37', doPpcTests, { stageName, stageDir ->
439439
node(NODE_PPC) {
440440
buildSummary.stageWithSummary(stageName, stageDir) {
441441
cleanWs()
442442
dumpInfo()
443443
dir(stageDir) {
444444
unstash 'datatable-sources'
445-
unstash 'ppc64le-manylinux-debugwheels'
446-
test_in_docker("ppc64le-manylinux-py37-debug", "37",
445+
unstash 'ppc64le-manylinux-wheels'
446+
test_in_docker("ppc64le-manylinux-py37", "37",
447447
DOCKER_IMAGE_PPC64LE_MANYLINUX)
448448
}
449449
}
450450
}
451451
}) <<
452-
namedStage('Test ppc64le-manylinux-py37', doPpcTests, { stageName, stageDir ->
452+
namedStage('Test ppc64le-manylinux-py38-debug', doPpcTests && doPy38Tests, { stageName, stageDir ->
453453
node(NODE_PPC) {
454454
buildSummary.stageWithSummary(stageName, stageDir) {
455455
cleanWs()
456456
dumpInfo()
457457
dir(stageDir) {
458458
unstash 'datatable-sources'
459-
unstash 'ppc64le-manylinux-wheels'
460-
test_in_docker("ppc64le-manylinux-py37", "37",
459+
unstash 'ppc64le-manylinux-debugwheels'
460+
test_in_docker("ppc64le-manylinux-py38-debug", "38",
461461
DOCKER_IMAGE_PPC64LE_MANYLINUX)
462462
}
463463
}

docs/start/install.rst

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -52,16 +52,15 @@ The following platforms are supported:
5252

5353
- **macOS**
5454

55-
Datatable has been tested to work on macOS 10.12.5 (Sierra), macoS 10.13.6
56-
(High Sierra), macOS 10.15.7 (Catalina), and macOS 11.2.3 (BigSur).
57-
The produced wheels are tagged as ``macosx_10_9``, so they should work on
58-
earlier versions of macOS as well.
55+
Datatable has been tested to work on macOS 10.12 (Sierra), macOS 10.13
56+
(High Sierra), macOS 10.15 (Catalina), macOS 11 (BigSur) and
57+
macOS 12 (Monterey).
5958

6059
- **Linux x86_64 / ppc64le**
6160

62-
We produce binary wheels that are tagged as ``manylinux_2_12`` (for ``x86_64``
63-
architecture) and ``manylinux2014`` (for ``ppc64le``). Consequently, they will
64-
work with your Linux distribution if it is compatible with one of these tags.
61+
For ``x86_64`` and ``ppc64le`` architectures we produce binary wheels
62+
that are tagged as ``manylinux_2_17``. Consequently, they will
63+
work with your Linux distribution if it is compatible with this tag.
6564
Please refer to :pep:`600` for details.
6665

6766
- **Windows**

0 commit comments

Comments
 (0)