From 9db851ddd5de56c81e9412a09a950acd1106ad66 Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Sat, 31 Jan 2026 19:08:42 +0300 Subject: [PATCH 01/31] Back to Ubuntu16 for cpython3.13, disable deadsnakes --- .../Build_wheels_for_cpython313t_x64_u16.yml | 12 ++++++------ .../Build_wheels_for_cpython313t_x86_u16.yml | 2 +- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/.github/workflows/Build_wheels_for_cpython313t_x64_u16.yml b/.github/workflows/Build_wheels_for_cpython313t_x64_u16.yml index 4311ccf12..7df0c0ba0 100644 --- a/.github/workflows/Build_wheels_for_cpython313t_x64_u16.yml +++ b/.github/workflows/Build_wheels_for_cpython313t_x64_u16.yml @@ -1,4 +1,4 @@ -name: Build wheels for CPython3.13-nogil x64 on Ubuntu22 with GCC-10 All warnings +name: Build wheels for CPython3.13-nogil x64 on Ubuntu16 with GCC-5 All warnings on: [push, pull_request] @@ -19,7 +19,7 @@ jobs: matrix: linux arch: amd64 tag_arch: x86_64 - release: jammy + release: xenian mirror: http://azure.archive.ubuntu.com/ubuntu getpipurl: https://bootstrap.pypa.io/pip/get-pip.py pypkg: python3.13-nogil @@ -63,10 +63,10 @@ jobs: sudo mount none ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/proc -t proc sudo mount none ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/dev/pts -t devpts sudo mount none ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/sys -t sysfs - echo "# deb [trusted=yes] http://packages.rusoft.ru/ppa/rusoft/python ubuntu-${{matrix.os.release}} main" > rusoft-python.list - echo "# deb [trusted=yes] http://packages.rusoft.ru/ppa/rusoft/backports ubuntu-${{matrix.os.release}} main" > rusoft-backports.list - echo "# deb [trusted=yes] http://packages.rusoft.ru/ppa/rusoft/packages ubuntu-${{matrix.os.release}} main" > rusoft-packages.list - echo " deb [trusted=yes] http://ppa.launchpadcontent.net/deadsnakes/ppa/ubuntu ${{matrix.os.release}} main" > deadsnakes.list + echo " deb [trusted=yes] http://packages.rusoft.ru/ppa/rusoft/python ubuntu-${{matrix.os.release}} main" > rusoft-python.list + echo " deb [trusted=yes] http://packages.rusoft.ru/ppa/rusoft/backports ubuntu-${{matrix.os.release}} main" > rusoft-backports.list + echo " deb [trusted=yes] http://packages.rusoft.ru/ppa/rusoft/packages ubuntu-${{matrix.os.release}} main" > rusoft-packages.list + echo "# deb [trusted=yes] http://ppa.launchpadcontent.net/deadsnakes/ppa/ubuntu ${{matrix.os.release}} main" > deadsnakes.list sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /usr/bin/apt update sudo cp -v ./*.list ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/etc/apt/sources.list.d sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c 'cd /etc/apt/trusted.gpg.d && wget http://packages.rusoft.ru/apt/public.gpg -Orusoft.gpg' diff --git a/.github/workflows/Build_wheels_for_cpython313t_x86_u16.yml b/.github/workflows/Build_wheels_for_cpython313t_x86_u16.yml index 5f11f4bda..dee19a8c9 100644 --- a/.github/workflows/Build_wheels_for_cpython313t_x86_u16.yml +++ b/.github/workflows/Build_wheels_for_cpython313t_x86_u16.yml @@ -69,7 +69,7 @@ jobs: echo " deb [trusted=yes] http://packages.rusoft.ru/ppa/rusoft/python ubuntu-${{matrix.os.release}} main" > rusoft-python.list echo " deb [trusted=yes] http://packages.rusoft.ru/ppa/rusoft/backports ubuntu-${{matrix.os.release}} main" > rusoft-backports.list echo " deb [trusted=yes] http://packages.rusoft.ru/ppa/rusoft/packages ubuntu-${{matrix.os.release}} main" > rusoft-packages.list - echo " deb [trusted=yes] http://ppa.launchpadcontent.net/deadsnakes/ppa/ubuntu ${{matrix.os.release}} main" > deadsnakes.list + echo "# deb [trusted=yes] http://ppa.launchpadcontent.net/deadsnakes/ppa/ubuntu ${{matrix.os.release}} main" > deadsnakes.list false && sudo find ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} -iname apt sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /usr/bin/apt update sudo cp -v ./*.list ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/etc/apt/sources.list.d From 49fd5e45f80556ef0ae899eea7802ff3aa11cafc Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Sat, 31 Jan 2026 22:07:49 +0300 Subject: [PATCH 02/31] fix action name, release --- .github/workflows/Build_wheels_for_cpython313t_x64_u16.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/Build_wheels_for_cpython313t_x64_u16.yml b/.github/workflows/Build_wheels_for_cpython313t_x64_u16.yml index 7df0c0ba0..3444cbf99 100644 --- a/.github/workflows/Build_wheels_for_cpython313t_x64_u16.yml +++ b/.github/workflows/Build_wheels_for_cpython313t_x64_u16.yml @@ -14,12 +14,12 @@ jobs: fail-fast: false matrix: os: - - name: Ubuntu 24+22 amd64 CPython 3.13-nogil + - name: Ubuntu 24+16 amd64 CPython 3.13-nogil runs-on: ubuntu-latest matrix: linux arch: amd64 tag_arch: x86_64 - release: xenian + release: xenial mirror: http://azure.archive.ubuntu.com/ubuntu getpipurl: https://bootstrap.pypa.io/pip/get-pip.py pypkg: python3.13-nogil From fd2526797c2a6b095bff2e9434d7ee015a24189f Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Sun, 1 Feb 2026 20:23:59 +0300 Subject: [PATCH 03/31] Its like x86 build uses only libc 2.4+ symbols --- .github/workflows/Build_wheels_for_cpython313t_x86_u16.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/Build_wheels_for_cpython313t_x86_u16.yml b/.github/workflows/Build_wheels_for_cpython313t_x86_u16.yml index dee19a8c9..0719d94c4 100644 --- a/.github/workflows/Build_wheels_for_cpython313t_x86_u16.yml +++ b/.github/workflows/Build_wheels_for_cpython313t_x86_u16.yml @@ -29,7 +29,7 @@ jobs: pypkgexe: python3.13t #pypkgadd: python3.13-distutils pyengine_tag: cp313-cp313t - libc_tag: manylinux_2_14 + libc_tag: manylinux_2_4 steps: - name: Checkout code uses: actions/checkout@v4 From 294785ccd04c152b697dc3f50f4289152d20e8ee Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Tue, 3 Feb 2026 15:52:10 +0300 Subject: [PATCH 04/31] For cpython3.12 x86 libc tag is 2.4 --- .github/workflows/Build_wheels_for_cpython312_x86_u16.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/Build_wheels_for_cpython312_x86_u16.yml b/.github/workflows/Build_wheels_for_cpython312_x86_u16.yml index 97480dff6..8f7d5cd15 100644 --- a/.github/workflows/Build_wheels_for_cpython312_x86_u16.yml +++ b/.github/workflows/Build_wheels_for_cpython312_x86_u16.yml @@ -24,7 +24,7 @@ jobs: getpipurl: https://bootstrap.pypa.io/pip/get-pip.py pypkg: python3.12 pyengine_tag: cp312-cp312 - libc_tag: manylinux_2_14 + libc_tag: manylinux_2_4 steps: - name: Checkout code uses: actions/checkout@v4 From 8acece49789a67af4d3f7c0c4090540e89f9a41a Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Tue, 3 Feb 2026 21:07:58 +0300 Subject: [PATCH 05/31] Libc for cpython3.13 x86 needed 2.4+ --- .github/workflows/Build_wheels_for_cpython313_x86_u16.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/Build_wheels_for_cpython313_x86_u16.yml b/.github/workflows/Build_wheels_for_cpython313_x86_u16.yml index f121beff7..d22602c8a 100644 --- a/.github/workflows/Build_wheels_for_cpython313_x86_u16.yml +++ b/.github/workflows/Build_wheels_for_cpython313_x86_u16.yml @@ -24,7 +24,7 @@ jobs: getpipurl: https://bootstrap.pypa.io/pip/get-pip.py pypkg: python3.13 pyengine_tag: cp313-cp313 - libc_tag: manylinux_2_14 + libc_tag: manylinux_2_4 steps: - name: Checkout code uses: actions/checkout@v4 From a9a5cc4120d7d6842b66ddf523061f1a739f150f Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Tue, 3 Feb 2026 21:10:02 +0300 Subject: [PATCH 06/31] Libc for cpython3.14(-nogil) x86 needed 2.4+ --- .github/workflows/Build_wheels_for_cpython314_x86_u16.yml | 2 +- .github/workflows/Build_wheels_for_cpython314t_x86_u16.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/Build_wheels_for_cpython314_x86_u16.yml b/.github/workflows/Build_wheels_for_cpython314_x86_u16.yml index d9974a334..a9add75e7 100644 --- a/.github/workflows/Build_wheels_for_cpython314_x86_u16.yml +++ b/.github/workflows/Build_wheels_for_cpython314_x86_u16.yml @@ -24,7 +24,7 @@ jobs: getpipurl: https://bootstrap.pypa.io/pip/get-pip.py pypkg: python3.14 pyengine_tag: cp314-cp314 - libc_tag: manylinux_2_14 + libc_tag: manylinux_2_4 steps: - name: Checkout code uses: actions/checkout@v4 diff --git a/.github/workflows/Build_wheels_for_cpython314t_x86_u16.yml b/.github/workflows/Build_wheels_for_cpython314t_x86_u16.yml index 32e6e0f92..cc2c53f12 100644 --- a/.github/workflows/Build_wheels_for_cpython314t_x86_u16.yml +++ b/.github/workflows/Build_wheels_for_cpython314t_x86_u16.yml @@ -29,7 +29,7 @@ jobs: pypkgexe: python3.14t #pypkgadd: python3.13-distutils pyengine_tag: cp314-cp314t - libc_tag: manylinux_2_14 + libc_tag: manylinux_2_4 steps: - name: Checkout code uses: actions/checkout@v4 From 54de824230d3fbd974368cb9b0565f40278485b8 Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Tue, 3 Feb 2026 21:18:27 +0300 Subject: [PATCH 07/31] Libc for cpython3.15(-nogil) x86 needed 2.4+ --- .github/workflows/Build_wheels_for_cpython315_x86_u16.yml | 2 +- .github/workflows/Build_wheels_for_cpython315t_x86_u16.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/Build_wheels_for_cpython315_x86_u16.yml b/.github/workflows/Build_wheels_for_cpython315_x86_u16.yml index 4d96628b2..714def95e 100644 --- a/.github/workflows/Build_wheels_for_cpython315_x86_u16.yml +++ b/.github/workflows/Build_wheels_for_cpython315_x86_u16.yml @@ -27,7 +27,7 @@ jobs: pypkg: python3.15 #pypkgadd: python3.13-distutils pyengine_tag: cp315-cp315 - libc_tag: manylinux_2_14 + libc_tag: manylinux_2_4 steps: - name: Checkout code uses: actions/checkout@v4 diff --git a/.github/workflows/Build_wheels_for_cpython315t_x86_u16.yml b/.github/workflows/Build_wheels_for_cpython315t_x86_u16.yml index e7e1bca9b..b055275ca 100644 --- a/.github/workflows/Build_wheels_for_cpython315t_x86_u16.yml +++ b/.github/workflows/Build_wheels_for_cpython315t_x86_u16.yml @@ -29,7 +29,7 @@ jobs: pypkgexe: python3.15t #pypkgadd: python3.13-distutils pyengine_tag: cp315-cp315t - libc_tag: manylinux_2_14 + libc_tag: manylinux_2_4 steps: - name: Checkout code uses: actions/checkout@v4 From 3f0e8810e1782ae21230b9ea5bc8425f4565cac0 Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Tue, 10 Feb 2026 22:48:43 +0300 Subject: [PATCH 08/31] Use bionic, libc tag 2_14 for amd64 --- .github/workflows/Build_wheels_for_cpython27_x86_64.yml | 2 +- .github/workflows/Build_wheels_for_cpython27_x86_ext.yml | 4 ++-- .github/workflows/Build_wheels_for_cpython34_x86.yml | 6 +++--- .github/workflows/Build_wheels_for_cpython34_x86_64.yml | 8 ++++---- 4 files changed, 10 insertions(+), 10 deletions(-) diff --git a/.github/workflows/Build_wheels_for_cpython27_x86_64.yml b/.github/workflows/Build_wheels_for_cpython27_x86_64.yml index 2d216ce3e..6bc8895f2 100644 --- a/.github/workflows/Build_wheels_for_cpython27_x86_64.yml +++ b/.github/workflows/Build_wheels_for_cpython27_x86_64.yml @@ -26,7 +26,7 @@ jobs: getpipurl: https://bootstrap.pypa.io/pip/2.7/get-pip.py pypkg: python2.7 pyengine_tag: cp27-cp27mu - libc_tag: manylinux_2_4 + libc_tag: manylinux_2_14 steps: - name: Checkout code uses: actions/checkout@v4 diff --git a/.github/workflows/Build_wheels_for_cpython27_x86_ext.yml b/.github/workflows/Build_wheels_for_cpython27_x86_ext.yml index 6f9d0c612..3f95dff91 100644 --- a/.github/workflows/Build_wheels_for_cpython27_x86_ext.yml +++ b/.github/workflows/Build_wheels_for_cpython27_x86_ext.yml @@ -1,4 +1,4 @@ -name: Build wheels for CPython2.7 x86 on Ubuntu16 with GCC-5 with All warnings, test external build +name: Build wheels for CPython2.7 x86 on Ubuntu18 with GCC-7 with All warnings, test external build on: [push, pull_request] @@ -19,7 +19,7 @@ jobs: matrix: linux arch: i386 tag_arch: i686 - release: xenial + release: bionic mirror: http://azure.archive.ubuntu.com/ubuntu #version: 1.5.6.7 #pyver: "2.7" diff --git a/.github/workflows/Build_wheels_for_cpython34_x86.yml b/.github/workflows/Build_wheels_for_cpython34_x86.yml index ba01e788a..c80a0509a 100644 --- a/.github/workflows/Build_wheels_for_cpython34_x86.yml +++ b/.github/workflows/Build_wheels_for_cpython34_x86.yml @@ -1,4 +1,4 @@ -name: Build wheels for CPython3.4 x86 on Ubuntu16 +name: Build wheels for CPython3.4 x86 on Ubuntu18 on: [push, pull_request] @@ -14,12 +14,12 @@ jobs: fail-fast: false matrix: os: - - name: Ubuntu 24+16 i386 CPython 3.4 + - name: Ubuntu 24+18 i386 CPython 3.4 runs-on: ubuntu-latest matrix: linux arch: i386 tag_arch: i686 - release: xenial + release: bionic mirror: http://azure.archive.ubuntu.com/ubuntu #version: 1.5.6.7 #pyver: "3.4" diff --git a/.github/workflows/Build_wheels_for_cpython34_x86_64.yml b/.github/workflows/Build_wheels_for_cpython34_x86_64.yml index 0946db31c..e2b5b851d 100644 --- a/.github/workflows/Build_wheels_for_cpython34_x86_64.yml +++ b/.github/workflows/Build_wheels_for_cpython34_x86_64.yml @@ -1,4 +1,4 @@ -name: Build wheels for CPython3.4 x86_64 on Ubuntu16 +name: Build wheels for CPython3.4 x86_64 on Ubuntu18 on: [push, pull_request] @@ -14,19 +14,19 @@ jobs: fail-fast: false matrix: os: - - name: Ubuntu 24+16 amd64 CPython 3.4 + - name: Ubuntu 24+18 amd64 CPython 3.4 runs-on: ubuntu-latest matrix: linux arch: amd64 tag_arch: x86_64 - release: xenial + release: bionic mirror: http://azure.archive.ubuntu.com/ubuntu #version: 1.5.6.7 #pyver: "3.4" getpipurl: https://bootstrap.pypa.io/pip/3.4/get-pip.py pypkg: python3.4 pyengine_tag: cp34-cp34m - libc_tag: manylinux_2_4 + libc_tag: manylinux_2_14 steps: - name: Checkout code uses: actions/checkout@v4 From 8192d2a1ae72d39c16fb66645c7e63f09e82262c Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Tue, 10 Feb 2026 22:59:01 +0300 Subject: [PATCH 09/31] Skip cpython3.6/3.8 build for windows as it fails for unknown reason, should make seperate action for them --- .github/workflows/build-wheels.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/build-wheels.yml b/.github/workflows/build-wheels.yml index df2e15184..8a0462926 100644 --- a/.github/workflows/build-wheels.yml +++ b/.github/workflows/build-wheels.yml @@ -298,7 +298,7 @@ jobs: CIBW_BUILD: ${{ matrix.cibw.build }} CIBW_BUILD_VERBOSITY: 2 # Skip 32-bit builds // NO - # CIBW_SKIP: '*-win32 *_i686' + CIBW_SKIP: 'cp36-win* cp38-win*' CIBW_MANYLINUX_I686_IMAGE: ${{ matrix.cibw.manylinux }} CIBW_MANYLINUX_X86_64_IMAGE: ${{ matrix.cibw.manylinux }} CIBW_MUSLLINUX_I686_IMAGE: ${{ matrix.cibw.musllinux }} @@ -330,7 +330,7 @@ jobs: CIBW_BUILD: ${{ matrix.cibw.build }} CIBW_BUILD_VERBOSITY: 2 # Skip 32-bit builds // NO - # CIBW_SKIP: '*-win32 *_i686' + CIBW_SKIP: 'cp36-win* cp38-win*' CIBW_MANYLINUX_I686_IMAGE: ${{ matrix.cibw.manylinux }} CIBW_MANYLINUX_X86_64_IMAGE: ${{ matrix.cibw.manylinux }} CIBW_MANYLINUX_AARCH64_IMAGE: ${{ matrix.cibw.manylinux }} @@ -363,7 +363,7 @@ jobs: CIBW_BUILD: ${{ matrix.cibw.build }} CIBW_BUILD_VERBOSITY: 2 # Skip 32-bit builds // NO - # CIBW_SKIP: '*-win32 *_i686' + CIBW_SKIP: 'cp36-win* cp38-win*' CIBW_MANYLINUX_I686_IMAGE: ${{ matrix.cibw.manylinux }} CIBW_MANYLINUX_X86_64_IMAGE: ${{ matrix.cibw.manylinux }} CIBW_MANYLINUX_AARCH64_IMAGE: ${{ matrix.cibw.manylinux }} From f6581c67936dd2d96ad99e2f17755535f8f92838 Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Thu, 12 Feb 2026 12:59:30 +0300 Subject: [PATCH 10/31] Update actions for cpython2.7 --- .github/workflows/Build_wheels_for_cpython27_x86.yml | 2 +- .github/workflows/Build_wheels_for_cpython27_x86_64.yml | 2 +- .github/workflows/Build_wheels_for_cpython27_x86_ext.yml | 9 ++++----- 3 files changed, 6 insertions(+), 7 deletions(-) diff --git a/.github/workflows/Build_wheels_for_cpython27_x86.yml b/.github/workflows/Build_wheels_for_cpython27_x86.yml index 4eea46a5e..4395c5010 100644 --- a/.github/workflows/Build_wheels_for_cpython27_x86.yml +++ b/.github/workflows/Build_wheels_for_cpython27_x86.yml @@ -92,7 +92,7 @@ jobs: run: | sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /usr/bin/apt install --no-install-recommends -y ${{matrix.os.pypkg}}-dev gcc pkg-config ${{matrix.os.pypkgadd}} sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "wget ${{matrix.os.getpipurl}} -O get-pip.py && ${{matrix.os.pypkg}} get-pip.py" - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "${{matrix.os.pypkg}} -m pip install -U 'setuptools'" + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "${{matrix.os.pypkg}} -m pip install -U 'setuptools<72'" - name: Pepare source and build wheel for ${{matrix.os.pypkg}} ${{matrix.os.arch}} if: matrix.os.matrix == 'linux' diff --git a/.github/workflows/Build_wheels_for_cpython27_x86_64.yml b/.github/workflows/Build_wheels_for_cpython27_x86_64.yml index 6bc8895f2..5afdfff5d 100644 --- a/.github/workflows/Build_wheels_for_cpython27_x86_64.yml +++ b/.github/workflows/Build_wheels_for_cpython27_x86_64.yml @@ -92,7 +92,7 @@ jobs: run: | sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /usr/bin/apt install -y ${{matrix.os.pypkg}}-dev gcc pkg-config ${{matrix.os.pypkgadd}} sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "wget ${{matrix.os.getpipurl}} -O get-pip.py && ${{matrix.os.pypkg}} get-pip.py || true" - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "${{matrix.os.pypkg}} -m pip install -U 'setuptools'" + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "${{matrix.os.pypkg}} -m pip install -U 'setuptools<72'" - name: Pepare source and build wheel for ${{matrix.os.pypkg}} ${{matrix.os.arch}} if: matrix.os.matrix == 'linux' diff --git a/.github/workflows/Build_wheels_for_cpython27_x86_ext.yml b/.github/workflows/Build_wheels_for_cpython27_x86_ext.yml index 3f95dff91..df4628201 100644 --- a/.github/workflows/Build_wheels_for_cpython27_x86_ext.yml +++ b/.github/workflows/Build_wheels_for_cpython27_x86_ext.yml @@ -14,7 +14,7 @@ jobs: fail-fast: false matrix: os: - - name: Ubuntu 24+16 i386 CPython 2.7 + - name: Ubuntu 24+18 i386 CPython 2.7 runs-on: ubuntu-latest matrix: linux arch: i386 @@ -88,10 +88,9 @@ jobs: - name: Pepare for ${{matrix.os.pypkg}} ${{matrix.os.arch}} if: matrix.os.matrix == 'linux' run: | - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /usr/bin/apt-cache madison clang-18 sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /usr/bin/apt install -y ${{matrix.os.pypkg}}-dev gcc pkg-config ${{matrix.os.pypkgadd}} sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "wget ${{matrix.os.getpipurl}} -O get-pip.py && ${{matrix.os.pypkg}} get-pip.py" - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "${{matrix.os.pypkg}} -m pip install -U 'setuptools'" + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "${{matrix.os.pypkg}} -m pip install -U 'setuptools<72'" - name: Pepare source and build wheel for ${{matrix.os.pypkg}} ${{matrix.os.arch}} if: matrix.os.matrix == 'linux' @@ -103,8 +102,8 @@ jobs: false && sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} env sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} pkg-config libzstd --modversion - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} echo GCC-5 - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} gcc-5 -v + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} echo GCC-7 + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} gcc-7 -v sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-$version && _CC=clang-20 ZSTD_ASM=1 ZSTD_WARNINGS=1 ZSTD_WERRORS=1 _ZSTD_SMALL=1 _ZSTD_ASM_BMI2=1 ZSTD_THREADS=1 ZSTD_EXTERNAL=1 CC=gcc-5 ${{matrix.os.pypkg}} setup.py bdist_wheel " - name: Test wheel for ${{matrix.os.pypkg}} ${{matrix.os.arch}} From c21755056886ace2c363afd3c9f4cf30b7f73de1 Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Fri, 13 Feb 2026 14:13:03 +0300 Subject: [PATCH 11/31] Switch to Ubuntu14 for cpython2.7 builds --- .github/workflows/Build_wheels_for_cpython27_x86.yml | 6 +++--- .../workflows/Build_wheels_for_cpython27_x86_64.yml | 10 +++++----- .../workflows/Build_wheels_for_cpython27_x86_ext.yml | 10 +++++----- 3 files changed, 13 insertions(+), 13 deletions(-) diff --git a/.github/workflows/Build_wheels_for_cpython27_x86.yml b/.github/workflows/Build_wheels_for_cpython27_x86.yml index 4395c5010..7c12de096 100644 --- a/.github/workflows/Build_wheels_for_cpython27_x86.yml +++ b/.github/workflows/Build_wheels_for_cpython27_x86.yml @@ -1,4 +1,4 @@ -name: Build wheels for CPython2.7 x86 on Ubuntu18 with GCC-7 with All warnings +name: Build wheels for CPython2.7 x86 on Ubuntu14 with GCC-4.8 with All warnings on: [push, pull_request] @@ -14,12 +14,12 @@ jobs: fail-fast: false matrix: os: - - name: Ubuntu 24+18 i386 CPython 2.7 + - name: Ubuntu 24+14 i386 CPython 2.7 runs-on: ubuntu-latest matrix: linux arch: i386 tag_arch: i686 - release: bionic + release: trusty mirror: http://azure.archive.ubuntu.com/ubuntu #version: 1.5.6.7 #pyver: "2.7" diff --git a/.github/workflows/Build_wheels_for_cpython27_x86_64.yml b/.github/workflows/Build_wheels_for_cpython27_x86_64.yml index 5afdfff5d..e54973574 100644 --- a/.github/workflows/Build_wheels_for_cpython27_x86_64.yml +++ b/.github/workflows/Build_wheels_for_cpython27_x86_64.yml @@ -1,4 +1,4 @@ -name: Build wheels for CPython2.7 x64 on Ubuntu18 with GCC-7 with All warnings +name: Build wheels for CPython2.7 x64 on Ubuntu14 with GCC-4.8 with All warnings on: [push, pull_request] @@ -14,12 +14,12 @@ jobs: fail-fast: false matrix: os: - - name: Ubuntu 24+16 amd64 CPython 2.7 + - name: Ubuntu 24+14 amd64 CPython 2.7 runs-on: ubuntu-latest matrix: linux arch: amd64 tag_arch: x86_64 - release: bionic + release: trusty mirror: http://azure.archive.ubuntu.com/ubuntu #version: 1.5.6.7 #pyver: "2.7" @@ -102,8 +102,8 @@ jobs: sudo tar -xvf dist/zstd-$version.tar.gz -C ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel/ false && sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} env sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} pkg-config libzstd --modversion - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} echo GCC-7 - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} gcc-7 -v + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} echo GCC + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} gcc -v sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-$version && CC=gcc-7 ZSTD_ASM=1 _ZSTD_SMALL=1 ZSTD_WARNINGS=1 _ZSTD_WERRORS=1 _ZSTD_ASM_BMI2=1 ZSTD_THREADS=1 _ZSTD_EXTERNAL=1 ${{matrix.os.pypkg}} setup.py bdist_wheel" - name: Test wheel for ${{matrix.os.pypkg}} ${{matrix.os.arch}} diff --git a/.github/workflows/Build_wheels_for_cpython27_x86_ext.yml b/.github/workflows/Build_wheels_for_cpython27_x86_ext.yml index df4628201..04e2c6602 100644 --- a/.github/workflows/Build_wheels_for_cpython27_x86_ext.yml +++ b/.github/workflows/Build_wheels_for_cpython27_x86_ext.yml @@ -1,4 +1,4 @@ -name: Build wheels for CPython2.7 x86 on Ubuntu18 with GCC-7 with All warnings, test external build +name: Build wheels for CPython2.7 x86 on Ubuntu14 with GCC-4.8 with All warnings, test external build on: [push, pull_request] @@ -14,12 +14,12 @@ jobs: fail-fast: false matrix: os: - - name: Ubuntu 24+18 i386 CPython 2.7 + - name: Ubuntu 24+14 i386 CPython 2.7 runs-on: ubuntu-latest matrix: linux arch: i386 tag_arch: i686 - release: bionic + release: trusty mirror: http://azure.archive.ubuntu.com/ubuntu #version: 1.5.6.7 #pyver: "2.7" @@ -102,8 +102,8 @@ jobs: false && sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} env sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} pkg-config libzstd --modversion - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} echo GCC-7 - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} gcc-7 -v + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} echo GCC + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} gcc -v sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-$version && _CC=clang-20 ZSTD_ASM=1 ZSTD_WARNINGS=1 ZSTD_WERRORS=1 _ZSTD_SMALL=1 _ZSTD_ASM_BMI2=1 ZSTD_THREADS=1 ZSTD_EXTERNAL=1 CC=gcc-5 ${{matrix.os.pypkg}} setup.py bdist_wheel " - name: Test wheel for ${{matrix.os.pypkg}} ${{matrix.os.arch}} From c314a051435e49554371094311824a8f5bacfc78 Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Fri, 13 Feb 2026 14:23:50 +0300 Subject: [PATCH 12/31] Exclude builds windows+cp36,cp38 --- .github/workflows/build-wheels.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/build-wheels.yml b/.github/workflows/build-wheels.yml index 8a0462926..c6b30a8c7 100644 --- a/.github/workflows/build-wheels.yml +++ b/.github/workflows/build-wheels.yml @@ -188,6 +188,8 @@ jobs: matrix: windows cibw: build: cp27-* + build: cp36-* + build: cp38-* - os: matrix: macos cibw: From 39d5f088f6286026d1f1edd9015dc80b8b409507 Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Mon, 9 Mar 2026 12:08:12 +0300 Subject: [PATCH 13/31] Build wheels for python3.15 on Ubuntu18 --- ...4_u16.yml => Build_wheels_for_cpython315_x86_64_u18.yml} | 6 +++--- ..._x86_u16.yml => Build_wheels_for_cpython315_x86_u18.yml} | 6 +++--- ...x64_u16.yml => Build_wheels_for_cpython315t_x64_u18.yml} | 6 +++--- ...x86_u16.yml => Build_wheels_for_cpython315t_x86_u18.yml} | 6 +++--- 4 files changed, 12 insertions(+), 12 deletions(-) rename .github/workflows/{Build_wheels_for_cpython315_x86_64_u16.yml => Build_wheels_for_cpython315_x86_64_u18.yml} (98%) rename .github/workflows/{Build_wheels_for_cpython315_x86_u16.yml => Build_wheels_for_cpython315_x86_u18.yml} (98%) rename .github/workflows/{Build_wheels_for_cpython315t_x64_u16.yml => Build_wheels_for_cpython315t_x64_u18.yml} (98%) rename .github/workflows/{Build_wheels_for_cpython315t_x86_u16.yml => Build_wheels_for_cpython315t_x86_u18.yml} (98%) diff --git a/.github/workflows/Build_wheels_for_cpython315_x86_64_u16.yml b/.github/workflows/Build_wheels_for_cpython315_x86_64_u18.yml similarity index 98% rename from .github/workflows/Build_wheels_for_cpython315_x86_64_u16.yml rename to .github/workflows/Build_wheels_for_cpython315_x86_64_u18.yml index 975c02988..ed51eb085 100644 --- a/.github/workflows/Build_wheels_for_cpython315_x86_64_u16.yml +++ b/.github/workflows/Build_wheels_for_cpython315_x86_64_u18.yml @@ -1,4 +1,4 @@ -name: Build wheels for CPython3.15 x86_64 on Ubuntu16 with GCC-5 All warnings +name: Build wheels for CPython3.15 x86_64 on Ubuntu18 with GCC-7 All warnings on: [push, pull_request] @@ -14,12 +14,12 @@ jobs: fail-fast: false matrix: os: - - name: Ubuntu 24+16 amd64 CPython 3.15 + - name: Ubuntu 24+18 amd64 CPython 3.15 runs-on: ubuntu-latest matrix: linux arch: amd64 tag_arch: x86_64 - release: xenial + release: bionic mirror: http://azure.archive.ubuntu.com/ubuntu #version: 1.5.6.7 # pyver: "3.7" diff --git a/.github/workflows/Build_wheels_for_cpython315_x86_u16.yml b/.github/workflows/Build_wheels_for_cpython315_x86_u18.yml similarity index 98% rename from .github/workflows/Build_wheels_for_cpython315_x86_u16.yml rename to .github/workflows/Build_wheels_for_cpython315_x86_u18.yml index 714def95e..8aacbf40f 100644 --- a/.github/workflows/Build_wheels_for_cpython315_x86_u16.yml +++ b/.github/workflows/Build_wheels_for_cpython315_x86_u18.yml @@ -1,4 +1,4 @@ -name: Build wheels for CPython3.15 x86 on Ubuntu16 with GCC-5 All warnings +name: Build wheels for CPython3.15 x86 on Ubuntu18 with GCC-7 All warnings on: [push, pull_request] @@ -14,12 +14,12 @@ jobs: fail-fast: false matrix: os: - - name: Ubuntu 24+16 i686 CPython 3.15 + - name: Ubuntu 24+18 i686 CPython 3.15 runs-on: ubuntu-latest matrix: linux arch: i386 tag_arch: i686 - release: xenial + release: bionic mirror: http://azure.archive.ubuntu.com/ubuntu #version: 1.5.6.7 # pyver: "3.7" diff --git a/.github/workflows/Build_wheels_for_cpython315t_x64_u16.yml b/.github/workflows/Build_wheels_for_cpython315t_x64_u18.yml similarity index 98% rename from .github/workflows/Build_wheels_for_cpython315t_x64_u16.yml rename to .github/workflows/Build_wheels_for_cpython315t_x64_u18.yml index 931574582..8d1c640cb 100644 --- a/.github/workflows/Build_wheels_for_cpython315t_x64_u16.yml +++ b/.github/workflows/Build_wheels_for_cpython315t_x64_u18.yml @@ -1,4 +1,4 @@ -name: Build wheels for CPython3.15-nogil x64 on Ubuntu16 with GCC-5 All warnings +name: Build wheels for CPython3.15-nogil x64 on Ubuntu18 with GCC-7 All warnings on: [push, pull_request] @@ -14,12 +14,12 @@ jobs: fail-fast: false matrix: os: - - name: Ubuntu 24+16 amd64 CPython 3.15-nogil + - name: Ubuntu 24+18 amd64 CPython 3.15-nogil runs-on: ubuntu-latest matrix: linux arch: amd64 tag_arch: x86_64 - release: xenial + release: bioic mirror: http://azure.archive.ubuntu.com/ubuntu #version: 1.5.6.7 # pyver: "3.7" diff --git a/.github/workflows/Build_wheels_for_cpython315t_x86_u16.yml b/.github/workflows/Build_wheels_for_cpython315t_x86_u18.yml similarity index 98% rename from .github/workflows/Build_wheels_for_cpython315t_x86_u16.yml rename to .github/workflows/Build_wheels_for_cpython315t_x86_u18.yml index b055275ca..ae9eb6f0f 100644 --- a/.github/workflows/Build_wheels_for_cpython315t_x86_u16.yml +++ b/.github/workflows/Build_wheels_for_cpython315t_x86_u18.yml @@ -1,4 +1,4 @@ -name: Build wheels for CPython3.15-nogil x86 on Ubuntu16 with GCC-5 All warnings +name: Build wheels for CPython3.15-nogil x86 on Ubuntu18 with GCC-7 All warnings on: [push, pull_request] @@ -14,12 +14,12 @@ jobs: fail-fast: false matrix: os: - - name: Ubuntu 24+16 i386 CPython 3.15-nogil + - name: Ubuntu 24+18 i386 CPython 3.15-nogil runs-on: ubuntu-latest matrix: linux arch: i386 tag_arch: i686 - release: xenial + release: bionic mirror: http://azure.archive.ubuntu.com/ubuntu #version: 1.5.6.7 # pyver: "3.7" From c9eacdd468e1fb855cf48423dece88ca9a7f5842 Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Mon, 9 Mar 2026 13:20:50 +0300 Subject: [PATCH 14/31] Build wheels for python3.14 on Ubuntu18 --- ...6_64_u24.yml => Build_wheels_for_cpython314_x64_u18.yml} | 6 +++--- ..._x86_u16.yml => Build_wheels_for_cpython314_x86_u18.yml} | 6 +++--- ...x64_u16.yml => Build_wheels_for_cpython314t_x64_u18.yml} | 6 +++--- ...x86_u16.yml => Build_wheels_for_cpython314t_x86_u18.yml} | 6 +++--- 4 files changed, 12 insertions(+), 12 deletions(-) rename .github/workflows/{Build_wheels_for_cpython314_x86_64_u24.yml => Build_wheels_for_cpython314_x64_u18.yml} (98%) rename .github/workflows/{Build_wheels_for_cpython314_x86_u16.yml => Build_wheels_for_cpython314_x86_u18.yml} (98%) rename .github/workflows/{Build_wheels_for_cpython314t_x64_u16.yml => Build_wheels_for_cpython314t_x64_u18.yml} (98%) rename .github/workflows/{Build_wheels_for_cpython314t_x86_u16.yml => Build_wheels_for_cpython314t_x86_u18.yml} (98%) diff --git a/.github/workflows/Build_wheels_for_cpython314_x86_64_u24.yml b/.github/workflows/Build_wheels_for_cpython314_x64_u18.yml similarity index 98% rename from .github/workflows/Build_wheels_for_cpython314_x86_64_u24.yml rename to .github/workflows/Build_wheels_for_cpython314_x64_u18.yml index 3a95409b2..f8fee500a 100644 --- a/.github/workflows/Build_wheels_for_cpython314_x86_64_u24.yml +++ b/.github/workflows/Build_wheels_for_cpython314_x64_u18.yml @@ -1,4 +1,4 @@ -name: Build wheels for CPython3.14 x86_64 on Ubuntu16 with GCC-5 All warnings +name: Build wheels for CPython3.14 amd64 on Ubuntu18 with GCC-7 All warnings on: [push, pull_request] @@ -14,12 +14,12 @@ jobs: fail-fast: false matrix: os: - - name: Ubuntu 24+16 amd64 CPython 3.14 + - name: Ubuntu 24+18 amd64 CPython 3.14 runs-on: ubuntu-latest matrix: linux arch: amd64 tag_arch: x86_64 - release: xenial + release: bionic mirror: http://azure.archive.ubuntu.com/ubuntu #version: 1.5.6.7 # pyver: "3.7" diff --git a/.github/workflows/Build_wheels_for_cpython314_x86_u16.yml b/.github/workflows/Build_wheels_for_cpython314_x86_u18.yml similarity index 98% rename from .github/workflows/Build_wheels_for_cpython314_x86_u16.yml rename to .github/workflows/Build_wheels_for_cpython314_x86_u18.yml index a9add75e7..3a79dba7d 100644 --- a/.github/workflows/Build_wheels_for_cpython314_x86_u16.yml +++ b/.github/workflows/Build_wheels_for_cpython314_x86_u18.yml @@ -1,4 +1,4 @@ -name: Build wheels for CPython3.14 x86 on Ubuntu16 with GCC-5 All warnings +name: Build wheels for CPython3.14 x86 on Ubuntu18 with GCC-7 All warnings on: [push, pull_request] @@ -14,12 +14,12 @@ jobs: fail-fast: false matrix: os: - - name: Ubuntu 24+16 x86 CPython 3.14 + - name: Ubuntu 24+18 x86 CPython 3.14 runs-on: ubuntu-latest matrix: linux arch: i386 tag_arch: i686 - release: xenial + release: bionic mirror: http://azure.archive.ubuntu.com/ubuntu getpipurl: https://bootstrap.pypa.io/pip/get-pip.py pypkg: python3.14 diff --git a/.github/workflows/Build_wheels_for_cpython314t_x64_u16.yml b/.github/workflows/Build_wheels_for_cpython314t_x64_u18.yml similarity index 98% rename from .github/workflows/Build_wheels_for_cpython314t_x64_u16.yml rename to .github/workflows/Build_wheels_for_cpython314t_x64_u18.yml index f13e835f9..5e72558fa 100644 --- a/.github/workflows/Build_wheels_for_cpython314t_x64_u16.yml +++ b/.github/workflows/Build_wheels_for_cpython314t_x64_u18.yml @@ -1,4 +1,4 @@ -name: Build wheels for CPython3.14-nogil x64 on Ubuntu16 with GCC-5 All warnings +name: Build wheels for CPython3.14-nogil x64 on Ubuntu18 with GCC-7 All warnings on: [push, pull_request] @@ -14,12 +14,12 @@ jobs: fail-fast: false matrix: os: - - name: Ubuntu 24+16 amd64 CPython 3.14-nogil + - name: Ubuntu 24+18 amd64 CPython 3.14-nogil runs-on: ubuntu-latest matrix: linux arch: amd64 tag_arch: x86_64 - release: xenial + release: bionic mirror: http://azure.archive.ubuntu.com/ubuntu #version: 1.5.6.7 # pyver: "3.7" diff --git a/.github/workflows/Build_wheels_for_cpython314t_x86_u16.yml b/.github/workflows/Build_wheels_for_cpython314t_x86_u18.yml similarity index 98% rename from .github/workflows/Build_wheels_for_cpython314t_x86_u16.yml rename to .github/workflows/Build_wheels_for_cpython314t_x86_u18.yml index cc2c53f12..646c4dae1 100644 --- a/.github/workflows/Build_wheels_for_cpython314t_x86_u16.yml +++ b/.github/workflows/Build_wheels_for_cpython314t_x86_u18.yml @@ -1,4 +1,4 @@ -name: Build wheels for CPython3.14-nogil x86 on Ubuntu16 with GCC-5 All warnings +name: Build wheels for CPython3.14-nogil x86 on Ubuntu18 with GCC-7 All warnings on: [push, pull_request] @@ -14,12 +14,12 @@ jobs: fail-fast: false matrix: os: - - name: Ubuntu 24+16 i386 CPython 3.14-nogil + - name: Ubuntu 24+18 i386 CPython 3.14-nogil runs-on: ubuntu-latest matrix: linux arch: i386 tag_arch: i686 - release: xenial + release: bionic mirror: http://azure.archive.ubuntu.com/ubuntu #version: 1.5.6.7 # pyver: "3.7" From 92641b4d67f49c47f5c0a5f79d53d6c44e5ee600 Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Mon, 9 Mar 2026 19:49:08 +0300 Subject: [PATCH 15/31] Try to use aptitude --- .github/workflows/Build_wheels_for_cpython314_x64_u18.yml | 3 ++- .github/workflows/Build_wheels_for_cpython314_x86_u18.yml | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/.github/workflows/Build_wheels_for_cpython314_x64_u18.yml b/.github/workflows/Build_wheels_for_cpython314_x64_u18.yml index f8fee500a..e867760be 100644 --- a/.github/workflows/Build_wheels_for_cpython314_x64_u18.yml +++ b/.github/workflows/Build_wheels_for_cpython314_x64_u18.yml @@ -84,7 +84,8 @@ jobs: - name: Pepare dev files if: matrix.os.matrix == 'linux' run: | - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /usr/bin/apt install -y libzstd-dev file + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /usr/bin/apt install -y atitude + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /usr/bin/aptitude install -y libzstd-dev file - name: Pepare for ${{matrix.os.pypkg}} ${{matrix.os.arch}} if: matrix.os.matrix == 'linux' diff --git a/.github/workflows/Build_wheels_for_cpython314_x86_u18.yml b/.github/workflows/Build_wheels_for_cpython314_x86_u18.yml index 3a79dba7d..f868d326a 100644 --- a/.github/workflows/Build_wheels_for_cpython314_x86_u18.yml +++ b/.github/workflows/Build_wheels_for_cpython314_x86_u18.yml @@ -81,7 +81,8 @@ jobs: - name: Pepare dev files if: matrix.os.matrix == 'linux' run: | - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /usr/bin/apt install -y libzstd-dev file + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /usr/bin/apt install -y aptitude + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /usr/bin/aptitude install -y libzstd-dev file - name: Pepare for ${{matrix.os.pypkg}} ${{matrix.os.arch}} if: matrix.os.matrix == 'linux' From 5ef5d6e49638cae533a6d4c0d5eab1e97dcbade9 Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Mon, 9 Mar 2026 20:44:22 +0300 Subject: [PATCH 16/31] Fix typo --- .github/workflows/Build_wheels_for_cpython314_x64_u18.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/Build_wheels_for_cpython314_x64_u18.yml b/.github/workflows/Build_wheels_for_cpython314_x64_u18.yml index e867760be..0c83ad9be 100644 --- a/.github/workflows/Build_wheels_for_cpython314_x64_u18.yml +++ b/.github/workflows/Build_wheels_for_cpython314_x64_u18.yml @@ -84,7 +84,7 @@ jobs: - name: Pepare dev files if: matrix.os.matrix == 'linux' run: | - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /usr/bin/apt install -y atitude + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /usr/bin/apt install -y aptitude sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /usr/bin/aptitude install -y libzstd-dev file - name: Pepare for ${{matrix.os.pypkg}} ${{matrix.os.arch}} From 5961ded077cddaeaf37e73ded206ea0fdb54a2c2 Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Mon, 9 Mar 2026 21:21:13 +0300 Subject: [PATCH 17/31] Use more aptitude --- .github/workflows/Build_wheels_for_cpython314_x64_u18.yml | 2 +- .github/workflows/Build_wheels_for_cpython314_x86_u18.yml | 2 +- .github/workflows/Build_wheels_for_cpython314t_x64_u18.yml | 5 +++-- .github/workflows/Build_wheels_for_cpython314t_x86_u18.yml | 5 +++-- 4 files changed, 8 insertions(+), 6 deletions(-) diff --git a/.github/workflows/Build_wheels_for_cpython314_x64_u18.yml b/.github/workflows/Build_wheels_for_cpython314_x64_u18.yml index 0c83ad9be..04aa4648f 100644 --- a/.github/workflows/Build_wheels_for_cpython314_x64_u18.yml +++ b/.github/workflows/Build_wheels_for_cpython314_x64_u18.yml @@ -90,7 +90,7 @@ jobs: - name: Pepare for ${{matrix.os.pypkg}} ${{matrix.os.arch}} if: matrix.os.matrix == 'linux' run: | - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /usr/bin/apt install -y ${{matrix.os.pypkg}}-dev gcc pkg-config ${{matrix.os.pypkgadd}} + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /usr/bin/aptitude install -y ${{matrix.os.pypkg}}-dev gcc pkg-config ${{matrix.os.pypkgadd}} sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "wget ${{matrix.os.getpipurl}} -O get-pip.py && ${{matrix.os.pypkg}} get-pip.py || true" sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "${{matrix.os.pypkg}} -m pip install -U 'setuptools<72.0'" diff --git a/.github/workflows/Build_wheels_for_cpython314_x86_u18.yml b/.github/workflows/Build_wheels_for_cpython314_x86_u18.yml index f868d326a..623f018f2 100644 --- a/.github/workflows/Build_wheels_for_cpython314_x86_u18.yml +++ b/.github/workflows/Build_wheels_for_cpython314_x86_u18.yml @@ -87,7 +87,7 @@ jobs: - name: Pepare for ${{matrix.os.pypkg}} ${{matrix.os.arch}} if: matrix.os.matrix == 'linux' run: | - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /usr/bin/apt install -y ${{matrix.os.pypkg}}-dev gcc pkg-config ${{matrix.os.pypkgadd}} + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /usr/bin/aptitude install -y ${{matrix.os.pypkg}}-dev gcc pkg-config ${{matrix.os.pypkgadd}} sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "wget ${{matrix.os.getpipurl}} -O get-pip.py && ${{matrix.os.pypkg}} get-pip.py || true" sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "${{matrix.os.pypkg}} -m pip install -U 'setuptools<72.0'" diff --git a/.github/workflows/Build_wheels_for_cpython314t_x64_u18.yml b/.github/workflows/Build_wheels_for_cpython314t_x64_u18.yml index 5e72558fa..ea2d793ce 100644 --- a/.github/workflows/Build_wheels_for_cpython314t_x64_u18.yml +++ b/.github/workflows/Build_wheels_for_cpython314t_x64_u18.yml @@ -86,12 +86,13 @@ jobs: - name: Pepare dev files if: matrix.os.matrix == 'linux' run: | - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /usr/bin/apt install -y libzstd-dev file + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /usr/bin/apt install -y aptitude + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /usr/bin/aptitude install -y libzstd-dev file - name: Pepare for ${{matrix.os.pypkg}} ${{matrix.os.arch}} if: matrix.os.matrix == 'linux' run: | - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /usr/bin/apt install -y ${{matrix.os.pypkgdev}} ${{matrix.os.pypkg}} gcc pkg-config ${{matrix.os.pypkgadd}} + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /usr/bin/aptitude install -y ${{matrix.os.pypkgdev}} ${{matrix.os.pypkg}} gcc pkg-config ${{matrix.os.pypkgadd}} sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "wget ${{matrix.os.getpipurl}} -O get-pip.py && ${{matrix.os.pypkgexe}} get-pip.py || true" sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "${{matrix.os.pypkgexe}} -m pip install -U 'setuptools<72.0'" diff --git a/.github/workflows/Build_wheels_for_cpython314t_x86_u18.yml b/.github/workflows/Build_wheels_for_cpython314t_x86_u18.yml index 646c4dae1..16b6deee7 100644 --- a/.github/workflows/Build_wheels_for_cpython314t_x86_u18.yml +++ b/.github/workflows/Build_wheels_for_cpython314t_x86_u18.yml @@ -86,12 +86,13 @@ jobs: - name: Pepare dev files if: matrix.os.matrix == 'linux' run: | - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /usr/bin/apt install -y libzstd-dev file + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /usr/bin/apt install -y aptitude + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /usr/bin/aptitude install -y libzstd-dev file - name: Pepare for ${{matrix.os.pypkg}} ${{matrix.os.arch}} if: matrix.os.matrix == 'linux' run: | - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /usr/bin/apt install -y ${{matrix.os.pypkgdev}} ${{matrix.os.pypkg}} gcc pkg-config ${{matrix.os.pypkgadd}} + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /usr/bin/aptitude install -y ${{matrix.os.pypkgdev}} ${{matrix.os.pypkg}} gcc pkg-config ${{matrix.os.pypkgadd}} sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "wget ${{matrix.os.getpipurl}} -O get-pip.py && ${{matrix.os.pypkgexe}} get-pip.py || true" sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "${{matrix.os.pypkgexe}} -m pip install -U 'setuptools<72.0'" From 08139a30a07ef5e668553362ea60dedbe33dcde5 Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Wed, 22 Apr 2026 13:42:00 +0300 Subject: [PATCH 18/31] Build wheel for python3.13 on ubuntu18 and try to publish release wheel on github too --- ...> Build_wheels_for_cpython313_x64_u18.yml} | 27 ++++++++++++------- ...> Build_wheels_for_cpython313_x86_u18.yml} | 18 ++++++++++--- ... Build_wheels_for_cpython313t_x64_u18.yml} | 17 +++++++++--- ... Build_wheels_for_cpython313t_x86_u18.yml} | 21 ++++++++++----- 4 files changed, 61 insertions(+), 22 deletions(-) rename .github/workflows/{Build_wheels_for_cpython313_x86_64_u24.yml => Build_wheels_for_cpython313_x64_u18.yml} (88%) rename .github/workflows/{Build_wheels_for_cpython313_x86_u16.yml => Build_wheels_for_cpython313_x86_u18.yml} (93%) rename .github/workflows/{Build_wheels_for_cpython313t_x64_u16.yml => Build_wheels_for_cpython313t_x64_u18.yml} (93%) rename .github/workflows/{Build_wheels_for_cpython313t_x86_u16.yml => Build_wheels_for_cpython313t_x86_u18.yml} (91%) diff --git a/.github/workflows/Build_wheels_for_cpython313_x86_64_u24.yml b/.github/workflows/Build_wheels_for_cpython313_x64_u18.yml similarity index 88% rename from .github/workflows/Build_wheels_for_cpython313_x86_64_u24.yml rename to .github/workflows/Build_wheels_for_cpython313_x64_u18.yml index 080ce2952..f86acfaa5 100644 --- a/.github/workflows/Build_wheels_for_cpython313_x86_64_u24.yml +++ b/.github/workflows/Build_wheels_for_cpython313_x64_u18.yml @@ -1,4 +1,4 @@ -name: Build wheels for CPython3.13 x86_64 on Ubuntu22 with GCC-10 All warnings +name: Build wheels for CPython3.13 x86_64 on Ubuntu18 with GCC-7 All warnings on: [push, pull_request] @@ -14,12 +14,12 @@ jobs: fail-fast: false matrix: os: - - name: Ubuntu 24+20 amd64 CPython 3.13 + - name: Ubuntu 24+18 amd64 CPython 3.13 runs-on: ubuntu-latest matrix: linux arch: amd64 tag_arch: x86_64 - release: jammy + release: bionic mirror: http://azure.archive.ubuntu.com/ubuntu getpipurl: https://bootstrap.pypa.io/pip/get-pip.py pypkg: python3.13 @@ -61,14 +61,12 @@ jobs: sudo mount none ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/proc -t proc sudo mount none ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/dev/pts -t devpts sudo mount none ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/sys -t sysfs - echo "# deb [trusted=yes] http://packages.rusoft.ru/ppa/rusoft/python ubuntu-${{matrix.os.release}} main" > rusoft-python.list - echo "# deb [trusted=yes] http://packages.rusoft.ru/ppa/rusoft/backports ubuntu-${{matrix.os.release}} main" > rusoft-backports.list - echo "# deb [trusted=yes] http://packages.rusoft.ru/ppa/rusoft/packages ubuntu-${{matrix.os.release}} main" > rusoft-packages.list - echo " deb [trusted=yes] http://ppa.launchpadcontent.net/deadsnakes/ppa/ubuntu ${{matrix.os.release}} main" > deadsnakes.list - false && sudo find ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} -iname apt + echo " deb [trusted=yes] http://packages.rusoft.ru/ppa/rusoft/python ubuntu-${{matrix.os.release}} main" > rusoft-python.list + echo " deb [trusted=yes] http://packages.rusoft.ru/ppa/rusoft/backports ubuntu-${{matrix.os.release}} main" > rusoft-backports.list + echo " deb [trusted=yes] http://packages.rusoft.ru/ppa/rusoft/packages ubuntu-${{matrix.os.release}} main" > rusoft-packages.list + echo "# deb [trusted=yes] http://ppa.launchpadcontent.net/deadsnakes/ppa/ubuntu ${{matrix.os.release}} main" > deadsnakes.list sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /usr/bin/apt update sudo cp -v ./*.list ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/etc/apt/sources.list.d - false && sudo rm -fv ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/etc/apt/trusted.gpg.d/* && sudo rm -fv ./ubuntu-xenial-x86/etc/apt/trusted.gpg sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c 'cd /etc/apt/trusted.gpg.d && wget http://packages.rusoft.ru/apt/public.gpg -Orusoft.gpg' sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c 'cd /etc/apt/trusted.gpg.d && wget http://packages.rusoft.ru/apt/public-old.gpg -Orusoft-old.gpg' sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c 'apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys A2CE4BCCC50209DD || true' @@ -167,3 +165,14 @@ jobs: TWINE_PASSWORD: "${{ secrets.test_pypi_password }}" run: twine upload --non-interactive --skip-existing --verbose 'dist/*' + - name: Create Release and Upload Assets + if: > + startsWith(github.event.ref, 'refs/tags') && + steps.check_secrets.outputs.HAS_SECRET + # This uses a community action for creating and uploading to a release + uses: softprops/action-gh-release@v1 + with: + files: dist/*.whl + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + # The default GITHUB_TOKEN has sufficient permissions \ No newline at end of file diff --git a/.github/workflows/Build_wheels_for_cpython313_x86_u16.yml b/.github/workflows/Build_wheels_for_cpython313_x86_u18.yml similarity index 93% rename from .github/workflows/Build_wheels_for_cpython313_x86_u16.yml rename to .github/workflows/Build_wheels_for_cpython313_x86_u18.yml index d22602c8a..eb5da41f4 100644 --- a/.github/workflows/Build_wheels_for_cpython313_x86_u16.yml +++ b/.github/workflows/Build_wheels_for_cpython313_x86_u18.yml @@ -1,4 +1,4 @@ -name: Build wheels for CPython3.13 x86 on Ubuntu16 with GCC-5 All warnings +name: Build wheels for CPython3.13 x86 on Ubuntu18 with GCC-7 All warnings on: [push, pull_request] @@ -14,12 +14,12 @@ jobs: fail-fast: false matrix: os: - - name: Ubuntu 24+16 x86 CPython 3.13 + - name: Ubuntu 24+18 x86 CPython 3.13 runs-on: ubuntu-latest matrix: linux arch: i386 tag_arch: i686 - release: xenial + release: bionic mirror: http://azure.archive.ubuntu.com/ubuntu getpipurl: https://bootstrap.pypa.io/pip/get-pip.py pypkg: python3.13 @@ -66,7 +66,6 @@ jobs: echo "# deb [trusted=yes] http://ppa.launchpadcontent.net/deadsnakes/ppa/ubuntu ${{matrix.os.release}} main" > deadsnakes.list sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /usr/bin/apt update sudo cp -v ./*.list ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/etc/apt/sources.list.d - false && sudo rm -fv ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/etc/apt/trusted.gpg.d/* && sudo rm -fv ./ubuntu-xenial-x86/etc/apt/trusted.gpg sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c 'cd /etc/apt/trusted.gpg.d && wget http://packages.rusoft.ru/apt/public.gpg -Orusoft.gpg' sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c 'cd /etc/apt/trusted.gpg.d && wget http://packages.rusoft.ru/apt/public-old.gpg -Orusoft-old.gpg' sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c 'apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys A2CE4BCCC50209DD || true' @@ -165,3 +164,14 @@ jobs: TWINE_PASSWORD: "${{ secrets.test_pypi_password }}" run: twine upload --non-interactive --skip-existing --verbose 'dist/*' + - name: Create Release and Upload Assets + if: > + startsWith(github.event.ref, 'refs/tags') && + steps.check_secrets.outputs.HAS_SECRET + # This uses a community action for creating and uploading to a release + uses: softprops/action-gh-release@v1 + with: + files: dist/*.whl + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + # The default GITHUB_TOKEN has sufficient permissions \ No newline at end of file diff --git a/.github/workflows/Build_wheels_for_cpython313t_x64_u16.yml b/.github/workflows/Build_wheels_for_cpython313t_x64_u18.yml similarity index 93% rename from .github/workflows/Build_wheels_for_cpython313t_x64_u16.yml rename to .github/workflows/Build_wheels_for_cpython313t_x64_u18.yml index 3444cbf99..8837a9839 100644 --- a/.github/workflows/Build_wheels_for_cpython313t_x64_u16.yml +++ b/.github/workflows/Build_wheels_for_cpython313t_x64_u18.yml @@ -1,4 +1,4 @@ -name: Build wheels for CPython3.13-nogil x64 on Ubuntu16 with GCC-5 All warnings +name: Build wheels for CPython3.13-nogil x64 on Ubuntu18 with GCC-7 All warnings on: [push, pull_request] @@ -14,12 +14,12 @@ jobs: fail-fast: false matrix: os: - - name: Ubuntu 24+16 amd64 CPython 3.13-nogil + - name: Ubuntu 24+18 amd64 CPython 3.13-nogil runs-on: ubuntu-latest matrix: linux arch: amd64 tag_arch: x86_64 - release: xenial + release: bionic mirror: http://azure.archive.ubuntu.com/ubuntu getpipurl: https://bootstrap.pypa.io/pip/get-pip.py pypkg: python3.13-nogil @@ -166,3 +166,14 @@ jobs: TWINE_PASSWORD: "${{ secrets.test_pypi_password }}" run: twine upload --non-interactive --skip-existing --verbose 'dist/*' + - name: Create Release and Upload Assets + if: > + startsWith(github.event.ref, 'refs/tags') && + steps.check_secrets.outputs.HAS_SECRET + # This uses a community action for creating and uploading to a release + uses: softprops/action-gh-release@v1 + with: + files: dist/*.whl + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + # The default GITHUB_TOKEN has sufficient permissions \ No newline at end of file diff --git a/.github/workflows/Build_wheels_for_cpython313t_x86_u16.yml b/.github/workflows/Build_wheels_for_cpython313t_x86_u18.yml similarity index 91% rename from .github/workflows/Build_wheels_for_cpython313t_x86_u16.yml rename to .github/workflows/Build_wheels_for_cpython313t_x86_u18.yml index 0719d94c4..94080a4d2 100644 --- a/.github/workflows/Build_wheels_for_cpython313t_x86_u16.yml +++ b/.github/workflows/Build_wheels_for_cpython313t_x86_u18.yml @@ -1,4 +1,4 @@ -name: Build wheels for CPython3.13-nogil x86 on Ubuntu16 with GCC-5 All warnings +name: Build wheels for CPython3.13-nogil x86 on Ubuntu18 with GCC-7 All warnings on: [push, pull_request] @@ -14,12 +14,12 @@ jobs: fail-fast: false matrix: os: - - name: Ubuntu 24+16 i386 CPython 3.13-nogil + - name: Ubuntu 24+18 i386 CPython 3.13-nogil runs-on: ubuntu-latest matrix: linux arch: i386 tag_arch: i686 - release: xenial + release: bionic mirror: http://azure.archive.ubuntu.com/ubuntu #version: 1.5.6.7 # pyver: "3.7" @@ -70,10 +70,8 @@ jobs: echo " deb [trusted=yes] http://packages.rusoft.ru/ppa/rusoft/backports ubuntu-${{matrix.os.release}} main" > rusoft-backports.list echo " deb [trusted=yes] http://packages.rusoft.ru/ppa/rusoft/packages ubuntu-${{matrix.os.release}} main" > rusoft-packages.list echo "# deb [trusted=yes] http://ppa.launchpadcontent.net/deadsnakes/ppa/ubuntu ${{matrix.os.release}} main" > deadsnakes.list - false && sudo find ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} -iname apt sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /usr/bin/apt update sudo cp -v ./*.list ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/etc/apt/sources.list.d - false && sudo rm -fv ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/etc/apt/trusted.gpg.d/* && sudo rm -fv ./ubuntu-xenial-x86/etc/apt/trusted.gpg sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c 'cd /etc/apt/trusted.gpg.d && wget http://packages.rusoft.ru/apt/public.gpg -Orusoft.gpg' sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c 'cd /etc/apt/trusted.gpg.d && wget http://packages.rusoft.ru/apt/public-old.gpg -Orusoft-old.gpg' sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c 'apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys A2CE4BCCC50209DD || true' @@ -105,7 +103,7 @@ jobs: sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} pkg-config libzstd --modversion sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} echo GCC sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} gcc -v - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-$version/ && ZSTD_ASM=1 ZSTD_WARNINGS=1 _ZSTD_SMALL=1 LDFLAGS='-Wl,--as-needed -Wl,-s' ZSTD_BUILD_STRIP=1 _ZSTD_SPEED=0 _ZSTD_SPEEDMAX=0 _ZSTD_ASM_BMI2=1 ZSTD_THREADS=1 _ZSTD_EXTERNAL=0 ${{matrix.os.pypkgexe}} setup.py bdist_wheel" + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-$version/ && ZSTD_ASM=1 ZSTD_WARNINGS=1 _ZSTD_SMALL=1 ZSTD_BUILD_STRIP=1 _ZSTD_SPEED=0 _ZSTD_SPEEDMAX=0 _ZSTD_ASM_BMI2=1 ZSTD_THREADS=1 _ZSTD_EXTERNAL=0 ${{matrix.os.pypkgexe}} setup.py bdist_wheel" - name: Test wheel for ${{matrix.os.pypkg}} ${{matrix.os.arch}} if: matrix.os.matrix == 'linux' @@ -172,3 +170,14 @@ jobs: TWINE_PASSWORD: "${{ secrets.test_pypi_password }}" run: twine upload --non-interactive --skip-existing --verbose 'dist/*' + - name: Create Release and Upload Assets + if: > + startsWith(github.event.ref, 'refs/tags') && + steps.check_secrets.outputs.HAS_SECRET + # This uses a community action for creating and uploading to a release + uses: softprops/action-gh-release@v1 + with: + files: dist/*64*.tar.xz + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + # The default GITHUB_TOKEN has sufficient permissions \ No newline at end of file From b0f1e5a38c6a3693195f508c32decec9b23db730 Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Thu, 14 May 2026 14:10:57 +0300 Subject: [PATCH 19/31] Fix typo --- .github/workflows/Build_wheels_for_cpython313t_x64_u18.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/Build_wheels_for_cpython313t_x64_u18.yml b/.github/workflows/Build_wheels_for_cpython313t_x64_u18.yml index 8837a9839..370d9e06c 100644 --- a/.github/workflows/Build_wheels_for_cpython313t_x64_u18.yml +++ b/.github/workflows/Build_wheels_for_cpython313t_x64_u18.yml @@ -99,7 +99,7 @@ jobs: sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} pkg-config libzstd --modversion sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} echo GCC sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} gcc -v - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-$version/ && ZSTD_ASM=1 ZSTD_WARNINGS=1 _ZSTD_SMALL=1 LDFLAGS='-Wl,--as-needed -Wl,-s' ZSTD_BUILD_STRIP=1 _ZSTD_SPEED=0 _ZSTD_SPEEDMAX=0 _ZSTD_ASM_BMI2=1 ZSTD_THREADS=1 _ZSTD_EXTERNAL=0 ZS5D_WERRORS=1 ${{matrix.os.pypkgexe}} setup.py bdist_wheel" + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-$version/ && ZSTD_ASM=1 ZSTD_WARNINGS=1 _ZSTD_SMALL=1 LDFLAGS='-Wl,--as-needed -Wl,-s' ZSTD_BUILD_STRIP=1 _ZSTD_SPEED=0 _ZSTD_SPEEDMAX=0 _ZSTD_ASM_BMI2=1 ZSTD_THREADS=1 _ZSTD_EXTERNAL=0 ZSTD_WERRORS=1 ${{matrix.os.pypkgexe}} setup.py bdist_wheel" - name: Test wheel for ${{matrix.os.pypkg}} ${{matrix.os.arch}} if: matrix.os.matrix == 'linux' From 3fbe7926d00c7a0196492adc51dfcd0adfe51afd Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Wed, 20 May 2026 15:35:07 +0300 Subject: [PATCH 20/31] fix typo: wrong gcc version, enable werror --- .github/workflows/Build_wheels_for_cpython27_x86_64.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/Build_wheels_for_cpython27_x86_64.yml b/.github/workflows/Build_wheels_for_cpython27_x86_64.yml index e54973574..795a9c906 100644 --- a/.github/workflows/Build_wheels_for_cpython27_x86_64.yml +++ b/.github/workflows/Build_wheels_for_cpython27_x86_64.yml @@ -93,7 +93,7 @@ jobs: sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /usr/bin/apt install -y ${{matrix.os.pypkg}}-dev gcc pkg-config ${{matrix.os.pypkgadd}} sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "wget ${{matrix.os.getpipurl}} -O get-pip.py && ${{matrix.os.pypkg}} get-pip.py || true" sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "${{matrix.os.pypkg}} -m pip install -U 'setuptools<72'" - + - name: Pepare source and build wheel for ${{matrix.os.pypkg}} ${{matrix.os.arch}} if: matrix.os.matrix == 'linux' run: | @@ -104,7 +104,7 @@ jobs: sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} pkg-config libzstd --modversion sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} echo GCC sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} gcc -v - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-$version && CC=gcc-7 ZSTD_ASM=1 _ZSTD_SMALL=1 ZSTD_WARNINGS=1 _ZSTD_WERRORS=1 _ZSTD_ASM_BMI2=1 ZSTD_THREADS=1 _ZSTD_EXTERNAL=1 ${{matrix.os.pypkg}} setup.py bdist_wheel" + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-$version && CC=gcc-4.8 ZSTD_ASM=1 _ZSTD_SMALL=1 ZSTD_WARNINGS=1 ZSTD_WERRORS=1 _ZSTD_ASM_BMI2=1 ZSTD_THREADS=1 _ZSTD_EXTERNAL=1 ${{matrix.os.pypkg}} setup.py bdist_wheel" - name: Test wheel for ${{matrix.os.pypkg}} ${{matrix.os.arch}} if: matrix.os.matrix == 'linux' From 5b64cf7c7b424baa3cf27bc86e65167057aa3be0 Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Tue, 2 Jun 2026 17:28:11 +0300 Subject: [PATCH 21/31] Fix cores cache --- src/util.c | 32 ++++++++++++++++++++++++++------ src/util.h | 4 ++-- 2 files changed, 28 insertions(+), 8 deletions(-) diff --git a/src/util.c b/src/util.c index 2e2de2d7c..e0a62b7dd 100644 --- a/src/util.c +++ b/src/util.c @@ -40,7 +40,11 @@ typedef BOOL(WINAPI* LPFN_GLPI)(PSYSTEM_LOGICAL_PROCESSOR_INFORMATION, PDWORD); int UTIL_countAvailableCores(void) { time_t currTime = time(NULL); - if (lastTimeCached && currTime-lastTimeCached>util_cpuCoresCacheTTL) numLogicalCores = 0; + if (lastTimeCached && currTime-lastTimeCached>util_cpuCoresCacheTTL) { + printdn("Cache reach TTL. Drop numLogicalCores.", numLogicalCores); + numLogicalCores = 0; + } + if (numLogicalCores != 0) return numLogicalCores; { LPFN_GLPI glpi; @@ -120,7 +124,11 @@ int UTIL_countAvailableCores(void) int UTIL_countAvailableCores(void) { time_t currTime = time(NULL); - if (lastTimeCached && currTime-lastTimeCached>util_cpuCoresCacheTTL) numLogicalCores = 0; + if (lastTimeCached && currTime-lastTimeCached>util_cpuCoresCacheTTL) { + printdn("Cache reach TTL. Drop numLogicalCores.", numLogicalCores); + numLogicalCores = 0; + } + if (numLogicalCores != 0) return numLogicalCores; { size_t size = sizeof(int32_t); @@ -147,7 +155,10 @@ int UTIL_countAvailableCores(void) int UTIL_countAvailableCores_posix_sysconf(void) { time_t currTime = time(NULL); - if (lastTimeCached && currTime-lastTimeCached>util_cpuCoresCacheTTL) numLogicalCores = 0; + if (lastTimeCached && currTime-lastTimeCached>util_cpuCoresCacheTTL) { + printdn("Cache reach TTL. Drop numLogicalCores.", numLogicalCores); + numLogicalCores = 0; + } if (numLogicalCores != 0) { printdn("Stored static numLogicalCores: %d\n", numLogicalCores); @@ -177,7 +188,10 @@ int UTIL_countAvailableCores(void) { int UTIL_countAvailableCores_parse_cpuinfo(void) { time_t currTime = time(NULL); - if (lastTimeCached && currTime-lastTimeCached>util_cpuCoresCacheTTL) numLogicalCores = 0; + if (lastTimeCached && currTime-lastTimeCached>util_cpuCoresCacheTTL) { + printdn("Cache reach TTL. Drop numLogicalCores.", numLogicalCores); + numLogicalCores = 0; + } if (numLogicalCores != 0) { printdn("Stored static numLogicalCores: %d\n", numLogicalCores); @@ -269,7 +283,10 @@ int UTIL_countAvailableCores_parse_cpuinfo(void) int UTIL_countAvailableCores(void) { time_t currTime = time(NULL); - if (lastTimeCached && currTime-lastTimeCached>util_cpuCoresCacheTTL) numLogicalCores = 0; + if (lastTimeCached && currTime-lastTimeCached>util_cpuCoresCacheTTL) { + printdn("Cache reach TTL. Drop numLogicalCores.", numLogicalCores); + numLogicalCores = 0; + } if (numLogicalCores != 0) return numLogicalCores; @@ -302,7 +319,10 @@ int UTIL_countAvailableCores(void) int UTIL_countAvailableCores(void) { time_t currTime = time(NULL); - if (lastTimeCached && currTime-lastTimeCached>util_cpuCoresCacheTTL) numLogicalCores = 0; + if (lastTimeCached && currTime-lastTimeCached>util_cpuCoresCacheTTL) { + printdn("Cache reach TTL. Drop numLogicalCores.", numLogicalCores); + numLogicalCores = 0; + } if (numLogicalCores != 0) return numLogicalCores; diff --git a/src/util.h b/src/util.h index fbb635e28..8f5e773ca 100644 --- a/src/util.h +++ b/src/util.h @@ -67,11 +67,11 @@ extern "C" { #endif #if defined(_WIN32) || defined(WIN32) - static int numLogicalCores = 1; + static int numLogicalCores = 0; static time_t lastTimeCached = 0; static int util_cpuCoresCacheTTL = 60; #else -__attribute__((unused)) static int numLogicalCores = 1; +__attribute__((unused)) static int numLogicalCores = 0; __attribute__((unused)) static time_t lastTimeCached = 0; __attribute__((unused)) static int util_cpuCoresCacheTTL = 60; #endif From 370c7fffb5c39bfc0b976e977990752a106ed3cc Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Tue, 2 Jun 2026 17:34:06 +0300 Subject: [PATCH 22/31] Back to Ubuntu16 for cypthon2.7 x86 --- .github/workflows/Build_wheels_for_cpython27_x86.yml | 6 +++--- .../workflows/Build_wheels_for_cpython27_x86_64.yml | 10 +++++----- .../workflows/Build_wheels_for_cpython27_x86_ext.yml | 6 +++--- ....yml => Build_wheels_for_cpython310_x86_64_u16.yml} | 0 4 files changed, 11 insertions(+), 11 deletions(-) rename .github/workflows/{Build_wheels_for_cpython310_x86_64_u24.yml => Build_wheels_for_cpython310_x86_64_u16.yml} (100%) diff --git a/.github/workflows/Build_wheels_for_cpython27_x86.yml b/.github/workflows/Build_wheels_for_cpython27_x86.yml index 7c12de096..5f11a3ef1 100644 --- a/.github/workflows/Build_wheels_for_cpython27_x86.yml +++ b/.github/workflows/Build_wheels_for_cpython27_x86.yml @@ -1,4 +1,4 @@ -name: Build wheels for CPython2.7 x86 on Ubuntu14 with GCC-4.8 with All warnings +name: Build wheels for CPython2.7 x86 on Ubuntu16 with GCC-5 with All warnings on: [push, pull_request] @@ -14,12 +14,12 @@ jobs: fail-fast: false matrix: os: - - name: Ubuntu 24+14 i386 CPython 2.7 + - name: Ubuntu 24+16 i386 CPython 2.7 runs-on: ubuntu-latest matrix: linux arch: i386 tag_arch: i686 - release: trusty + release: xenial mirror: http://azure.archive.ubuntu.com/ubuntu #version: 1.5.6.7 #pyver: "2.7" diff --git a/.github/workflows/Build_wheels_for_cpython27_x86_64.yml b/.github/workflows/Build_wheels_for_cpython27_x86_64.yml index 795a9c906..81398505d 100644 --- a/.github/workflows/Build_wheels_for_cpython27_x86_64.yml +++ b/.github/workflows/Build_wheels_for_cpython27_x86_64.yml @@ -1,4 +1,4 @@ -name: Build wheels for CPython2.7 x64 on Ubuntu14 with GCC-4.8 with All warnings +name: Build wheels for CPython2.7 x64 on Ubuntu16 with GCC-5 with All warnings on: [push, pull_request] @@ -19,7 +19,7 @@ jobs: matrix: linux arch: amd64 tag_arch: x86_64 - release: trusty + release: xenial mirror: http://azure.archive.ubuntu.com/ubuntu #version: 1.5.6.7 #pyver: "2.7" @@ -102,9 +102,9 @@ jobs: sudo tar -xvf dist/zstd-$version.tar.gz -C ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel/ false && sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} env sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} pkg-config libzstd --modversion - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} echo GCC - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} gcc -v - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-$version && CC=gcc-4.8 ZSTD_ASM=1 _ZSTD_SMALL=1 ZSTD_WARNINGS=1 ZSTD_WERRORS=1 _ZSTD_ASM_BMI2=1 ZSTD_THREADS=1 _ZSTD_EXTERNAL=1 ${{matrix.os.pypkg}} setup.py bdist_wheel" + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} echo GCC-5 + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} gcc-5 -v + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-$version && CC=gcc-5 ZSTD_ASM=1 _ZSTD_SMALL=1 ZSTD_WARNINGS=1 ZSTD_WERRORS=1 _ZSTD_ASM_BMI2=1 ZSTD_THREADS=1 _ZSTD_EXTERNAL=1 ${{matrix.os.pypkg}} setup.py bdist_wheel" - name: Test wheel for ${{matrix.os.pypkg}} ${{matrix.os.arch}} if: matrix.os.matrix == 'linux' diff --git a/.github/workflows/Build_wheels_for_cpython27_x86_ext.yml b/.github/workflows/Build_wheels_for_cpython27_x86_ext.yml index 04e2c6602..b39f7c717 100644 --- a/.github/workflows/Build_wheels_for_cpython27_x86_ext.yml +++ b/.github/workflows/Build_wheels_for_cpython27_x86_ext.yml @@ -1,4 +1,4 @@ -name: Build wheels for CPython2.7 x86 on Ubuntu14 with GCC-4.8 with All warnings, test external build +name: Build wheels for CPython2.7 x86 on Ubuntu16 with GCC-5 with All warnings, test external build on: [push, pull_request] @@ -14,12 +14,12 @@ jobs: fail-fast: false matrix: os: - - name: Ubuntu 24+14 i386 CPython 2.7 + - name: Ubuntu 24+16 i386 CPython 2.7 runs-on: ubuntu-latest matrix: linux arch: i386 tag_arch: i686 - release: trusty + release: xenial mirror: http://azure.archive.ubuntu.com/ubuntu #version: 1.5.6.7 #pyver: "2.7" diff --git a/.github/workflows/Build_wheels_for_cpython310_x86_64_u24.yml b/.github/workflows/Build_wheels_for_cpython310_x86_64_u16.yml similarity index 100% rename from .github/workflows/Build_wheels_for_cpython310_x86_64_u24.yml rename to .github/workflows/Build_wheels_for_cpython310_x86_64_u16.yml From cb9ef4f87d62d2bdeba357dd8b6cf4445cd0ae31 Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Thu, 4 Jun 2026 21:38:31 +0300 Subject: [PATCH 23/31] Add script for checking SIMD instructions for #320 --- simd-check | 73 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 73 insertions(+) create mode 100755 simd-check diff --git a/simd-check b/simd-check new file mode 100755 index 000000000..a46fe89a1 --- /dev/null +++ b/simd-check @@ -0,0 +1,73 @@ +#!/bin/bash + +tmpf=`tempfile` +echo tmpf=$tmpf + +echo "File:$1" +echo " dump ASM instructions..." +objdump -d $1>$tmpf + +echo -en "count SSE lines:" +# Source - https://stackoverflow.com/a/50056059 +# Posted by Andriy Makukha, modified by community. See post 'Timeline' for change history +# Retrieved 2026-03-31, License - CC BY-SA 4.0 + +awk '/[ \t](addps|andnps|andps|cmpps|cvtpi2ps|cvtps2pi|cvttps2pi|divps|maxps|minps|movaps|movhlps|movhps|movlhps|movlps|movmskps|movntps|movntq|movups|mulps|orps|pavgb|pavgw|pextrw|pinsrw|pmaxsw|pmaxub|pminsw|pminub|pmovmskb|pmulhuw|psadbw|pshufw|rcpps|rsqrtps|shufps|sqrtps|subps|unpckhps|unpcklps|xorps)[ \t]/' $tmpf | wc -l + +echo -en "count SSE2 lines:" + +# Source - https://stackoverflow.com/a/50056059 +# Posted by Andriy Makukha, modified by community. See post 'Timeline' for change history +# Retrieved 2026-03-31, License - CC BY-SA 4.0 + +awk '/[ \t](addpd|addsd|andnpd|andpd|cmppd|comisd|cvtdq2pd|cvtdq2ps|cvtpd2dq|cvtpd2pi|cvtpd2ps|cvtpi2pd|cvtps2dq|cvtps2pd|cvtsd2si|cvtsd2ss|cvtsi2sd|cvtss2sd|cvttpd2dq|cvttpd2pi|cvtps2dq|cvttsd2si|divpd|divsd|maxpd|maxsd|minpd|minsd|movapd|movhpd|movlpd|movmskpd|movupd|mulpd|mulsd|orpd|shufpd|sqrtpd|sqrtsd|subpd|subsd|ucomisd|unpckhpd|unpcklpd|xorpd|movdq2q|movdqa|movdqu|movq2dq|paddq|pmuludq|pshufhw|pshuflw|pshufd|pslldq|psrldq|punpckhqdq|punpcklqdq)[ \t]/' $tmpf | wc -l + +echo -en "count SSE3 lines:" + +# Source - https://stackoverflow.com/a/50056059 +# Posted by Andriy Makukha, modified by community. See post 'Timeline' for change history +# Retrieved 2026-03-31, License - CC BY-SA 4.0 + +awk '/[ \t](addsubpd|addsubps|haddpd|haddps|hsubpd|hsubps|movddup|movshdup|movsldup|lddqu|fisttp)[ \t]/' $tmpf | wc -l + +echo -en "count SSSE3 lines:" + +# Source - https://stackoverflow.com/a/50056059 +# Posted by Andriy Makukha, modified by community. See post 'Timeline' for change history +# Retrieved 2026-03-31, License - CC BY-SA 4.0 + +awk '/[ \t](psignw|psignd|psignb|pshufb|pmulhrsw|pmaddubsw|phsubw|phsubsw|phsubd|phaddw|phaddsw|phaddd|palignr|pabsw|pabsd|pabsb)[ \t]/' $tmpf | wc -l + +echo -en "count SSE4 lines:" + +# Source - https://stackoverflow.com/a/50056059 +# Posted by Andriy Makukha, modified by community. See post 'Timeline' for change history +# Retrieved 2026-03-31, License - CC BY-SA 4.0 + +awk '/[ \t](mpsadbw|phminposuw|pmulld|pmuldq|dpps|dppd|blendps|blendpd|blendvps|blendvpd|pblendvb|pblenddw|pminsb|pmaxsb|pminuw|pmaxuw|pminud|pmaxud|pminsd|pmaxsd|roundps|roundss|roundpd|roundsd|insertps|pinsrb|pinsrd|pinsrq|extractps|pextrb|pextrd|pextrw|pextrq|pmovsxbw|pmovzxbw|pmovsxbd|pmovzxbd|pmovsxbq|pmovzxbq|pmovsxwd|pmovzxwd|pmovsxwq|pmovzxwq|pmovsxdq|pmovzxdq|ptest|pcmpeqq|pcmpgtq|packusdw|pcmpestri|pcmpestrm|pcmpistri|pcmpistrm|crc32|popcnt|movntdqa|extrq|insertq|movntsd|movntss|lzcnt)[ \t]/' $tmpf | wc -l + +echo -en "count AVX lines:" + +# Source - https://stackoverflow.com/a/50056059 +# Posted by Andriy Makukha, modified by community. See post 'Timeline' for change history +# Retrieved 2026-03-31, License - CC BY-SA 4.0 + +awk '/[ \t](vmovapd|vmulpd|vaddpd|vsubpd|vfmadd213pd|vfmadd231pd|vfmadd132pd|vmulsd|vaddsd|vmosd|vsubsd|vbroadcastss|vbroadcastsd|vblendpd|vshufpd|vroundpd|vroundsd|vxorpd|vfnmadd231pd|vfnmadd213pd|vfnmadd132pd|vandpd|vmaxpd|vmovmskpd|vcmppd|vpaddd|vbroadcastf128|vinsertf128|vextractf128|vfmsub231pd|vfmsub132pd|vfmsub213pd|vmaskmovps|vmaskmovpd|vpermilps|vpermilpd|vperm2f128|vzeroall|vzeroupper|vpbroadcastb|vpbroadcastw|vpbroadcastd|vpbroadcastq|vbroadcasti128|vinserti128|vextracti128|vpminud|vpmuludq|vgatherdpd|vgatherqpd|vgatherdps|vgatherqps|vpgatherdd|vpgatherdq|vpgatherqd|vpgatherqq|vpmaskmovd|vpmaskmovq|vpermps|vpermd|vpermpd|vpermq|vperm2i128|vpblendd|vpsllvd|vpsllvq|vpsrlvd|vpsrlvq|vpsravd|vblendmpd|vblendmps|vpblendmd|vpblendmq|vpblendmb|vpblendmw|vpcmpd|vpcmpud|vpcmpq|vpcmpuq|vpcmpb|vpcmpub|vpcmpw|vpcmpuw|vptestmd|vptestmq|vptestnmd|vptestnmq|vptestmb|vptestmw|vptestnmb|vptestnmw|vcompresspd|vcompressps|vpcompressd|vpcompressq|vexpandpd|vexpandps|vpexpandd|vpexpandq|vpermb|vpermw|vpermt2b|vpermt2w|vpermi2pd|vpermi2ps|vpermi2d|vpermi2q|vpermi2b|vpermi2w|vpermt2ps|vpermt2pd|vpermt2d|vpermt2q|vshuff32x4|vshuff64x2|vshuffi32x4|vshuffi64x2|vpmultishiftqb|vpternlogd|vpternlogq|vpmovqd|vpmovsqd|vpmovusqd|vpmovqw|vpmovsqw|vpmovusqw|vpmovqb|vpmovsqb|vpmovusqb|vpmovdw|vpmovsdw|vpmovusdw|vpmovdb|vpmovsdb|vpmovusdb|vpmovwb|vpmovswb|vpmovuswb|vcvtps2udq|vcvtpd2udq|vcvttps2udq|vcvttpd2udq|vcvtss2usi|vcvtsd2usi|vcvttss2usi|vcvttsd2usi|vcvtps2qq|vcvtpd2qq|vcvtps2uqq|vcvtpd2uqq|vcvttps2qq|vcvttpd2qq|vcvttps2uqq|vcvttpd2uqq|vcvtudq2ps|vcvtudq2pd|vcvtusi2ps|vcvtusi2pd|vcvtusi2sd|vcvtusi2ss|vcvtuqq2ps|vcvtuqq2pd|vcvtqq2pd|vcvtqq2ps|vgetexppd|vgetexpps|vgetexpsd|vgetexpss|vgetmantpd|vgetmantps|vgetmantsd|vgetmantss|vfixupimmpd|vfixupimmps|vfixupimmsd|vfixupimmss|vrcp14pd|vrcp14ps|vrcp14sd|vrcp14ss|vrndscaleps|vrndscalepd|vrndscaless|vrndscalesd|vrsqrt14pd|vrsqrt14ps|vrsqrt14sd|vrsqrt14ss|vscalefps|vscalefpd|vscalefss|vscalefsd|valignd|valignq|vdbpsadbw|vpabsq|vpmaxsq|vpmaxuq|vpminsq|vpminuq|vprold|vprolvd|vprolq|vprolvq|vprord|vprorvd|vprorq|vprorvq|vpscatterdd|vpscatterdq|vpscatterqd|vpscatterqq|vscatterdps|vscatterdpd|vscatterqps|vscatterqpd|vpconflictd|vpconflictq|vplzcntd|vplzcntq|vpbroadcastmb2q|vpbroadcastmw2d|vexp2pd|vexp2ps|vrcp28pd|vrcp28ps|vrcp28sd|vrcp28ss|vrsqrt28pd|vrsqrt28ps|vrsqrt28sd|vrsqrt28ss|vgatherpf0dps|vgatherpf0qps|vgatherpf0dpd|vgatherpf0qpd|vgatherpf1dps|vgatherpf1qps|vgatherpf1dpd|vgatherpf1qpd|vscatterpf0dps|vscatterpf0qps|vscatterpf0dpd|vscatterpf0qpd|vscatterpf1dps|vscatterpf1qps|vscatterpf1dpd|vscatterpf1qpd|vfpclassps|vfpclasspd|vfpclassss|vfpclasssd|vrangeps|vrangepd|vrangess|vrangesd|vreduceps|vreducepd|vreducess|vreducesd|vpmovm2d|vpmovm2q|vpmovm2b|vpmovm2w|vpmovd2m|vpmovq2m|vpmovb2m|vpmovw2m|vpmullq|vpmadd52luq|vpmadd52huq|v4fmaddps|v4fmaddss|v4fnmaddps|v4fnmaddss|vp4dpwssd|vp4dpwssds|vpdpbusd|vpdpbusds|vpdpwssd|vpdpwssds|vpcompressb|vpcompressw|vpexpandb|vpexpandw|vpshld|vpshldv|vpshrd|vpshrdv|vpopcntd|vpopcntq|vpopcntb|vpopcntw|vpshufbitqmb|gf2p8affineinvqb|gf2p8affineqb|gf2p8mulb|vpclmulqdq|vaesdec|vaesdeclast|vaesenc|vaesenclast)[ \t]/' $tmpf | wc -l + +echo -en "count AVX2 lines:" + +grep -c ymm $tmpf + +echo -en "count AVX512 lines:" + +grep -c zmm $tmpf + +echo -en "count BMI lines:" + +grep -cE "tzcnt|lzcnt|andn|bextr" $tmpf + +echo -en "count BMI2 lines:" + +grep -cE "bzhi|pdep|pext|sarx|shlx|shrx" $tmpf + +rm -f $tmpf \ No newline at end of file From 844397c416b0f6592b04fa95659e5d8bd49614eb Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Thu, 4 Jun 2026 21:46:46 +0300 Subject: [PATCH 24/31] Test simd check for build cython2.7 i686 --- .github/workflows/Build_wheels_for_cpython27_x86.yml | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/.github/workflows/Build_wheels_for_cpython27_x86.yml b/.github/workflows/Build_wheels_for_cpython27_x86.yml index 5f11a3ef1..fd033ccf0 100644 --- a/.github/workflows/Build_wheels_for_cpython27_x86.yml +++ b/.github/workflows/Build_wheels_for_cpython27_x86.yml @@ -111,13 +111,20 @@ jobs: - name: Test wheel for ${{matrix.os.pypkg}} ${{matrix.os.arch}} if: matrix.os.matrix == 'linux' run: | - false && sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} find /build_wheel/ version=`cat version` echo version=$version sudo cp -v glibc-check.sh ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel/zstd-$version/ sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-$version/ ; echo LLH; ls -lh build/*/zstd.so; echo LDD; ldd build/*/zstd.so;echo FILE; file build/*/zstd.so; echo LIBC; bash ./glibc-check.sh build/*/zstd.so" sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-$version && ${{matrix.os.pypkg}} setup.py test" + - name: Test module for SIMD instructions, ${{matrix.os.pypkg}} ${{matrix.os.arch}} + if: matrix.os.matrix == 'linux' + run: | + version=`cat version` + echo version=$version + sudo cp -v simd-check ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel/zstd-$version/ + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-$version/ ; echo LLH; ls -lh build/*/zstd.so; echo SIMD; bash ./simd-check build/*/zstd.so" + - name: Pepare wheel for upload if: matrix.os.matrix == 'linux' run: | From 6081d300ba5aa6003190a5692ab3128da495e1b6 Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Thu, 4 Jun 2026 22:26:19 +0300 Subject: [PATCH 25/31] simplify name --- .github/workflows/Build_wheels_for_cpython27_x86.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/Build_wheels_for_cpython27_x86.yml b/.github/workflows/Build_wheels_for_cpython27_x86.yml index fd033ccf0..b5c9f9736 100644 --- a/.github/workflows/Build_wheels_for_cpython27_x86.yml +++ b/.github/workflows/Build_wheels_for_cpython27_x86.yml @@ -117,7 +117,7 @@ jobs: sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-$version/ ; echo LLH; ls -lh build/*/zstd.so; echo LDD; ldd build/*/zstd.so;echo FILE; file build/*/zstd.so; echo LIBC; bash ./glibc-check.sh build/*/zstd.so" sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-$version && ${{matrix.os.pypkg}} setup.py test" - - name: Test module for SIMD instructions, ${{matrix.os.pypkg}} ${{matrix.os.arch}} + - name: Test module for SIMD instructions if: matrix.os.matrix == 'linux' run: | version=`cat version` From 43142c5d23b7441bdd9ea95680ea3628a70c5a54 Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Thu, 4 Jun 2026 22:34:57 +0300 Subject: [PATCH 26/31] for #320: add test for simd for cython2.7 amd64 --- .../Build_wheels_for_cpython27_x86_64.yml | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/.github/workflows/Build_wheels_for_cpython27_x86_64.yml b/.github/workflows/Build_wheels_for_cpython27_x86_64.yml index 81398505d..53ae0b621 100644 --- a/.github/workflows/Build_wheels_for_cpython27_x86_64.yml +++ b/.github/workflows/Build_wheels_for_cpython27_x86_64.yml @@ -122,15 +122,15 @@ jobs: sudo cp -v ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel/zstd-$version/dist/* ./dist sudo ls -lh ./dist/* sudo mv -v ./dist/"zstd-$version-${{matrix.os.pyengine_tag}}-linux_${{matrix.os.tag_arch}}.whl" ./dist/"zstd-$version-${{matrix.os.pyengine_tag}}-${{matrix.os.libc_tag}}_${{matrix.os.tag_arch}}.whl" - -# - name: Upload artifacts -# uses: actions/upload-artifact@v4 -# with: -# name: wheels -#. path: ./dist -# compression-level: 0 - + - name: Test module for SIMD instructions + if: matrix.os.matrix == 'linux' + run: | + version=`cat version` + echo version=$version + sudo cp -v simd-check ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel/zstd-$version/ + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash-c "cd /build_wheel/zstd-$version/ ; echo LLH; ls -lh build/*/zstd.so; echo SIMD; bash ./simd-check build/*/zstd.so" + - name: Test for secrets access id: check_secrets # If a third party makes a pull request From 154704fdeb2933db85c5fbbcb8042d589a5f2e1c Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Fri, 5 Jun 2026 10:54:03 +0300 Subject: [PATCH 27/31] Enable rusoft ppa for cython2.7 x86 --- .github/workflows/Build_wheels_for_cpython27_x86.yml | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/.github/workflows/Build_wheels_for_cpython27_x86.yml b/.github/workflows/Build_wheels_for_cpython27_x86.yml index b5c9f9736..fbc64511a 100644 --- a/.github/workflows/Build_wheels_for_cpython27_x86.yml +++ b/.github/workflows/Build_wheels_for_cpython27_x86.yml @@ -63,9 +63,9 @@ jobs: sudo mount none ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/proc -t proc sudo mount none ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/dev/pts -t devpts sudo mount none ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/sys -t sysfs - echo "# deb [trusted=yes] http://packages.rusoft.ru/ppa/rusoft/python ubuntu-${{matrix.os.release}} main" > rusoft-python.list - echo "# deb [trusted=yes] http://packages.rusoft.ru/ppa/rusoft/backports ubuntu-${{matrix.os.release}} main" > rusoft-backports.list - echo "# deb [trusted=yes] http://packages.rusoft.ru/ppa/rusoft/packages ubuntu-${{matrix.os.release}} main" > rusoft-packages.list + echo " deb [trusted=yes] http://packages.rusoft.ru/ppa/rusoft/python ubuntu-${{matrix.os.release}} main" > rusoft-python.list + echo " deb [trusted=yes] http://packages.rusoft.ru/ppa/rusoft/backports ubuntu-${{matrix.os.release}} main" > rusoft-backports.list + echo " deb [trusted=yes] http://packages.rusoft.ru/ppa/rusoft/packages ubuntu-${{matrix.os.release}} main" > rusoft-packages.list echo "# deb [trusted=yes] http://ppa.launchpadcontent.net/deadsnakes/ppa/ubuntu ${{matrix.os.release}} main" > deadsnakes.list echo "# deb [trusted=yes] http://apt.llvm.org/${{matrix.os.release}}/ llvm-toolchain-${{matrix.os.release}}-20 main " > clang.list @@ -134,7 +134,6 @@ jobs: sudo ls -lh ./dist/* sudo mv -v ./dist/"zstd-$version-${{matrix.os.pyengine_tag}}-linux_${{matrix.os.tag_arch}}.whl" ./dist/"zstd-$version-${{matrix.os.pyengine_tag}}-${{matrix.os.libc_tag}}_${{matrix.os.tag_arch}}.whl" - - name: Test for secrets access id: check_secrets # If a third party makes a pull request From 788ccf6f50ccd31262a0eb453d64f5158e50163d Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Fri, 5 Jun 2026 12:52:47 +0300 Subject: [PATCH 28/31] output cpuinfo --- .github/workflows/Build_wheels_for_cpython27_x86.yml | 2 ++ .github/workflows/Build_wheels_for_cpython27_x86_64.yml | 2 ++ 2 files changed, 4 insertions(+) diff --git a/.github/workflows/Build_wheels_for_cpython27_x86.yml b/.github/workflows/Build_wheels_for_cpython27_x86.yml index fbc64511a..a0077d651 100644 --- a/.github/workflows/Build_wheels_for_cpython27_x86.yml +++ b/.github/workflows/Build_wheels_for_cpython27_x86.yml @@ -122,6 +122,8 @@ jobs: run: | version=`cat version` echo version=$version + echo cpuinfo + cat /proc/cpuinfo sudo cp -v simd-check ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel/zstd-$version/ sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-$version/ ; echo LLH; ls -lh build/*/zstd.so; echo SIMD; bash ./simd-check build/*/zstd.so" diff --git a/.github/workflows/Build_wheels_for_cpython27_x86_64.yml b/.github/workflows/Build_wheels_for_cpython27_x86_64.yml index 53ae0b621..f696d1c93 100644 --- a/.github/workflows/Build_wheels_for_cpython27_x86_64.yml +++ b/.github/workflows/Build_wheels_for_cpython27_x86_64.yml @@ -128,6 +128,8 @@ jobs: run: | version=`cat version` echo version=$version + echo cpuinfo + cat /proc/cpuinfo sudo cp -v simd-check ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel/zstd-$version/ sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash-c "cd /build_wheel/zstd-$version/ ; echo LLH; ls -lh build/*/zstd.so; echo SIMD; bash ./simd-check build/*/zstd.so" From 6c0a45fb24afd5bfe0b5ce0f3f22be680dea43aa Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Fri, 5 Jun 2026 13:58:41 +0300 Subject: [PATCH 29/31] rename action yamls, fix url for 3.9 pip --- ..._x86_64_u20.yml => Build_wheels_for_cpython35_x64_u16.yml} | 2 +- ..._x86_64_u20.yml => Build_wheels_for_cpython36_x64_u16.yml} | 2 +- ..._x86_64_u24.yml => Build_wheels_for_cpython37_x64_u16.yml} | 0 ..._x86_64_u24.yml => Build_wheels_for_cpython38_x64_u16.yml} | 0 ..._x86_64_u24.yml => Build_wheels_for_cpython39_x64_u16.yml} | 4 ++-- .github/workflows/Build_wheels_for_cpython39_x86.yml | 4 ++-- 6 files changed, 6 insertions(+), 6 deletions(-) rename .github/workflows/{Build_wheels_for_cpython35_x86_64_u20.yml => Build_wheels_for_cpython35_x64_u16.yml} (99%) rename .github/workflows/{Build_wheels_for_cpython36_x86_64_u20.yml => Build_wheels_for_cpython36_x64_u16.yml} (99%) rename .github/workflows/{Build_wheels_for_cpython37_x86_64_u24.yml => Build_wheels_for_cpython37_x64_u16.yml} (100%) rename .github/workflows/{Build_wheels_for_cpython38_x86_64_u24.yml => Build_wheels_for_cpython38_x64_u16.yml} (100%) rename .github/workflows/{Build_wheels_for_cpython39_x86_64_u24.yml => Build_wheels_for_cpython39_x64_u16.yml} (98%) diff --git a/.github/workflows/Build_wheels_for_cpython35_x86_64_u20.yml b/.github/workflows/Build_wheels_for_cpython35_x64_u16.yml similarity index 99% rename from .github/workflows/Build_wheels_for_cpython35_x86_64_u20.yml rename to .github/workflows/Build_wheels_for_cpython35_x64_u16.yml index 2e6ab6f63..1ae2779de 100644 --- a/.github/workflows/Build_wheels_for_cpython35_x86_64_u20.yml +++ b/.github/workflows/Build_wheels_for_cpython35_x64_u16.yml @@ -1,4 +1,4 @@ -name: Build wheels for CPython3.5 x86_64 on Ubuntu16 with GCC-5 All warnings errors +name: Build wheels for CPython3.5 x64 on Ubuntu16 with GCC-5 All warnings errors on: [push, pull_request] diff --git a/.github/workflows/Build_wheels_for_cpython36_x86_64_u20.yml b/.github/workflows/Build_wheels_for_cpython36_x64_u16.yml similarity index 99% rename from .github/workflows/Build_wheels_for_cpython36_x86_64_u20.yml rename to .github/workflows/Build_wheels_for_cpython36_x64_u16.yml index a4d3967f4..8d385ee07 100644 --- a/.github/workflows/Build_wheels_for_cpython36_x86_64_u20.yml +++ b/.github/workflows/Build_wheels_for_cpython36_x64_u16.yml @@ -1,4 +1,4 @@ -name: Build wheels for CPython3.6 x86_64 on Ubuntu16 with All warnings errors +name: Build wheels for CPython3.6 x64 on Ubuntu16 with All warnings errors on: [push, pull_request] diff --git a/.github/workflows/Build_wheels_for_cpython37_x86_64_u24.yml b/.github/workflows/Build_wheels_for_cpython37_x64_u16.yml similarity index 100% rename from .github/workflows/Build_wheels_for_cpython37_x86_64_u24.yml rename to .github/workflows/Build_wheels_for_cpython37_x64_u16.yml diff --git a/.github/workflows/Build_wheels_for_cpython38_x86_64_u24.yml b/.github/workflows/Build_wheels_for_cpython38_x64_u16.yml similarity index 100% rename from .github/workflows/Build_wheels_for_cpython38_x86_64_u24.yml rename to .github/workflows/Build_wheels_for_cpython38_x64_u16.yml diff --git a/.github/workflows/Build_wheels_for_cpython39_x86_64_u24.yml b/.github/workflows/Build_wheels_for_cpython39_x64_u16.yml similarity index 98% rename from .github/workflows/Build_wheels_for_cpython39_x86_64_u24.yml rename to .github/workflows/Build_wheels_for_cpython39_x64_u16.yml index 7be8b8df3..ee1752627 100644 --- a/.github/workflows/Build_wheels_for_cpython39_x86_64_u24.yml +++ b/.github/workflows/Build_wheels_for_cpython39_x64_u16.yml @@ -1,4 +1,4 @@ -name: Build wheels for CPython3.9 x86_64 on Ubuntu16 +name: Build wheels for CPython3.9 x64 on Ubuntu16 on: [push, pull_request] @@ -23,7 +23,7 @@ jobs: mirror: http://azure.archive.ubuntu.com/ubuntu #version: 1.5.6.7 # pyver: "3.7" - getpipurl: https://bootstrap.pypa.io/pip/get-pip.py + getpipurl: https://bootstrap.pypa.io/pip/3.9/get-pip.py pypkg: python3.9 pypkgadd: python3.9-distutils pyengine_tag: cp39-cp39 diff --git a/.github/workflows/Build_wheels_for_cpython39_x86.yml b/.github/workflows/Build_wheels_for_cpython39_x86.yml index f2ae642cc..bbe1f45ba 100644 --- a/.github/workflows/Build_wheels_for_cpython39_x86.yml +++ b/.github/workflows/Build_wheels_for_cpython39_x86.yml @@ -14,7 +14,7 @@ jobs: fail-fast: false matrix: os: - - name: Ubuntu 24+16 i386 CPython 3.9 + - name: Ubuntu 24+16 i686 CPython 3.9 runs-on: ubuntu-latest matrix: linux arch: i386 @@ -23,7 +23,7 @@ jobs: mirror: http://azure.archive.ubuntu.com/ubuntu #version: 1.5.6.7 #pyver: "3.9" - getpipurl: https://bootstrap.pypa.io/pip/get-pip.py + getpipurl: https://bootstrap.pypa.io/pip/3.9/get-pip.py pypkg: python3.9 pypkgadd: python3.9-distutils pyengine_tag: cp39-cp39 From a4f1aa44faf0b17a1c6ac6c22092a2ba3a27e57e Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Fri, 5 Jun 2026 19:03:21 +0300 Subject: [PATCH 30/31] Add new script to check actual cpu flags --- simd-check-cpuinfo.py | 122 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 122 insertions(+) create mode 100755 simd-check-cpuinfo.py diff --git a/simd-check-cpuinfo.py b/simd-check-cpuinfo.py new file mode 100755 index 000000000..68f83ff5b --- /dev/null +++ b/simd-check-cpuinfo.py @@ -0,0 +1,122 @@ +#!/usr/bin/env python + +import os +import sys + +cpuinfofp = "/proc/cpuinfo" + +f = open(cpuinfofp,"r") +lines = f.readlines() +f.close() + +flagsln = "" + +for line in lines: + if line.startswith("flags\t\t:"): + flagsln = line + break + +if not flagsln: + print("line with flags not found. lines:") + print(lines) + sys.exit(1) + +flags = flagsln.split(':')[1].strip().split() +#print("found flags:") +print(flags) + +sys.stdout.write("SSE: ") +if 'sse' in flags: + sys.stdout.write("yes\n") +else: + sys.stdout.write("no\n") + +sys.stdout.write("SSE2: ") +if 'sse2' in flags: + sys.stdout.write("yes\n") +else: + sys.stdout.write("no\n") + +sys.stdout.write("SSE3: ") +if 'sse3' in flags: + sys.stdout.write("yes\n") +else: + sys.stdout.write("no\n") + +sys.stdout.write("sSSE3: ") +if 'ssse3' in flags: + sys.stdout.write("yes\n") +else: + sys.stdout.write("no\n") + +sys.stdout.write("SSE4.1: ") +if 'sse4_1' in flags: + sys.stdout.write("yes\n") +else: + sys.stdout.write("no\n") + +sys.stdout.write("SSE4.2: ") +if 'sse4_2' in flags: + sys.stdout.write("yes\n") +else: + sys.stdout.write("no\n") + +sys.stdout.write("AVX: ") +if 'avx' in flags: + sys.stdout.write("yes\n") +else: + sys.stdout.write("no\n") + +sys.stdout.write("AVX2: ") +if 'avx2' in flags: + sys.stdout.write("yes\n") +else: + sys.stdout.write("no\n") + +sys.stdout.write("AVX512f: ") +if 'avx512f' in flags: + sys.stdout.write("yes\n") +else: + sys.stdout.write("no\n") + +sys.stdout.write("AVX512vl: ") +if 'avx512vl' in flags: + sys.stdout.write("yes\n") +else: + sys.stdout.write("no\n") + +sys.stdout.write("AVX512dq: ") +if 'avx512dq' in flags: + sys.stdout.write("yes\n") +else: + sys.stdout.write("no\n") + +sys.stdout.write("AVX512bw: ") +if 'avx512bw' in flags: + sys.stdout.write("yes\n") +else: + sys.stdout.write("no\n") + +sys.stdout.write("FMA: ") +if 'fma' in flags: + sys.stdout.write("yes\n") +else: + sys.stdout.write("no\n") + +sys.stdout.write("F16C: ") +if 'f16c' in flags: + sys.stdout.write("yes\n") +else: + sys.stdout.write("no\n") + +sys.stdout.write("BMI1: ") +if 'bmi1' in flags: + sys.stdout.write("yes\n") +else: + sys.stdout.write("no\n") + +sys.stdout.write("BMI2: ") +if 'bmi2' in flags: + sys.stdout.write("yes\n") +else: + sys.stdout.write("no\n") From e292c8a7d72d5da125794f9c1a9616c944c8fcea Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Mon, 8 Jun 2026 15:08:37 +0300 Subject: [PATCH 31/31] Add new script to check simd instructions supported by cpu --- .github/workflows/Build_wheels_for_cpython27_x86.yml | 4 ++-- .github/workflows/Build_wheels_for_cpython27_x86_64.yml | 4 ++-- simd-check-cpuinfo.py | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/Build_wheels_for_cpython27_x86.yml b/.github/workflows/Build_wheels_for_cpython27_x86.yml index a0077d651..78a7538ca 100644 --- a/.github/workflows/Build_wheels_for_cpython27_x86.yml +++ b/.github/workflows/Build_wheels_for_cpython27_x86.yml @@ -85,7 +85,7 @@ jobs: - name: Pepare dev files if: matrix.os.matrix == 'linux' run: | - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /usr/bin/apt install -y libzstd-dev + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /usr/bin/apt install -y python3 - name: Pepare for ${{matrix.os.pypkg}} ${{matrix.os.arch}} if: matrix.os.matrix == 'linux' @@ -123,7 +123,7 @@ jobs: version=`cat version` echo version=$version echo cpuinfo - cat /proc/cpuinfo + ./simd-cklheck-cpuinfo.py sudo cp -v simd-check ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel/zstd-$version/ sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-$version/ ; echo LLH; ls -lh build/*/zstd.so; echo SIMD; bash ./simd-check build/*/zstd.so" diff --git a/.github/workflows/Build_wheels_for_cpython27_x86_64.yml b/.github/workflows/Build_wheels_for_cpython27_x86_64.yml index f696d1c93..a468db480 100644 --- a/.github/workflows/Build_wheels_for_cpython27_x86_64.yml +++ b/.github/workflows/Build_wheels_for_cpython27_x86_64.yml @@ -85,7 +85,7 @@ jobs: - name: Pepare dev files if: matrix.os.matrix == 'linux' run: | - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /usr/bin/apt install -y libzstd-dev + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /usr/bin/apt install -y python3 - name: Pepare for ${{matrix.os.pypkg}} ${{matrix.os.arch}} if: matrix.os.matrix == 'linux' @@ -129,7 +129,7 @@ jobs: version=`cat version` echo version=$version echo cpuinfo - cat /proc/cpuinfo + ./simd-check-cpuinfo.py sudo cp -v simd-check ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel/zstd-$version/ sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash-c "cd /build_wheel/zstd-$version/ ; echo LLH; ls -lh build/*/zstd.so; echo SIMD; bash ./simd-check build/*/zstd.so" diff --git a/simd-check-cpuinfo.py b/simd-check-cpuinfo.py index 68f83ff5b..5a675d921 100755 --- a/simd-check-cpuinfo.py +++ b/simd-check-cpuinfo.py @@ -23,7 +23,7 @@ flags = flagsln.split(':')[1].strip().split() #print("found flags:") -print(flags) +#print(flags) sys.stdout.write("SSE: ") if 'sse' in flags: