From a70bdeb6de2b5b70eb223f134296b046aff94dfc Mon Sep 17 00:00:00 2001 From: Hugo van Kemenade Date: Sat, 4 Sep 2021 18:19:11 +0300 Subject: [PATCH 1/5] Test on 20.04 instead of EOL 16.04 --- .github/workflows/test.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index ddce44aa..f7490bf4 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -9,11 +9,11 @@ jobs: fail-fast: false matrix: python-version: [ "3.6", "3.7", "3.8", "3.9"] - os: [ubuntu-18.04, ubuntu-16.04, macos-latest, windows-2019] + os: [ubuntu-20.04, ubuntu-18.04, macos-latest, windows-2019] include: # PyPy3 + - { python-version: "pypy3", os: ubuntu-20.04 } - { python-version: "pypy3", os: ubuntu-18.04 } - - { python-version: "pypy3", os: ubuntu-16.04 } # Dev versions - { python-version: "3.10-dev", os: ubuntu-20.04 } From 5212f6e6a3d461ebaebde0159cf2fa3f45353a79 Mon Sep 17 00:00:00 2001 From: Hugo van Kemenade Date: Sat, 4 Sep 2021 18:22:50 +0300 Subject: [PATCH 2/5] Add support for Python 3.10 --- .github/workflows/test.yml | 4 +--- setup.py | 1 + 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index f7490bf4..bc7bc31e 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -8,14 +8,12 @@ jobs: strategy: fail-fast: false matrix: - python-version: [ "3.6", "3.7", "3.8", "3.9"] + python-version: [ "3.6", "3.7", "3.8", "3.9", "3.10-dev"] os: [ubuntu-20.04, ubuntu-18.04, macos-latest, windows-2019] include: # PyPy3 - { python-version: "pypy3", os: ubuntu-20.04 } - { python-version: "pypy3", os: ubuntu-18.04 } - # Dev versions - - { python-version: "3.10-dev", os: ubuntu-20.04 } steps: - uses: actions/checkout@v2 diff --git a/setup.py b/setup.py index 5606670d..26c95832 100644 --- a/setup.py +++ b/setup.py @@ -12,6 +12,7 @@ Programming Language :: Python :: 3.7 Programming Language :: Python :: 3.8 Programming Language :: Python :: 3.9 +Programming Language :: Python :: 3.10 Programming Language :: Python :: 3 :: Only """ From ec7254d383aab83d7308f6ba809937a269688ae4 Mon Sep 17 00:00:00 2001 From: Hugo van Kemenade Date: Sat, 4 Sep 2021 18:31:25 +0300 Subject: [PATCH 3/5] Test PyPy3 on Windows --- .github/workflows/test.yml | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index bc7bc31e..8c643949 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -8,12 +8,10 @@ jobs: strategy: fail-fast: false matrix: - python-version: [ "3.6", "3.7", "3.8", "3.9", "3.10-dev"] + python-version: [ "3.6", "3.7", "3.8", "3.9", "3.10-dev", "pypy3"] os: [ubuntu-20.04, ubuntu-18.04, macos-latest, windows-2019] - include: - # PyPy3 - - { python-version: "pypy3", os: ubuntu-20.04 } - - { python-version: "pypy3", os: ubuntu-18.04 } + exclude: + - { python-version: "pypy3", os: macos-latest } steps: - uses: actions/checkout@v2 From 1e599682a4332aade0637b789fa899dc9994158b Mon Sep 17 00:00:00 2001 From: Hugo van Kemenade Date: Sat, 4 Sep 2021 18:41:12 +0300 Subject: [PATCH 4/5] Build Python 3.10 wheels --- .github/workflows/deploy-wheels.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/deploy-wheels.yml b/.github/workflows/deploy-wheels.yml index c937ccb9..41ac5711 100644 --- a/.github/workflows/deploy-wheels.yml +++ b/.github/workflows/deploy-wheels.yml @@ -18,7 +18,7 @@ jobs: fail-fast: false matrix: os: [windows-latest, macOS-latest] - python-version: [3.6, 3.7, 3.8, 3.9] + python-version: ["3.6", "3.7", "3.8", "3.9", "3.10-dev"] include: - os: ubuntu-latest python-version: 3.8 From cd897fde737966505e40b138170e816f7ec17d6e Mon Sep 17 00:00:00 2001 From: Hugo van Kemenade Date: Sun, 5 Sep 2021 20:24:35 +0300 Subject: [PATCH 5/5] Update manylinux1 to manylinux2014 for Python 3.10 --- .github/workflows/deploy-wheels.yml | 4 ++-- scripts/build-manylinux-wheels.sh | 6 +++--- scripts/build-manylinux.py | 2 +- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/.github/workflows/deploy-wheels.yml b/.github/workflows/deploy-wheels.yml index 41ac5711..cb8ba01d 100644 --- a/.github/workflows/deploy-wheels.yml +++ b/.github/workflows/deploy-wheels.yml @@ -70,8 +70,8 @@ jobs: - name: Build x86 Linux wheels if: matrix.wheel == 'x86' run: | - docker run -v `pwd`:/io quay.io/pypa/manylinux1_x86_64 /io/scripts/build-manylinux-wheels.sh - docker run -v `pwd`:/io quay.io/pypa/manylinux1_i686 /io/scripts/build-manylinux-wheels.sh + docker run -v `pwd`:/io quay.io/pypa/manylinux2014_x86_64 /io/scripts/build-manylinux-wheels.sh + docker run -v `pwd`:/io quay.io/pypa/manylinux2014_i686 /io/scripts/build-manylinux-wheels.sh - name: Upload as build artifacts uses: actions/upload-artifact@v2 diff --git a/scripts/build-manylinux-wheels.sh b/scripts/build-manylinux-wheels.sh index fe341a24..3576feeb 100755 --- a/scripts/build-manylinux-wheels.sh +++ b/scripts/build-manylinux-wheels.sh @@ -4,11 +4,11 @@ set -e -x # This is to be run by Docker inside a Docker image. # You can test it locally on a Linux machine by installing Docker and running from this # repo's root: -# $ docker run -v `pwd`:/io quay.io/pypa/manylinux1_x86_64 /io/scripts/build-manylinux-wheels.sh +# $ docker run -v `pwd`:/io quay.io/pypa/manylinux2014_x86_64 /io/scripts/build-manylinux-wheels.sh # The -v gives a directory alias for passing files in and out of the Docker. # (/io is arbitrary). E.g the setup.py script can be accessed in the Docker via -# /io/setup.py quay.io/pypa/manylinux1_x86_64 is the full Docker image name. Docker +# /io/setup.py quay.io/pypa/manylinux2014_x86_64 is the full Docker image name. Docker # downloads it automatically. # The last argument is a shell command that the Docker will execute. Filenames must be @@ -22,7 +22,7 @@ mkdir -p /io/temp-wheels # Clean out any old existing wheels. find /io/temp-wheels/ -type f -delete -for PYBIN in /opt/python/cp3[6789]*/bin; do +for PYBIN in /opt/python/cp3[678910]*/bin; do "${PYBIN}/pip" install -q -U setuptools wheel pytest --cache-dir /io/pip-cache (cd /io/ && "${PYBIN}/python" -m pip install .) (cd /io/ && "${PYBIN}/python" -m pytest) diff --git a/scripts/build-manylinux.py b/scripts/build-manylinux.py index 64ec2a6e..d68202a2 100755 --- a/scripts/build-manylinux.py +++ b/scripts/build-manylinux.py @@ -37,7 +37,7 @@ def main(): # so files are not root-owned "--user", f"{os.getuid()}:{os.getgid()}", "--volume", f'{os.path.abspath("dist")}:/dist:rw', - "quay.io/pypa/manylinux1_x86_64:latest", + "quay.io/pypa/manylinux2014_x86_64:latest", "bash", "-euxc", f"{pip} wheel -w /tmp/wheels --no-deps {pkg} && " f"auditwheel repair -w /dist /tmp/wheels/*.whl",