From fe9a3b8bf4da1b56aa72d20da99f102a406b399d Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Tue, 21 Jan 2025 19:50:44 +0300 Subject: [PATCH 001/353] Update setup.py No need in option now, autoo find library, #125 --- setup.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/setup.py b/setup.py index d27b490ac..6ab65e08b 100644 --- a/setup.py +++ b/setup.py @@ -73,7 +73,7 @@ SUP_EXTERNAL=True sys.argv.remove("--external") -if SUP_EXTERNAL: +#if SUP_EXTERNAL: # You should add external library by option: --libraries zstd # And probably include paths by option: --include-dirs /usr/include/zstd # And probably library paths by option: --library-dirs /usr/lib/i386-linux-gnu @@ -89,6 +89,9 @@ if sys.hexversion >= 0x03000000: # It's bytes in PY3 VERSION_STR = VERSION_STR.decode() + if VERSION_STR>"1.3.0": + SUP_EXTERNAL=True + ext_libraries=[] VERSION = tuple(int(v) for v in VERSION_STR.split(".")) if "--libraries" not in sys.argv: # Add something default From c50bc4d86d7de13dbd8aec6dbad8ef99a563e3da Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Tue, 21 Jan 2025 19:53:32 +0300 Subject: [PATCH 002/353] Update build-wheels.yml Try ton use system libzstd --- .github/workflows/build-wheels.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/build-wheels.yml b/.github/workflows/build-wheels.yml index 9f99d146f..27466bb4f 100644 --- a/.github/workflows/build-wheels.yml +++ b/.github/workflows/build-wheels.yml @@ -108,6 +108,7 @@ jobs: - name: Build source distribution with Ubuntu if: matrix.os.matrix == 'linux' run: | + apt install -y lizstd-dev pip install build python -m build --sdist --outdir dist . From fe30f8fbd07517b210839699c9e55228a2245c8b Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Tue, 21 Jan 2025 19:57:11 +0300 Subject: [PATCH 003/353] Update setup.py Add option to use bundled library --- setup.py | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/setup.py b/setup.py index 6ab65e08b..ff7ba2a85 100644 --- a/setup.py +++ b/setup.py @@ -97,6 +97,14 @@ # Add something default ext_libraries=["zstd"] + +#SUP_EXTERNAL="ZSTD_EXTERNAL" in os.environ +#ext_libraries=[] +if "--bundled" in sys.argv: + # You want use external Zstd library? + SUP_EXTERNAL=False + sys.argv.remove("--bundled") + # Package version, even external PKG_VERSION = VERSION From 4880e84f47997e22e35f60420660c1be0d3b86af Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Tue, 21 Jan 2025 20:18:09 +0300 Subject: [PATCH 004/353] Update build-wheels.yml Try again --- .github/workflows/build-wheels.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build-wheels.yml b/.github/workflows/build-wheels.yml index 27466bb4f..35b3a31b6 100644 --- a/.github/workflows/build-wheels.yml +++ b/.github/workflows/build-wheels.yml @@ -108,7 +108,6 @@ jobs: - name: Build source distribution with Ubuntu if: matrix.os.matrix == 'linux' run: | - apt install -y lizstd-dev pip install build python -m build --sdist --outdir dist . @@ -128,6 +127,7 @@ jobs: # Only build on x86 and arm64 for linux CIBW_ARCHS_LINUX: i686 x86_64 CIBW_BEFORE_ALL_LINUX: > + apt install -y libzstd-dev python -m pip install --upgrade pip # CIBW_ARCHS_MACOS: x86_64 arm64 universal2 # Building two wheels for MacOS and skipping Universal From 89885d7c2c39c23aa2620d2ac158a5fcff14edfd Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Tue, 21 Jan 2025 20:39:02 +0300 Subject: [PATCH 005/353] Update build-wheels.yml --- .github/workflows/build-wheels.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/build-wheels.yml b/.github/workflows/build-wheels.yml index 35b3a31b6..96d68ee19 100644 --- a/.github/workflows/build-wheels.yml +++ b/.github/workflows/build-wheels.yml @@ -127,7 +127,7 @@ jobs: # Only build on x86 and arm64 for linux CIBW_ARCHS_LINUX: i686 x86_64 CIBW_BEFORE_ALL_LINUX: > - apt install -y libzstd-dev + apt-get install -y libzstd-dev python -m pip install --upgrade pip # CIBW_ARCHS_MACOS: x86_64 arm64 universal2 # Building two wheels for MacOS and skipping Universal @@ -160,6 +160,7 @@ jobs: # Only build on x86 and arm64 for linux CIBW_ARCHS_LINUX: auto aarch64 CIBW_BEFORE_ALL_LINUX: > + apt-get install -y libzstd-dev python -m pip install --upgrade pip # CIBW_ARCHS_MACOS: x86_64 arm64 universal2 # Building two wheels for MacOS and skipping Universal From cf9869586e3912e34bbaa410577a7f2649e873cf Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Tue, 21 Jan 2025 20:47:08 +0300 Subject: [PATCH 006/353] Update build-wheels.yml --- .github/workflows/build-wheels.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/.github/workflows/build-wheels.yml b/.github/workflows/build-wheels.yml index 96d68ee19..9f99d146f 100644 --- a/.github/workflows/build-wheels.yml +++ b/.github/workflows/build-wheels.yml @@ -127,7 +127,6 @@ jobs: # Only build on x86 and arm64 for linux CIBW_ARCHS_LINUX: i686 x86_64 CIBW_BEFORE_ALL_LINUX: > - apt-get install -y libzstd-dev python -m pip install --upgrade pip # CIBW_ARCHS_MACOS: x86_64 arm64 universal2 # Building two wheels for MacOS and skipping Universal @@ -160,7 +159,6 @@ jobs: # Only build on x86 and arm64 for linux CIBW_ARCHS_LINUX: auto aarch64 CIBW_BEFORE_ALL_LINUX: > - apt-get install -y libzstd-dev python -m pip install --upgrade pip # CIBW_ARCHS_MACOS: x86_64 arm64 universal2 # Building two wheels for MacOS and skipping Universal From 8246f71f8919dadc1d482a9b52e313d67f99c17a Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Tue, 21 Jan 2025 21:10:22 +0300 Subject: [PATCH 007/353] Update setup.py --- setup.py | 1 + 1 file changed, 1 insertion(+) diff --git a/setup.py b/setup.py index ff7ba2a85..b3364da09 100644 --- a/setup.py +++ b/setup.py @@ -89,6 +89,7 @@ if sys.hexversion >= 0x03000000: # It's bytes in PY3 VERSION_STR = VERSION_STR.decode() + print("Found libzstd version %r" % VERSION_STR) if VERSION_STR>"1.3.0": SUP_EXTERNAL=True ext_libraries=[] From fd84cc2b948f0d781e5e8825c0e90e821570f587 Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Wed, 22 Jan 2025 13:00:27 +0300 Subject: [PATCH 008/353] Update setup.py >= --- setup.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/setup.py b/setup.py index b3364da09..a3bb741f0 100644 --- a/setup.py +++ b/setup.py @@ -90,7 +90,7 @@ # It's bytes in PY3 VERSION_STR = VERSION_STR.decode() print("Found libzstd version %r" % VERSION_STR) - if VERSION_STR>"1.3.0": + if VERSION_STR>="1.3.0": SUP_EXTERNAL=True ext_libraries=[] VERSION = tuple(int(v) for v in VERSION_STR.split(".")) From 67ba5af387d007d0d0d8e109211502bb21f14b18 Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Wed, 22 Jan 2025 13:04:11 +0300 Subject: [PATCH 009/353] Update base.py Version output --- tests/base.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/tests/base.py b/tests/base.py index 6070cde0e..c04363526 100644 --- a/tests/base.py +++ b/tests/base.py @@ -26,6 +26,9 @@ def raise_skip(msg): log.info("zstd max number of threads:%r"% zstd.ZSTD_max_threads_count()) log.info("zstd max compression level:%r"% zstd.ZSTD_max_compression_level()) log.info("zstd min compression level:%r"% zstd.ZSTD_min_compression_level()) +log.info("pyzstd module version: %r"% zstd.version()) +log.info("libzstd version: %r"% zstd.ZSTD_version()) + # Classic lorem ipsum # + За словесными горами From a726d4a19c255227c2039b378441fa68de363886 Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Wed, 22 Jan 2025 13:33:58 +0300 Subject: [PATCH 010/353] Update build-wheels.yml Try again --- .github/workflows/build-wheels.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/build-wheels.yml b/.github/workflows/build-wheels.yml index 9f99d146f..7fc7a4ca3 100644 --- a/.github/workflows/build-wheels.yml +++ b/.github/workflows/build-wheels.yml @@ -128,6 +128,7 @@ jobs: CIBW_ARCHS_LINUX: i686 x86_64 CIBW_BEFORE_ALL_LINUX: > python -m pip install --upgrade pip + CIBW_BBEFORE_BUILD_LINUX: apr install -y linzstd-dev # CIBW_ARCHS_MACOS: x86_64 arm64 universal2 # Building two wheels for MacOS and skipping Universal CIBW_ARCHS_MACOS: x86_64 From f03b251b94243542c6c7b2e4108bbc24838ed1de Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Wed, 22 Jan 2025 13:37:52 +0300 Subject: [PATCH 011/353] Update build-wheels.yml Try again --- .github/workflows/build-wheels.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build-wheels.yml b/.github/workflows/build-wheels.yml index 7fc7a4ca3..8a98ef219 100644 --- a/.github/workflows/build-wheels.yml +++ b/.github/workflows/build-wheels.yml @@ -128,7 +128,7 @@ jobs: CIBW_ARCHS_LINUX: i686 x86_64 CIBW_BEFORE_ALL_LINUX: > python -m pip install --upgrade pip - CIBW_BBEFORE_BUILD_LINUX: apr install -y linzstd-dev + CIBW_BEFORE_BUILD: apt install -y linzstd-dev || apk add zstd-dev # CIBW_ARCHS_MACOS: x86_64 arm64 universal2 # Building two wheels for MacOS and skipping Universal CIBW_ARCHS_MACOS: x86_64 From bd8cf0bb4a14187a27361e6184eadf5580a6ccc2 Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Wed, 22 Jan 2025 13:42:00 +0300 Subject: [PATCH 012/353] Update build-wheels.yml Try again --- .github/workflows/build-wheels.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build-wheels.yml b/.github/workflows/build-wheels.yml index 8a98ef219..85201a742 100644 --- a/.github/workflows/build-wheels.yml +++ b/.github/workflows/build-wheels.yml @@ -128,7 +128,7 @@ jobs: CIBW_ARCHS_LINUX: i686 x86_64 CIBW_BEFORE_ALL_LINUX: > python -m pip install --upgrade pip - CIBW_BEFORE_BUILD: apt install -y linzstd-dev || apk add zstd-dev + CIBW_BEFORE_BUILD: apt-get install -y libzstd-dev || apk add zstd-dev # CIBW_ARCHS_MACOS: x86_64 arm64 universal2 # Building two wheels for MacOS and skipping Universal CIBW_ARCHS_MACOS: x86_64 From e67e16032e4c02b75fa8abf1062a0068dc0ebbfa Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Wed, 22 Jan 2025 13:55:03 +0300 Subject: [PATCH 013/353] Update build-wheels.yml Try again --- .github/workflows/build-wheels.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build-wheels.yml b/.github/workflows/build-wheels.yml index 85201a742..403a5f45a 100644 --- a/.github/workflows/build-wheels.yml +++ b/.github/workflows/build-wheels.yml @@ -128,7 +128,7 @@ jobs: CIBW_ARCHS_LINUX: i686 x86_64 CIBW_BEFORE_ALL_LINUX: > python -m pip install --upgrade pip - CIBW_BEFORE_BUILD: apt-get install -y libzstd-dev || apk add zstd-dev + apt-get install -y libzstd-dev || apk add zstd-dev # CIBW_ARCHS_MACOS: x86_64 arm64 universal2 # Building two wheels for MacOS and skipping Universal CIBW_ARCHS_MACOS: x86_64 From 9140ee880846ce0eb7748a17f12437d83cb60c34 Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Wed, 22 Jan 2025 13:59:24 +0300 Subject: [PATCH 014/353] Update build-wheels.yml Try again --- .github/workflows/build-wheels.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build-wheels.yml b/.github/workflows/build-wheels.yml index 403a5f45a..e57a7e16c 100644 --- a/.github/workflows/build-wheels.yml +++ b/.github/workflows/build-wheels.yml @@ -127,8 +127,8 @@ jobs: # Only build on x86 and arm64 for linux CIBW_ARCHS_LINUX: i686 x86_64 CIBW_BEFORE_ALL_LINUX: > - python -m pip install --upgrade pip - apt-get install -y libzstd-dev || apk add zstd-dev + python -m pip install --upgrade pip; + apt install -y libzstd-dev || apk add zstd-dev # CIBW_ARCHS_MACOS: x86_64 arm64 universal2 # Building two wheels for MacOS and skipping Universal CIBW_ARCHS_MACOS: x86_64 From 1a2b4658f3f9bc4940ef7afe8acc177bef575c3f Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Wed, 22 Jan 2025 14:03:39 +0300 Subject: [PATCH 015/353] Update build-wheels.yml Or apt or apk or anything --- .github/workflows/build-wheels.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build-wheels.yml b/.github/workflows/build-wheels.yml index e57a7e16c..17b954e08 100644 --- a/.github/workflows/build-wheels.yml +++ b/.github/workflows/build-wheels.yml @@ -128,7 +128,7 @@ jobs: CIBW_ARCHS_LINUX: i686 x86_64 CIBW_BEFORE_ALL_LINUX: > python -m pip install --upgrade pip; - apt install -y libzstd-dev || apk add zstd-dev + apt install -y libzstd-dev || apk add zstd-dev || true # CIBW_ARCHS_MACOS: x86_64 arm64 universal2 # Building two wheels for MacOS and skipping Universal CIBW_ARCHS_MACOS: x86_64 From 09af2e2145cab55ca3c49834e7e8a7072483939f Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Wed, 22 Jan 2025 14:09:34 +0300 Subject: [PATCH 016/353] Update build-wheels.yml Try again --- .github/workflows/build-wheels.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build-wheels.yml b/.github/workflows/build-wheels.yml index 17b954e08..7e126befc 100644 --- a/.github/workflows/build-wheels.yml +++ b/.github/workflows/build-wheels.yml @@ -128,7 +128,7 @@ jobs: CIBW_ARCHS_LINUX: i686 x86_64 CIBW_BEFORE_ALL_LINUX: > python -m pip install --upgrade pip; - apt install -y libzstd-dev || apk add zstd-dev || true + yum install libzst-devel || apt install -y libzstd-dev || apk add zstd-dev || true # CIBW_ARCHS_MACOS: x86_64 arm64 universal2 # Building two wheels for MacOS and skipping Universal CIBW_ARCHS_MACOS: x86_64 From 5490dfb4adc0123119895ae45b70e633f5d55182 Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Wed, 22 Jan 2025 14:11:24 +0300 Subject: [PATCH 017/353] Update build-wheels.yml Try again --- .github/workflows/build-wheels.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build-wheels.yml b/.github/workflows/build-wheels.yml index 7e126befc..151ede6a0 100644 --- a/.github/workflows/build-wheels.yml +++ b/.github/workflows/build-wheels.yml @@ -128,7 +128,7 @@ jobs: CIBW_ARCHS_LINUX: i686 x86_64 CIBW_BEFORE_ALL_LINUX: > python -m pip install --upgrade pip; - yum install libzst-devel || apt install -y libzstd-dev || apk add zstd-dev || true + yum install -y libzstd-devel || apt install -y libzstd-dev || apk add zstd-dev || true # CIBW_ARCHS_MACOS: x86_64 arm64 universal2 # Building two wheels for MacOS and skipping Universal CIBW_ARCHS_MACOS: x86_64 From e4287cb8b4d0bb9197bda43dec923cb8ca4b586a Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Wed, 22 Jan 2025 14:15:09 +0300 Subject: [PATCH 018/353] Update build-wheels.yml Use dnf not yum --- .github/workflows/build-wheels.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build-wheels.yml b/.github/workflows/build-wheels.yml index 151ede6a0..3c4fd5b1d 100644 --- a/.github/workflows/build-wheels.yml +++ b/.github/workflows/build-wheels.yml @@ -128,7 +128,7 @@ jobs: CIBW_ARCHS_LINUX: i686 x86_64 CIBW_BEFORE_ALL_LINUX: > python -m pip install --upgrade pip; - yum install -y libzstd-devel || apt install -y libzstd-dev || apk add zstd-dev || true + dnf install -y libzstd-devel || apt install -y libzstd-dev || apk add zstd-dev || true # CIBW_ARCHS_MACOS: x86_64 arm64 universal2 # Building two wheels for MacOS and skipping Universal CIBW_ARCHS_MACOS: x86_64 From aab2fb3808e5a24ed8ccbbe99d1bda666f7dd816 Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Wed, 22 Jan 2025 15:31:20 +0300 Subject: [PATCH 019/353] Update setup.py Check for 1.4.0 library --- setup.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/setup.py b/setup.py index a3bb741f0..46522f26a 100644 --- a/setup.py +++ b/setup.py @@ -90,9 +90,11 @@ # It's bytes in PY3 VERSION_STR = VERSION_STR.decode() print("Found libzstd version %r" % VERSION_STR) - if VERSION_STR>="1.3.0": + if VERSION_STR>="1.4.0": SUP_EXTERNAL=True ext_libraries=[] + else: + print("Need library verion >= 1.4.0") VERSION = tuple(int(v) for v in VERSION_STR.split(".")) if "--libraries" not in sys.argv: # Add something default From 2b71a2191a76f0d3b3e500b5605f4d4568362c10 Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Wed, 22 Jan 2025 15:34:12 +0300 Subject: [PATCH 020/353] Update setup.py Raise error if needed version not found --- setup.py | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/setup.py b/setup.py index 46522f26a..4b3227c3f 100644 --- a/setup.py +++ b/setup.py @@ -90,11 +90,12 @@ # It's bytes in PY3 VERSION_STR = VERSION_STR.decode() print("Found libzstd version %r" % VERSION_STR) - if VERSION_STR>="1.4.0": - SUP_EXTERNAL=True - ext_libraries=[] - else: - print("Need library verion >= 1.4.0") + if VERSION_STR: + if VERSION_STR>="1.4.0": + SUP_EXTERNAL=True + ext_libraries=[] + else: + raise Exception("Need library verion >= 1.4.0") VERSION = tuple(int(v) for v in VERSION_STR.split(".")) if "--libraries" not in sys.argv: # Add something default From d49289287f9d735a704298cc10f69fe9a2e9447b Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Wed, 22 Jan 2025 15:40:08 +0300 Subject: [PATCH 021/353] Update build-wheels.yml --- .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 3c4fd5b1d..28cc9ebac 100644 --- a/.github/workflows/build-wheels.yml +++ b/.github/workflows/build-wheels.yml @@ -152,9 +152,9 @@ jobs: CIBW_BUILD: ${{ matrix.cibw.build }} # Skip 32-bit builds // NO # CIBW_SKIP: '*-win32 *_i686' - CIBW_MANYLINUX_I686_IMAGE: manylinux2014 - CIBW_MANYLINUX_X86_64_IMAGE: manylinux2014 - CIBW_MANYLINUX_AARCH64_IMAGE: manylinux2014 + CIBW_MANYLINUX_I686_IMAGE: manylinux_2_24 + CIBW_MANYLINUX_X86_64_IMAGE: manylinux_2_24 + CIBW_MANYLINUX_AARCH64_IMAGE: manylinux_2_24 CIBW_MUSLLINUX_I686_IMAGE: musllinux_1_1 CIBW_MUSLLINUX_X86_64_IMAGE: musllinux_1_1 # Only build on x86 and arm64 for linux From e54470f249b345f46ac10eb079539c9c7365dd07 Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Thu, 23 Jan 2025 10:41:27 +0300 Subject: [PATCH 022/353] Update build-wheels.yml --- .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 28cc9ebac..a9ebef8ce 100644 --- a/.github/workflows/build-wheels.yml +++ b/.github/workflows/build-wheels.yml @@ -128,6 +128,8 @@ jobs: CIBW_ARCHS_LINUX: i686 x86_64 CIBW_BEFORE_ALL_LINUX: > python -m pip install --upgrade pip; + export PATH=/usr/sbin:$PATH; + [ -x /usr/sbin/dnf ]& echo DNF; dnf install -y libzstd-devel || apt install -y libzstd-dev || apk add zstd-dev || true # CIBW_ARCHS_MACOS: x86_64 arm64 universal2 # Building two wheels for MacOS and skipping Universal From 518e2c2d13849cfb60313cd448e57deb2e4d4e85 Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Thu, 23 Jan 2025 10:51:09 +0300 Subject: [PATCH 023/353] Update build-wheels.yml --- .github/workflows/build-wheels.yml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/.github/workflows/build-wheels.yml b/.github/workflows/build-wheels.yml index a9ebef8ce..41c961ec6 100644 --- a/.github/workflows/build-wheels.yml +++ b/.github/workflows/build-wheels.yml @@ -130,7 +130,10 @@ jobs: python -m pip install --upgrade pip; export PATH=/usr/sbin:$PATH; [ -x /usr/sbin/dnf ]& echo DNF; - dnf install -y libzstd-devel || apt install -y libzstd-dev || apk add zstd-dev || true + [ -x /usr/sbin/yum ]& echo YUM; + [ -x /usr/sbin/apt ]& echo APT; + [ -x /usr/sbin/apk ]& echo APK; + /usr/sbin/dnf install -y libzstd-devel || /usr/sbin/apt install -y libzstd-dev || /usr/sbin/apk add zstd-dev || true # CIBW_ARCHS_MACOS: x86_64 arm64 universal2 # Building two wheels for MacOS and skipping Universal CIBW_ARCHS_MACOS: x86_64 From d21e1ba3cef7c66328aac266445a7183de42e15a Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Thu, 23 Jan 2025 10:54:08 +0300 Subject: [PATCH 024/353] Update build-wheels.yml --- .github/workflows/build-wheels.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/build-wheels.yml b/.github/workflows/build-wheels.yml index 41c961ec6..772fd0b27 100644 --- a/.github/workflows/build-wheels.yml +++ b/.github/workflows/build-wheels.yml @@ -129,10 +129,10 @@ jobs: CIBW_BEFORE_ALL_LINUX: > python -m pip install --upgrade pip; export PATH=/usr/sbin:$PATH; - [ -x /usr/sbin/dnf ]& echo DNF; - [ -x /usr/sbin/yum ]& echo YUM; - [ -x /usr/sbin/apt ]& echo APT; - [ -x /usr/sbin/apk ]& echo APK; + [ -x /usr/sbin/dnf ] && echo DNF; + [ -x /usr/sbin/yum ] && echo YUM; + [ -x /usr/sbin/apt ] && echo APT; + [ -x /usr/sbin/apk ] && echo APK; /usr/sbin/dnf install -y libzstd-devel || /usr/sbin/apt install -y libzstd-dev || /usr/sbin/apk add zstd-dev || true # CIBW_ARCHS_MACOS: x86_64 arm64 universal2 # Building two wheels for MacOS and skipping Universal From c8e4c08f9402423f3a65f440e100fd0769bbfcaf Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Thu, 23 Jan 2025 11:03:36 +0300 Subject: [PATCH 025/353] Update README.rst --- README.rst | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/README.rst b/README.rst index 37a09842e..cdfe1535d 100644 --- a/README.rst +++ b/README.rst @@ -74,6 +74,16 @@ Build from source >>> $ python setup.py build_ext clean >>> $ python3 setup.py build_ext clean +And you need to install `libzstd` developer files at least version *1.4.0*: + + >>> $ dnf install -y libzstd-devel + # or + >>> $ apt install libzstd-dev + # or + >>> $ apk add zstd-dev + +or do manual installation of zstd from source. + Note: Zstd legacy format support disabled by default. To build with Zstd legacy versions support - pass ``--legacy`` option to setup.py script: From bb28e0dd55a4cea39f8a3c52e75ff70e7e1a8f7a Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Thu, 23 Jan 2025 11:05:30 +0300 Subject: [PATCH 026/353] Update README.rst --- README.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.rst b/README.rst index cdfe1535d..b8b70e3dc 100644 --- a/README.rst +++ b/README.rst @@ -78,7 +78,7 @@ And you need to install `libzstd` developer files at least version *1.4.0*: >>> $ dnf install -y libzstd-devel # or - >>> $ apt install libzstd-dev + >>> $ apt install -y libzstd-dev # or >>> $ apk add zstd-dev From ef62e3a5b4241fa0c2b4b6b892a11e9e909f8a86 Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Thu, 23 Jan 2025 14:57:26 +0300 Subject: [PATCH 027/353] Update build-wheels.yml --- .github/workflows/build-wheels.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/build-wheels.yml b/.github/workflows/build-wheels.yml index 772fd0b27..bfa433d40 100644 --- a/.github/workflows/build-wheels.yml +++ b/.github/workflows/build-wheels.yml @@ -108,7 +108,9 @@ jobs: - name: Build source distribution with Ubuntu if: matrix.os.matrix == 'linux' run: | - pip install build + sudo apt update; + sudo apt install -y libzstd-dev + pip install build; python -m build --sdist --outdir dist . - name: Build ${{ matrix.os.name }} wheels and test (old) From b27033a54919b74a3547c2cc02fe7b8fc8c1c0c0 Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Thu, 23 Jan 2025 15:01:04 +0300 Subject: [PATCH 028/353] Update build-wheels.yml --- .github/workflows/build-wheels.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build-wheels.yml b/.github/workflows/build-wheels.yml index bfa433d40..928398343 100644 --- a/.github/workflows/build-wheels.yml +++ b/.github/workflows/build-wheels.yml @@ -108,8 +108,8 @@ jobs: - name: Build source distribution with Ubuntu if: matrix.os.matrix == 'linux' run: | - sudo apt update; - sudo apt install -y libzstd-dev + sudo apt update; apt upgrade -y; + sudo apt install -y libzstd-dev; pip install build; python -m build --sdist --outdir dist . From 9388901246be23f97e60d71e4dca7c5a010cd5be Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Thu, 23 Jan 2025 15:03:40 +0300 Subject: [PATCH 029/353] Update build-wheels.yml --- .github/workflows/build-wheels.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build-wheels.yml b/.github/workflows/build-wheels.yml index 928398343..045150820 100644 --- a/.github/workflows/build-wheels.yml +++ b/.github/workflows/build-wheels.yml @@ -108,7 +108,7 @@ jobs: - name: Build source distribution with Ubuntu if: matrix.os.matrix == 'linux' run: | - sudo apt update; apt upgrade -y; + sudo apt update; apt list --upgradable; sudo apt upgrade -y; sudo apt install -y libzstd-dev; pip install build; python -m build --sdist --outdir dist . From 73c8cf35db2e37153dcedbcb1b95440464755145 Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Thu, 23 Jan 2025 15:19:20 +0300 Subject: [PATCH 030/353] Update build-wheels.yml --- .github/workflows/build-wheels.yml | 6 ------ 1 file changed, 6 deletions(-) diff --git a/.github/workflows/build-wheels.yml b/.github/workflows/build-wheels.yml index 045150820..bec55204b 100644 --- a/.github/workflows/build-wheels.yml +++ b/.github/workflows/build-wheels.yml @@ -130,12 +130,6 @@ jobs: CIBW_ARCHS_LINUX: i686 x86_64 CIBW_BEFORE_ALL_LINUX: > python -m pip install --upgrade pip; - export PATH=/usr/sbin:$PATH; - [ -x /usr/sbin/dnf ] && echo DNF; - [ -x /usr/sbin/yum ] && echo YUM; - [ -x /usr/sbin/apt ] && echo APT; - [ -x /usr/sbin/apk ] && echo APK; - /usr/sbin/dnf install -y libzstd-devel || /usr/sbin/apt install -y libzstd-dev || /usr/sbin/apk add zstd-dev || true # CIBW_ARCHS_MACOS: x86_64 arm64 universal2 # Building two wheels for MacOS and skipping Universal CIBW_ARCHS_MACOS: x86_64 From f2ba016ccc35b889177671eac2ffcea2046c1586 Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Thu, 23 Jan 2025 17:42:05 +0300 Subject: [PATCH 031/353] Update setup.py --- setup.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/setup.py b/setup.py index 4b3227c3f..0ba1c6299 100644 --- a/setup.py +++ b/setup.py @@ -2,6 +2,9 @@ import os import sys + +print("\ncmdline: %r" % (sys.argv,)) + import subprocess from setuptools import setup, find_packages, Extension @@ -89,7 +92,7 @@ if sys.hexversion >= 0x03000000: # It's bytes in PY3 VERSION_STR = VERSION_STR.decode() - print("Found libzstd version %r" % VERSION_STR) + print("\nFound libzstd version %r" % VERSION_STR) if VERSION_STR: if VERSION_STR>="1.4.0": SUP_EXTERNAL=True From 3a5fb08c7737dd597e5fce73947ade6f1a4ce0ef Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Thu, 23 Jan 2025 17:47:28 +0300 Subject: [PATCH 032/353] Update build-wheels.yml --- .github/workflows/build-wheels.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/build-wheels.yml b/.github/workflows/build-wheels.yml index bec55204b..b04655353 100644 --- a/.github/workflows/build-wheels.yml +++ b/.github/workflows/build-wheels.yml @@ -110,6 +110,7 @@ jobs: run: | sudo apt update; apt list --upgradable; sudo apt upgrade -y; sudo apt install -y libzstd-dev; + echo PKG-CONFIG; pkg-config lizstd --modversion echo "PIP BUILD"; pip install build; python -m build --sdist --outdir dist . @@ -177,7 +178,7 @@ jobs: python -m unittest discover -v -s {package} - name: Upload artifacts - uses: actions/upload-artifact@v3 + uses: actions/upload-artifact@v4 with: name: wheels path: ./dist From 2ac757718c7243ba6cbb3275f56ba74166123a17 Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Thu, 23 Jan 2025 17:52:15 +0300 Subject: [PATCH 033/353] Update build-wheels.yml --- .github/workflows/build-wheels.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build-wheels.yml b/.github/workflows/build-wheels.yml index b04655353..56882bcf5 100644 --- a/.github/workflows/build-wheels.yml +++ b/.github/workflows/build-wheels.yml @@ -110,7 +110,7 @@ jobs: run: | sudo apt update; apt list --upgradable; sudo apt upgrade -y; sudo apt install -y libzstd-dev; - echo PKG-CONFIG; pkg-config lizstd --modversion echo "PIP BUILD"; + echo PKG-CONFIG; pkg-config libzstd --modversion echo PIP-BUILD; pip install build; python -m build --sdist --outdir dist . From 0b2fb6d5caf523955cd4a200fb9f5dec3d23e7db Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Thu, 23 Jan 2025 17:59:52 +0300 Subject: [PATCH 034/353] Update build-wheels.yml --- .github/workflows/build-wheels.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/build-wheels.yml b/.github/workflows/build-wheels.yml index 56882bcf5..3370083a6 100644 --- a/.github/workflows/build-wheels.yml +++ b/.github/workflows/build-wheels.yml @@ -110,7 +110,9 @@ jobs: run: | sudo apt update; apt list --upgradable; sudo apt upgrade -y; sudo apt install -y libzstd-dev; - echo PKG-CONFIG; pkg-config libzstd --modversion echo PIP-BUILD; + echo PKG-CONFIG; + pkg-config libzstd --modversion; + echo PIP-BUILD; pip install build; python -m build --sdist --outdir dist . From d853aa23c6335cd32f932166cc6991d56b3c29ff Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Thu, 23 Jan 2025 19:15:20 +0300 Subject: [PATCH 035/353] Update build-wheels.yml --- .github/workflows/build-wheels.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/build-wheels.yml b/.github/workflows/build-wheels.yml index 3370083a6..69eb0094b 100644 --- a/.github/workflows/build-wheels.yml +++ b/.github/workflows/build-wheels.yml @@ -111,6 +111,7 @@ jobs: sudo apt update; apt list --upgradable; sudo apt upgrade -y; sudo apt install -y libzstd-dev; echo PKG-CONFIG; + which pkg-config; pkg-config libzstd --modversion; echo PIP-BUILD; pip install build; From f1efba630be9f499faca3be806dfe41aac1c1275 Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Thu, 23 Jan 2025 19:23:57 +0300 Subject: [PATCH 036/353] Update setup.py --- setup.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/setup.py b/setup.py index 0ba1c6299..8fbc6b3f7 100644 --- a/setup.py +++ b/setup.py @@ -98,7 +98,7 @@ SUP_EXTERNAL=True ext_libraries=[] else: - raise Exception("Need library verion >= 1.4.0") + raise RuntimeError("Need zstd library verion >= 1.4.0") VERSION = tuple(int(v) for v in VERSION_STR.split(".")) if "--libraries" not in sys.argv: # Add something default From 1327e3c9c9d1a86b17de940c74b57a60ba272a9a Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Thu, 23 Jan 2025 19:24:39 +0300 Subject: [PATCH 037/353] Update setup.py --- setup.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/setup.py b/setup.py index 8fbc6b3f7..6ecfa909e 100644 --- a/setup.py +++ b/setup.py @@ -10,7 +10,7 @@ from setuptools import setup, find_packages, Extension from setuptools.command.build_ext import build_ext -# ZSTD version +# bundled ZSTD version VERSION = (1, 5, 6,) VERSION_STR = ".".join([str(x) for x in VERSION]) From c4c04f5984c5b6eebbf0221e9e4617afcb8252dd Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Thu, 23 Jan 2025 19:26:29 +0300 Subject: [PATCH 038/353] Update setup.py More debug --- setup.py | 1 + 1 file changed, 1 insertion(+) diff --git a/setup.py b/setup.py index 6ecfa909e..ebe44370d 100644 --- a/setup.py +++ b/setup.py @@ -83,6 +83,7 @@ # We need pkg-config here! pkgconf = "/usr/bin/pkg-config" if os.path.exists(pkgconf): + print("pkg-config exists") cmd = [pkgconf, "libzstd", "--modversion"] if sys.hexversion >= 0x02070000: VERSION_STR = subprocess.check_output(cmd) From b8e75bd3589267e33505c2896d0fa53a7d282508 Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Thu, 23 Jan 2025 19:29:37 +0300 Subject: [PATCH 039/353] Update build-wheels.yml Remove big packages --- .github/workflows/build-wheels.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/build-wheels.yml b/.github/workflows/build-wheels.yml index 69eb0094b..e43bac133 100644 --- a/.github/workflows/build-wheels.yml +++ b/.github/workflows/build-wheels.yml @@ -108,6 +108,7 @@ jobs: - name: Build source distribution with Ubuntu if: matrix.os.matrix == 'linux' run: | + sudo apt purge -y firefox snapd sudo apt update; apt list --upgradable; sudo apt upgrade -y; sudo apt install -y libzstd-dev; echo PKG-CONFIG; From ab346f739caa26e3285709ee0aa13096f3b48e2d Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Thu, 23 Jan 2025 19:35:29 +0300 Subject: [PATCH 040/353] Update setup.py Try to dive in block --- setup.py | 1 + 1 file changed, 1 insertion(+) diff --git a/setup.py b/setup.py index ebe44370d..48e79c921 100644 --- a/setup.py +++ b/setup.py @@ -77,6 +77,7 @@ sys.argv.remove("--external") #if SUP_EXTERNAL: +if True: # You should add external library by option: --libraries zstd # And probably include paths by option: --include-dirs /usr/include/zstd # And probably library paths by option: --library-dirs /usr/lib/i386-linux-gnu From d51442cce2540c74067ac3eb4b9d0b694b2ec025 Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Thu, 23 Jan 2025 19:58:08 +0300 Subject: [PATCH 041/353] Update setup.py Don't fail if pkg-config don't find library --- setup.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/setup.py b/setup.py index 48e79c921..5bc749781 100644 --- a/setup.py +++ b/setup.py @@ -86,8 +86,12 @@ if os.path.exists(pkgconf): print("pkg-config exists") cmd = [pkgconf, "libzstd", "--modversion"] + VERSION_STR="" if sys.hexversion >= 0x02070000: - VERSION_STR = subprocess.check_output(cmd) + try: + VERSION_STR = subprocess.check_output(cmd) + except: + pass else: # Pure Python 2.6 VERSION_STR = subprocess.Popen(cmd, stdout=subprocess.PIPE).communicate()[0] From 6c6e6b3718b77e4049810cb663d8592d5538ffe0 Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Thu, 23 Jan 2025 20:06:02 +0300 Subject: [PATCH 042/353] Update setup.py --- setup.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/setup.py b/setup.py index 5bc749781..a44b4b5d6 100644 --- a/setup.py +++ b/setup.py @@ -86,7 +86,10 @@ if os.path.exists(pkgconf): print("pkg-config exists") cmd = [pkgconf, "libzstd", "--modversion"] - VERSION_STR="" + if sys.hexversion >= 0x03000000: + VERSION_STR=b'' + else: + VERSION_STR="" if sys.hexversion >= 0x02070000: try: VERSION_STR = subprocess.check_output(cmd) From a71f5120c99264cf268334b87ed33311013da05d Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Thu, 23 Jan 2025 20:33:26 +0300 Subject: [PATCH 043/353] Update setup.py Trim string from NL --- setup.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/setup.py b/setup.py index a44b4b5d6..3c78cdc00 100644 --- a/setup.py +++ b/setup.py @@ -92,12 +92,12 @@ VERSION_STR="" if sys.hexversion >= 0x02070000: try: - VERSION_STR = subprocess.check_output(cmd) + VERSION_STR = subprocess.check_output(cmd).trim() except: pass else: # Pure Python 2.6 - VERSION_STR = subprocess.Popen(cmd, stdout=subprocess.PIPE).communicate()[0] + VERSION_STR = subprocess.Popen(cmd, stdout=subprocess.PIPE).communicate()[0].trim() if sys.hexversion >= 0x03000000: # It's bytes in PY3 VERSION_STR = VERSION_STR.decode() From 6beec10da38d1736ec077f8452549e2c93b3e443 Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Fri, 24 Jan 2025 11:16:42 +0300 Subject: [PATCH 044/353] Update setup.py --- setup.py | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/setup.py b/setup.py index 3c78cdc00..2c754e909 100644 --- a/setup.py +++ b/setup.py @@ -76,13 +76,19 @@ SUP_EXTERNAL=True sys.argv.remove("--external") +pkgconf = "/usr/bin/pkg-config" +if "--libzstd-bundled" in sys.argv: + # You want use external Zstd library? + SUP_EXTERNAL=False + sys.argv.remove("--libzstd-bundled") + pkgconf = "/usr/bin/do-not-use-pkg-config" + #if SUP_EXTERNAL: if True: # You should add external library by option: --libraries zstd # And probably include paths by option: --include-dirs /usr/include/zstd # And probably library paths by option: --library-dirs /usr/lib/i386-linux-gnu # We need pkg-config here! - pkgconf = "/usr/bin/pkg-config" if os.path.exists(pkgconf): print("pkg-config exists") cmd = [pkgconf, "libzstd", "--modversion"] @@ -109,6 +115,8 @@ else: raise RuntimeError("Need zstd library verion >= 1.4.0") VERSION = tuple(int(v) for v in VERSION_STR.split(".")) + else: + print("\n Need pkg-config to find system libzstd. Or we try bundled one.") if "--libraries" not in sys.argv: # Add something default ext_libraries=["zstd"] @@ -116,10 +124,7 @@ #SUP_EXTERNAL="ZSTD_EXTERNAL" in os.environ #ext_libraries=[] -if "--bundled" in sys.argv: - # You want use external Zstd library? - SUP_EXTERNAL=False - sys.argv.remove("--bundled") + # Package version, even external From 635c8977d649503535075d57f3a36557de4691d2 Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Fri, 24 Jan 2025 11:21:57 +0300 Subject: [PATCH 045/353] Update README.rst --- README.rst | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/README.rst b/README.rst index b8b70e3dc..eff9e2152 100644 --- a/README.rst +++ b/README.rst @@ -141,6 +141,14 @@ If paths to header file ``zstd.h`` and libraries is uncommon - use common ``buil >>> $ python setup.py build_ext --external --include-dirs /opt/zstd/usr/include --libraries zstd --library-dirs /opt/zstd/lib clean +But If you want to build with bundled distribution of libzstd just add ``-- +libzstd-bundlec`` option + + >>> $ python setup.py build_ext --libzstd-bundled clean + +When using a PEP 517 builder you can use ``ZSTD_BUNDLED`` environment variable instead: + + >>> $ ZSTD_BUNDLED=1 python -m build -w Install from pypi ----------------- From a1a4fba3ca56eab105ab3d72b3b56c3274d6d42f Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Fri, 24 Jan 2025 11:22:38 +0300 Subject: [PATCH 046/353] Update README.rst --- README.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.rst b/README.rst index eff9e2152..ea856e8c3 100644 --- a/README.rst +++ b/README.rst @@ -142,7 +142,7 @@ If paths to header file ``zstd.h`` and libraries is uncommon - use common ``buil >>> $ python setup.py build_ext --external --include-dirs /opt/zstd/usr/include --libraries zstd --library-dirs /opt/zstd/lib clean But If you want to build with bundled distribution of libzstd just add ``-- -libzstd-bundlec`` option +libzstd-bundled`` option >>> $ python setup.py build_ext --libzstd-bundled clean From 531a2d78da0f3846e82d75da1d58a08919c7915b Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Fri, 24 Jan 2025 11:24:27 +0300 Subject: [PATCH 047/353] Update setup.py --- setup.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/setup.py b/setup.py index 2c754e909..4d109b383 100644 --- a/setup.py +++ b/setup.py @@ -84,7 +84,7 @@ pkgconf = "/usr/bin/do-not-use-pkg-config" #if SUP_EXTERNAL: -if True: +if "build_ext" in sys.argv or "build" in sys.argv: # You should add external library by option: --libraries zstd # And probably include paths by option: --include-dirs /usr/include/zstd # And probably library paths by option: --library-dirs /usr/lib/i386-linux-gnu From 2db6c7fc4bd17e61ef1c644576e86732aba187aa Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Fri, 24 Jan 2025 13:49:30 +0300 Subject: [PATCH 048/353] Update python-zstd.c Use built-in functions not definitions. --- src/python-zstd.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/python-zstd.c b/src/python-zstd.c index 084b95f05..991a474d0 100644 --- a/src/python-zstd.c +++ b/src/python-zstd.c @@ -353,7 +353,7 @@ static PyObject *py_zstd_max_threads_count(PyObject* self, PyObject *args) */ static PyObject *py_zstd_min_compression_level(PyObject* self, PyObject *args) { - return Py_BuildValue("i", ZSTD_MIN_CLEVEL); + return Py_BuildValue("i", ZSTD_minCLevel()); } /** @@ -361,7 +361,7 @@ static PyObject *py_zstd_min_compression_level(PyObject* self, PyObject *args) */ static PyObject *py_zstd_max_compression_level(PyObject* self, PyObject *args) { - return Py_BuildValue("i", ZSTD_MAX_CLEVEL); + return Py_BuildValue("i", ZSTD_maxCLevel()); } From 018618565967219f5b5605da94e911624b20ab14 Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Fri, 24 Jan 2025 13:54:52 +0300 Subject: [PATCH 049/353] Update python-zstd.c Functions are broken --- src/python-zstd.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/python-zstd.c b/src/python-zstd.c index 991a474d0..084b95f05 100644 --- a/src/python-zstd.c +++ b/src/python-zstd.c @@ -353,7 +353,7 @@ static PyObject *py_zstd_max_threads_count(PyObject* self, PyObject *args) */ static PyObject *py_zstd_min_compression_level(PyObject* self, PyObject *args) { - return Py_BuildValue("i", ZSTD_minCLevel()); + return Py_BuildValue("i", ZSTD_MIN_CLEVEL); } /** @@ -361,7 +361,7 @@ static PyObject *py_zstd_min_compression_level(PyObject* self, PyObject *args) */ static PyObject *py_zstd_max_compression_level(PyObject* self, PyObject *args) { - return Py_BuildValue("i", ZSTD_maxCLevel()); + return Py_BuildValue("i", ZSTD_MAX_CLEVEL); } From b70e487ab297054d30c919498747c1bfc7ffe481 Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Fri, 24 Jan 2025 14:07:45 +0300 Subject: [PATCH 050/353] Update setup.py --- setup.py | 5 ----- 1 file changed, 5 deletions(-) diff --git a/setup.py b/setup.py index 4d109b383..edd43628e 100644 --- a/setup.py +++ b/setup.py @@ -121,11 +121,6 @@ # Add something default ext_libraries=["zstd"] - -#SUP_EXTERNAL="ZSTD_EXTERNAL" in os.environ -#ext_libraries=[] - - # Package version, even external PKG_VERSION = VERSION From ea8043ae56360c01bce9d5e471ce212cf8a2e6b0 Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Fri, 24 Jan 2025 14:11:59 +0300 Subject: [PATCH 051/353] Update build-wheels.yml --- .github/workflows/build-wheels.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/build-wheels.yml b/.github/workflows/build-wheels.yml index e43bac133..8218f9485 100644 --- a/.github/workflows/build-wheels.yml +++ b/.github/workflows/build-wheels.yml @@ -108,7 +108,8 @@ jobs: - name: Build source distribution with Ubuntu if: matrix.os.matrix == 'linux' run: | - sudo apt purge -y firefox snapd + echo OS-RELEASE; cat /etc/oss-release; + sudo apt purge -y firefox snapd; sudo apt update; apt list --upgradable; sudo apt upgrade -y; sudo apt install -y libzstd-dev; echo PKG-CONFIG; From 7ff10fc48311a1b44e06c480cc722554b01b88c3 Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Fri, 24 Jan 2025 14:17:13 +0300 Subject: [PATCH 052/353] Update build-wheels.yml Fix file name --- .github/workflows/build-wheels.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build-wheels.yml b/.github/workflows/build-wheels.yml index 8218f9485..f54b4b661 100644 --- a/.github/workflows/build-wheels.yml +++ b/.github/workflows/build-wheels.yml @@ -108,7 +108,7 @@ jobs: - name: Build source distribution with Ubuntu if: matrix.os.matrix == 'linux' run: | - echo OS-RELEASE; cat /etc/oss-release; + echo OS-RELEASE; cat /etc/os-release; sudo apt purge -y firefox snapd; sudo apt update; apt list --upgradable; sudo apt upgrade -y; sudo apt install -y libzstd-dev; From bc0788d7877d44b200830775bc368d01df2aebf4 Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Fri, 24 Jan 2025 14:21:03 +0300 Subject: [PATCH 053/353] Update setup.py --- setup.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/setup.py b/setup.py index edd43628e..0a4b91bfe 100644 --- a/setup.py +++ b/setup.py @@ -6,6 +6,7 @@ print("\ncmdline: %r" % (sys.argv,)) import subprocess +import platform from setuptools import setup, find_packages, Extension from setuptools.command.build_ext import build_ext @@ -84,7 +85,7 @@ pkgconf = "/usr/bin/do-not-use-pkg-config" #if SUP_EXTERNAL: -if "build_ext" in sys.argv or "build" in sys.argv: +if platform.stystem() = "Linux" and "build_ext" in sys.argv or "build" in sys.argv: # You should add external library by option: --libraries zstd # And probably include paths by option: --include-dirs /usr/include/zstd # And probably library paths by option: --library-dirs /usr/lib/i386-linux-gnu From 2286382c959386a905c1aee5ee0bb9cbdce2c30e Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Fri, 24 Jan 2025 14:26:12 +0300 Subject: [PATCH 054/353] Update build-wheels.yml --- .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 f54b4b661..603c33389 100644 --- a/.github/workflows/build-wheels.yml +++ b/.github/workflows/build-wheels.yml @@ -126,6 +126,7 @@ jobs: output-dir: dist env: CIBW_BUILD: ${{ matrix.cibw.build }} + CIBW_BUILD_VERBOSITY_LINUX: 1 # Skip 32-bit builds // NO # CIBW_SKIP: '*-win32 *_i686' CIBW_MANYLINUX_I686_IMAGE: manylinux1 @@ -157,6 +158,7 @@ jobs: output-dir: dist env: CIBW_BUILD: ${{ matrix.cibw.build }} + CIBW_BUILD_VERBOSITY_LINUX: 1 # Skip 32-bit builds // NO # CIBW_SKIP: '*-win32 *_i686' CIBW_MANYLINUX_I686_IMAGE: manylinux_2_24 From 69cfff6a45d6ea81400a37ace5ee9d637b81bd83 Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Fri, 24 Jan 2025 14:29:52 +0300 Subject: [PATCH 055/353] Update setup.py --- setup.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/setup.py b/setup.py index 0a4b91bfe..db08e3468 100644 --- a/setup.py +++ b/setup.py @@ -117,6 +117,9 @@ raise RuntimeError("Need zstd library verion >= 1.4.0") VERSION = tuple(int(v) for v in VERSION_STR.split(".")) else: + if SUP_EXTERNAL: + # Require pkg config + raise RuntimeError("Need pkg-config to find system libzstd.") print("\n Need pkg-config to find system libzstd. Or we try bundled one.") if "--libraries" not in sys.argv: # Add something default From c5aa019af74ca4146277ce6d2bddedfaed4a8522 Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Fri, 24 Jan 2025 14:30:46 +0300 Subject: [PATCH 056/353] Update setup.py --- setup.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/setup.py b/setup.py index db08e3468..54433b73a 100644 --- a/setup.py +++ b/setup.py @@ -85,7 +85,7 @@ pkgconf = "/usr/bin/do-not-use-pkg-config" #if SUP_EXTERNAL: -if platform.stystem() = "Linux" and "build_ext" in sys.argv or "build" in sys.argv: +if platform.stystem() == "Linux" and "build_ext" in sys.argv or "build" in sys.argv: # You should add external library by option: --libraries zstd # And probably include paths by option: --include-dirs /usr/include/zstd # And probably library paths by option: --library-dirs /usr/lib/i386-linux-gnu From a92664d0a37a6991614aed41459d6b62d9a0f44e Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Fri, 24 Jan 2025 14:33:00 +0300 Subject: [PATCH 057/353] Update setup.py --- setup.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/setup.py b/setup.py index 54433b73a..2ef8ef3bc 100644 --- a/setup.py +++ b/setup.py @@ -85,7 +85,7 @@ pkgconf = "/usr/bin/do-not-use-pkg-config" #if SUP_EXTERNAL: -if platform.stystem() == "Linux" and "build_ext" in sys.argv or "build" in sys.argv: +if platform.system() == "Linux" and "build_ext" in sys.argv or "build" in sys.argv: # You should add external library by option: --libraries zstd # And probably include paths by option: --include-dirs /usr/include/zstd # And probably library paths by option: --library-dirs /usr/lib/i386-linux-gnu From 1a6df83f79dd0a22424a9b7885b69c1137333c8e Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Fri, 24 Jan 2025 14:37:01 +0300 Subject: [PATCH 058/353] Update setup.py --- setup.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/setup.py b/setup.py index 2ef8ef3bc..2e76ace1f 100644 --- a/setup.py +++ b/setup.py @@ -85,7 +85,7 @@ pkgconf = "/usr/bin/do-not-use-pkg-config" #if SUP_EXTERNAL: -if platform.system() == "Linux" and "build_ext" in sys.argv or "build" in sys.argv: +if platform.system() == "Linux" and "build_ext" in sys.argv or "build" in sys.argv or "bdist_wheel" in sys.argv: # You should add external library by option: --libraries zstd # And probably include paths by option: --include-dirs /usr/include/zstd # And probably library paths by option: --library-dirs /usr/lib/i386-linux-gnu From bdb43eeb59b09318f7c670f5b93e347f4ba805a0 Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Fri, 24 Jan 2025 15:05:15 +0300 Subject: [PATCH 059/353] Update setup.py --- setup.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/setup.py b/setup.py index 2e76ace1f..482cfe7c8 100644 --- a/setup.py +++ b/setup.py @@ -115,7 +115,7 @@ ext_libraries=[] else: raise RuntimeError("Need zstd library verion >= 1.4.0") - VERSION = tuple(int(v) for v in VERSION_STR.split(".")) + VERSION = tuple(int(v) for v in VERSION_STR.split(".")) else: if SUP_EXTERNAL: # Require pkg config From ea341a26a05ea92454cd8f0e572c06b2b044ea7e Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Fri, 24 Jan 2025 15:09:15 +0300 Subject: [PATCH 060/353] Update setup.py --- setup.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/setup.py b/setup.py index 482cfe7c8..362ab7e90 100644 --- a/setup.py +++ b/setup.py @@ -112,7 +112,9 @@ if VERSION_STR: if VERSION_STR>="1.4.0": SUP_EXTERNAL=True - ext_libraries=[] + if "--libraries" not in sys.argv: + # Add something default + ext_libraries=["zstd"] else: raise RuntimeError("Need zstd library verion >= 1.4.0") VERSION = tuple(int(v) for v in VERSION_STR.split(".")) @@ -121,9 +123,7 @@ # Require pkg config raise RuntimeError("Need pkg-config to find system libzstd.") print("\n Need pkg-config to find system libzstd. Or we try bundled one.") - if "--libraries" not in sys.argv: - # Add something default - ext_libraries=["zstd"] + # Package version, even external From 6e3d306533d8ebbaab5c9133f8f147718f3d2bb8 Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Fri, 24 Jan 2025 15:21:09 +0300 Subject: [PATCH 061/353] Update build-wheels.yml --- .github/workflows/build-wheels.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/build-wheels.yml b/.github/workflows/build-wheels.yml index 603c33389..9d3ec9ed8 100644 --- a/.github/workflows/build-wheels.yml +++ b/.github/workflows/build-wheels.yml @@ -109,6 +109,7 @@ jobs: if: matrix.os.matrix == 'linux' run: | echo OS-RELEASE; cat /etc/os-release; + ech CPU-FLAGS;grep flags /proc/cpuinfo sudo apt purge -y firefox snapd; sudo apt update; apt list --upgradable; sudo apt upgrade -y; sudo apt install -y libzstd-dev; From fe72aa4d6959aa97449624135d7da47637a8f0d6 Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Fri, 24 Jan 2025 15:22:45 +0300 Subject: [PATCH 062/353] Update build-wheels.yml --- .github/workflows/build-wheels.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build-wheels.yml b/.github/workflows/build-wheels.yml index 9d3ec9ed8..2c12a2b31 100644 --- a/.github/workflows/build-wheels.yml +++ b/.github/workflows/build-wheels.yml @@ -109,7 +109,7 @@ jobs: if: matrix.os.matrix == 'linux' run: | echo OS-RELEASE; cat /etc/os-release; - ech CPU-FLAGS;grep flags /proc/cpuinfo + echo CPU-FLAGS; grep flags /proc/cpuinfo sudo apt purge -y firefox snapd; sudo apt update; apt list --upgradable; sudo apt upgrade -y; sudo apt install -y libzstd-dev; From 2725800fe2a518ed10af7fe62424a2a390f32baf Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Sat, 25 Jan 2025 11:40:48 +0300 Subject: [PATCH 063/353] Update build-wheels.yml --- .github/workflows/build-wheels.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build-wheels.yml b/.github/workflows/build-wheels.yml index 2c12a2b31..ffd9e7a4f 100644 --- a/.github/workflows/build-wheels.yml +++ b/.github/workflows/build-wheels.yml @@ -186,7 +186,7 @@ jobs: python -m unittest discover -v -s {package} - name: Upload artifacts - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@v4.4 with: name: wheels path: ./dist From 51a607409e133eb8c236da71a4ac215ab0a64dc7 Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Sat, 25 Jan 2025 11:42:23 +0300 Subject: [PATCH 064/353] Update build-wheels.yml --- .github/workflows/build-wheels.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build-wheels.yml b/.github/workflows/build-wheels.yml index ffd9e7a4f..d90b20743 100644 --- a/.github/workflows/build-wheels.yml +++ b/.github/workflows/build-wheels.yml @@ -186,7 +186,7 @@ jobs: python -m unittest discover -v -s {package} - name: Upload artifacts - uses: actions/upload-artifact@v4.4 + uses: actions/upload-artifact@v4.6 with: name: wheels path: ./dist From ae2f803539830fa5e7bd966b4570321466dbe12c Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Sat, 25 Jan 2025 11:43:32 +0300 Subject: [PATCH 065/353] Update build-wheels.yml --- .github/workflows/build-wheels.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build-wheels.yml b/.github/workflows/build-wheels.yml index d90b20743..0cd24eb7c 100644 --- a/.github/workflows/build-wheels.yml +++ b/.github/workflows/build-wheels.yml @@ -186,7 +186,7 @@ jobs: python -m unittest discover -v -s {package} - name: Upload artifacts - uses: actions/upload-artifact@v4.6 + uses: actions/upload-artifact@v4.6.0 with: name: wheels path: ./dist From 801f85c25d43092a4051e3dc1e4d57880f7a72de Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Sun, 26 Jan 2025 11:22:16 +0300 Subject: [PATCH 066/353] Update build-wheels.yml Try older ubuntu --- .github/workflows/build-wheels.yml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/.github/workflows/build-wheels.yml b/.github/workflows/build-wheels.yml index 0cd24eb7c..893a55b22 100644 --- a/.github/workflows/build-wheels.yml +++ b/.github/workflows/build-wheels.yml @@ -20,9 +20,12 @@ jobs: - name: macOS Latest runs-on: macos-latest # arm matrix: macos - - name: Linux + - name: Ubuntu 24.04 runs-on: ubuntu-latest matrix: linux + - name: LUbuntu 16.04 + runs-on: ubuntu-16 + matrix: linux - name: Windows runs-on: windows-latest matrix: windows From 9a02659e9c0cf7004128636aefc4c0914427c4e4 Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Sun, 26 Jan 2025 11:57:08 +0300 Subject: [PATCH 067/353] Update build-wheels.yml --- .github/workflows/build-wheels.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build-wheels.yml b/.github/workflows/build-wheels.yml index 893a55b22..44b16f6e3 100644 --- a/.github/workflows/build-wheels.yml +++ b/.github/workflows/build-wheels.yml @@ -23,7 +23,7 @@ jobs: - name: Ubuntu 24.04 runs-on: ubuntu-latest matrix: linux - - name: LUbuntu 16.04 + - name: Ubuntu 16.04 runs-on: ubuntu-16 matrix: linux - name: Windows From bd0172ef31238908267bb44fb688f7035ca72c54 Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Tue, 28 Jan 2025 12:29:37 +0300 Subject: [PATCH 068/353] Update build-wheels.yml --- .github/workflows/build-wheels.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build-wheels.yml b/.github/workflows/build-wheels.yml index 44b16f6e3..af4a6f1d5 100644 --- a/.github/workflows/build-wheels.yml +++ b/.github/workflows/build-wheels.yml @@ -23,8 +23,8 @@ jobs: - name: Ubuntu 24.04 runs-on: ubuntu-latest matrix: linux - - name: Ubuntu 16.04 - runs-on: ubuntu-16 + - name: Ubuntu 20.04 + runs-on: ubuntu-20 matrix: linux - name: Windows runs-on: windows-latest From 2ea6f4817dd194ccbe4e944f9ca67ac74a36da95 Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Thu, 6 Feb 2025 11:52:32 +0300 Subject: [PATCH 069/353] Update debug_build-wheels.yml --- .github/workflows/debug_build-wheels.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/debug_build-wheels.yml b/.github/workflows/debug_build-wheels.yml index 3abf19b9c..44189b26a 100644 --- a/.github/workflows/debug_build-wheels.yml +++ b/.github/workflows/debug_build-wheels.yml @@ -279,7 +279,7 @@ jobs: sudo mkdir -p ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel/ sudo tar -xvf dist/zstd-${{matrix.os.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}} /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}} && ZSTD_ASM=1 ZSTD_ASM_BMI2=1 ZSTD_THREADS=1 python${{matrix.os.pyver}} setup.py bdist_wheel clean" + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}} && ZSTD_ASM=1 ZSTD_ASM_BMI2=1 ZSTD_THREADS=1 ZSTD_EXTERNAL=1 python${{matrix.os.pyver}} setup.py bdist_wheel clean" - name: Test wheel for ${{matrix.os.pypkg}} ${{matrix.os.arch}} if: matrix.os.matrix == 'linux' From ce4981936be47b53b4bde9476ab0a35a0c906c86 Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Fri, 7 Feb 2025 10:21:34 +0300 Subject: [PATCH 070/353] Update python-zstd.h --- src/python-zstd.h | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/python-zstd.h b/src/python-zstd.h index c9c987314..5bec59845 100644 --- a/src/python-zstd.h +++ b/src/python-zstd.h @@ -47,6 +47,10 @@ #define LIBZSTD_EXTERNAL 0 #endif +/*-===== Do you build threads support? =====-*/ +#ifndef ZSTD_MULTITHREAD +#define ZSTD_MULTITHREAD 1 +#endif /*-===== Pre-defined compression levels =====-*/ #ifndef ZSTD_CLEVEL_DEFAULT From 5e6f1edcdcfc4ac3fd75f8e9106b58ced698a78d Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Fri, 7 Feb 2025 10:29:23 +0300 Subject: [PATCH 071/353] Update setup.py --- setup.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/setup.py b/setup.py index 533c4284c..7dd08f110 100644 --- a/setup.py +++ b/setup.py @@ -3,6 +3,7 @@ import os import sys +#debug print("\ncmdline: %r" % (sys.argv,)) import subprocess @@ -101,7 +102,8 @@ if sys.hexversion >= 0x02070000: try: VERSION_STR = subprocess.check_output(cmd).trim() - except: + except Exception as e: + print("Error: %r" % e) pass else: # Pure Python 2.6 From 20f2aba67a884e826f949c71a1c5e32316661b2d Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Fri, 7 Feb 2025 10:32:59 +0300 Subject: [PATCH 072/353] Update debug_build-wheels.yml --- .github/workflows/debug_build-wheels.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/debug_build-wheels.yml b/.github/workflows/debug_build-wheels.yml index 44189b26a..08bafa43e 100644 --- a/.github/workflows/debug_build-wheels.yml +++ b/.github/workflows/debug_build-wheels.yml @@ -279,6 +279,7 @@ jobs: sudo mkdir -p ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel/ sudo tar -xvf dist/zstd-${{matrix.os.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}} /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}} && ZSTD_ASM=1 ZSTD_ASM_BMI2=1 ZSTD_THREADS=1 ZSTD_EXTERNAL=1 python${{matrix.os.pyver}} setup.py bdist_wheel clean" - name: Test wheel for ${{matrix.os.pypkg}} ${{matrix.os.arch}} From 8e8dd953d8b3fb9d6669abc10800639211a852c2 Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Fri, 7 Feb 2025 11:01:49 +0300 Subject: [PATCH 073/353] Update setup.py --- setup.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/setup.py b/setup.py index 7dd08f110..ae81d1602 100644 --- a/setup.py +++ b/setup.py @@ -101,7 +101,7 @@ VERSION_STR="" if sys.hexversion >= 0x02070000: try: - VERSION_STR = subprocess.check_output(cmd).trim() + VERSION_STR = subprocess.check_output(cmd).strip() except Exception as e: print("Error: %r" % e) pass From b424f79ed2de3daf0c35ac9911170c5251dda1a2 Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Fri, 7 Feb 2025 11:45:39 +0300 Subject: [PATCH 074/353] Update base.py --- tests/base.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/tests/base.py b/tests/base.py index c04363526..8c1bd421f 100644 --- a/tests/base.py +++ b/tests/base.py @@ -55,6 +55,8 @@ class BaseTestZSTD(unittest.TestCase): PKG_VERSION = "1.5.6.3" def helper_version(self): + if zstd.ZSTD_external(): + return raise_skip("PyZstd was build with external version of ZSTD library, so module is like (%s). It can be any version. Almost." % zstd.version()) self.assertEqual(self.PKG_VERSION, zstd.version()) def helper_zstd_version(self): From 7cb712498b524638222b69c11c71965f8f0abcdf Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Fri, 7 Feb 2025 12:06:29 +0300 Subject: [PATCH 075/353] Update setup.py --- setup.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/setup.py b/setup.py index ae81d1602..8d12fc374 100644 --- a/setup.py +++ b/setup.py @@ -107,7 +107,7 @@ pass else: # Pure Python 2.6 - VERSION_STR = subprocess.Popen(cmd, stdout=subprocess.PIPE).communicate()[0].trim() + VERSION_STR = subprocess.Popen(cmd, stdout=subprocess.PIPE).communicate()[0].strip() if sys.hexversion >= 0x03000000: # It's bytes in PY3 VERSION_STR = VERSION_STR.decode() From 37f6f6dc59d1aa836095aad888f690dd7e5b9e41 Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Fri, 7 Feb 2025 12:31:03 +0300 Subject: [PATCH 076/353] Update debug_build-wheels.yml --- .github/workflows/debug_build-wheels.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/debug_build-wheels.yml b/.github/workflows/debug_build-wheels.yml index 08bafa43e..cfbcb0d4e 100644 --- a/.github/workflows/debug_build-wheels.yml +++ b/.github/workflows/debug_build-wheels.yml @@ -280,7 +280,7 @@ jobs: sudo tar -xvf dist/zstd-${{matrix.os.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}} /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}} && ZSTD_ASM=1 ZSTD_ASM_BMI2=1 ZSTD_THREADS=1 ZSTD_EXTERNAL=1 python${{matrix.os.pyver}} setup.py bdist_wheel clean" + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}} && ZSTD_ASM=1 ZSTD_ASM_BMI2=1 ZSTD_THREADS=1 ZSTD_EXTERNAL=0 python${{matrix.os.pyver}} setup.py bdist_wheel clean" - name: Test wheel for ${{matrix.os.pypkg}} ${{matrix.os.arch}} if: matrix.os.matrix == 'linux' @@ -292,6 +292,7 @@ jobs: run: | sudo cp -v ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel/zstd-${{matrix.os.version}}/dist/* ./dist sudo mv -v ./dist/"zstd-${{matrix.os.version}}-${{matrix.os.pyengine_tag}}-linux_${{matrix.os.tag_arch}}.whl" ./dist/"zstd-${{matrix.os.version}}-${{matrix.os.pyengine_tag}}-manylinux_2_17_${{matrix.os.tag_arch}}.whl" + sudo ls -lh ./dist/* sudo rm -vf ./dist/*.tar.gz - name: Build ${{ matrix.os.name }} wheels and test (old) From 7b2aedcfdcad357d22e9a0953b1b1dadbb638774 Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Fri, 7 Feb 2025 12:32:13 +0300 Subject: [PATCH 077/353] Update debug_build-wheels.yml --- .github/workflows/debug_build-wheels.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/debug_build-wheels.yml b/.github/workflows/debug_build-wheels.yml index cfbcb0d4e..29de0adaf 100644 --- a/.github/workflows/debug_build-wheels.yml +++ b/.github/workflows/debug_build-wheels.yml @@ -280,7 +280,7 @@ jobs: sudo tar -xvf dist/zstd-${{matrix.os.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}} /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}} && ZSTD_ASM=1 ZSTD_ASM_BMI2=1 ZSTD_THREADS=1 ZSTD_EXTERNAL=0 python${{matrix.os.pyver}} setup.py bdist_wheel clean" + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}} && ZSTD_ASM=1 ZSTD_ASM_BMI2=1 ZSTD_THREADS=1 ZSTD_EXTERNAL=1 python${{matrix.os.pyver}} setup.py bdist_wheel clean" - name: Test wheel for ${{matrix.os.pypkg}} ${{matrix.os.arch}} if: matrix.os.matrix == 'linux' From a8bf3ce0f44d33b8fbd2a0951df8996fdadad958 Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Fri, 7 Feb 2025 12:42:03 +0300 Subject: [PATCH 078/353] Update debug_build-wheels.yml --- .github/workflows/debug_build-wheels.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/debug_build-wheels.yml b/.github/workflows/debug_build-wheels.yml index 29de0adaf..6d199f224 100644 --- a/.github/workflows/debug_build-wheels.yml +++ b/.github/workflows/debug_build-wheels.yml @@ -240,6 +240,7 @@ jobs: if: matrix.os.matrix == 'linux' run: | sudo debootstrap --verbose --include=sudo,wget,curl,ca-certificates --arch=${{matrix.os.arch}} ${{matrix.os.release}} ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} ${{matrix.os.mirror}} + sudo tail ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/debootstrap/debootstrap.log - name: Update and Upgrade Ubuntu ${{matrix.os.release}} if: matrix.os.matrix == 'linux' From 2eb98788aec2ffebabe932d821a10aad549c3c66 Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Fri, 7 Feb 2025 12:43:59 +0300 Subject: [PATCH 079/353] Update debug_build-wheels.yml --- .github/workflows/debug_build-wheels.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/debug_build-wheels.yml b/.github/workflows/debug_build-wheels.yml index 6d199f224..b4f33767e 100644 --- a/.github/workflows/debug_build-wheels.yml +++ b/.github/workflows/debug_build-wheels.yml @@ -291,9 +291,9 @@ jobs: - name: Pepare wheel for upload if: matrix.os.matrix == 'linux' run: | + sudo ls -lh ./dist/* sudo cp -v ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel/zstd-${{matrix.os.version}}/dist/* ./dist sudo mv -v ./dist/"zstd-${{matrix.os.version}}-${{matrix.os.pyengine_tag}}-linux_${{matrix.os.tag_arch}}.whl" ./dist/"zstd-${{matrix.os.version}}-${{matrix.os.pyengine_tag}}-manylinux_2_17_${{matrix.os.tag_arch}}.whl" - sudo ls -lh ./dist/* sudo rm -vf ./dist/*.tar.gz - name: Build ${{ matrix.os.name }} wheels and test (old) From 43a5dbda49b4a3317745d3e185fa967a85101cdd Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Fri, 7 Feb 2025 13:01:03 +0300 Subject: [PATCH 080/353] Update debug_build-wheels.yml --- .github/workflows/debug_build-wheels.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/workflows/debug_build-wheels.yml b/.github/workflows/debug_build-wheels.yml index b4f33767e..a721c7f75 100644 --- a/.github/workflows/debug_build-wheels.yml +++ b/.github/workflows/debug_build-wheels.yml @@ -239,8 +239,7 @@ jobs: - name: Debootstrap Ubuntu ${{matrix.os.arch}} if: matrix.os.matrix == 'linux' run: | - sudo debootstrap --verbose --include=sudo,wget,curl,ca-certificates --arch=${{matrix.os.arch}} ${{matrix.os.release}} ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} ${{matrix.os.mirror}} - sudo tail ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/debootstrap/debootstrap.log + sudo debootstrap --verbose --include=sudo,wget,curl,ca-certificates --arch=${{matrix.os.arch}} ${{matrix.os.release}} ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} ${{matrix.os.mirror}} || tail ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/debootstrap/debootstrap.log - name: Update and Upgrade Ubuntu ${{matrix.os.release}} if: matrix.os.matrix == 'linux' From 944c0e3c50a589ed9d74860d743c8396e5190e89 Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Fri, 7 Feb 2025 13:10:16 +0300 Subject: [PATCH 081/353] Update debug_build-wheels.yml --- .github/workflows/debug_build-wheels.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/debug_build-wheels.yml b/.github/workflows/debug_build-wheels.yml index a721c7f75..db1b5d481 100644 --- a/.github/workflows/debug_build-wheels.yml +++ b/.github/workflows/debug_build-wheels.yml @@ -236,7 +236,7 @@ jobs: pip install build; python -m build --sdist --outdir dist . - - name: Debootstrap Ubuntu ${{matrix.os.arch}} + - name: Debootstrap Ubuntu ${{matrix.os.release}} ${{matrix.os.arch}} if: matrix.os.matrix == 'linux' run: | sudo debootstrap --verbose --include=sudo,wget,curl,ca-certificates --arch=${{matrix.os.arch}} ${{matrix.os.release}} ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} ${{matrix.os.mirror}} || tail ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/debootstrap/debootstrap.log From 152ebf500826a1ba564664058ddc5d7082d63ad6 Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Fri, 7 Feb 2025 13:13:43 +0300 Subject: [PATCH 082/353] Update debug_build-wheels.yml --- .github/workflows/debug_build-wheels.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/debug_build-wheels.yml b/.github/workflows/debug_build-wheels.yml index db1b5d481..42bc8ceba 100644 --- a/.github/workflows/debug_build-wheels.yml +++ b/.github/workflows/debug_build-wheels.yml @@ -271,7 +271,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 distutils" - name: Pepare source and build wheel for ${{matrix.os.pypkg}} ${{matrix.os.arch}} if: matrix.os.matrix == 'linux' From 5d5d84189c6012149cd2bf8b6fe2b365391ffe34 Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Fri, 7 Feb 2025 13:44:37 +0300 Subject: [PATCH 083/353] Update debug_build-wheels.yml --- .github/workflows/debug_build-wheels.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/debug_build-wheels.yml b/.github/workflows/debug_build-wheels.yml index 42bc8ceba..db1b5d481 100644 --- a/.github/workflows/debug_build-wheels.yml +++ b/.github/workflows/debug_build-wheels.yml @@ -271,7 +271,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 distutils" + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "${{matrix.os.pypkg}} -m pip install -U setuptools" - name: Pepare source and build wheel for ${{matrix.os.pypkg}} ${{matrix.os.arch}} if: matrix.os.matrix == 'linux' From 3f20ab642884be04a8e7200d5214da3b60e0a8a6 Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Fri, 7 Feb 2025 13:58:43 +0300 Subject: [PATCH 084/353] Update debug_build-wheels.yml --- .github/workflows/debug_build-wheels.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/debug_build-wheels.yml b/.github/workflows/debug_build-wheels.yml index db1b5d481..5007aa27e 100644 --- a/.github/workflows/debug_build-wheels.yml +++ b/.github/workflows/debug_build-wheels.yml @@ -244,7 +244,7 @@ jobs: - name: Update and Upgrade Ubuntu ${{matrix.os.release}} if: matrix.os.matrix == 'linux' run: | - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/mkdir /build_wheel + sudo mkdir -p ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel 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 From a20b8862ec0071e610085cd23ee639a6529b30ef Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Fri, 7 Feb 2025 14:32:49 +0300 Subject: [PATCH 085/353] Update debug_build-wheels.yml --- .github/workflows/debug_build-wheels.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/debug_build-wheels.yml b/.github/workflows/debug_build-wheels.yml index 5007aa27e..89f0878d7 100644 --- a/.github/workflows/debug_build-wheels.yml +++ b/.github/workflows/debug_build-wheels.yml @@ -280,7 +280,7 @@ jobs: sudo tar -xvf dist/zstd-${{matrix.os.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}} /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}} && ZSTD_ASM=1 ZSTD_ASM_BMI2=1 ZSTD_THREADS=1 ZSTD_EXTERNAL=1 python${{matrix.os.pyver}} setup.py bdist_wheel clean" + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}} && ZSTD_ASM=1 ZSTD_ASM_BMI2=1 ZSTD_THREADS=1 ZSTD_EXTERNAL=0 python${{matrix.os.pyver}} setup.py bdist_wheel clean" - name: Test wheel for ${{matrix.os.pypkg}} ${{matrix.os.arch}} if: matrix.os.matrix == 'linux' From ffff5adb0fb0fac7a1b715ff8130b3b53a5aac9a Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Fri, 7 Feb 2025 14:48:58 +0300 Subject: [PATCH 086/353] Update setup.py --- setup.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/setup.py b/setup.py index 8d12fc374..cef417406 100644 --- a/setup.py +++ b/setup.py @@ -81,7 +81,7 @@ pkgconf = "/usr/bin/pkg-config" if "--libzstd-bundled" in sys.argv: - # You want use external Zstd library? + # Do you want use external Zstd library? SUP_EXTERNAL=False sys.argv.remove("--libzstd-bundled") pkgconf = "/usr/bin/do-not-use-pkg-config" @@ -112,7 +112,7 @@ # It's bytes in PY3 VERSION_STR = VERSION_STR.decode() print("\nFound libzstd version %r" % VERSION_STR) - if VERSION_STR: + if VERSION_STR and SUP_EXTERNAL: if VERSION_STR>="1.4.0": SUP_EXTERNAL=True if "--libraries" not in sys.argv: From 651dc39b234af658921611f9e7abb7dd2ea71a85 Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Fri, 7 Feb 2025 15:06:00 +0300 Subject: [PATCH 087/353] Update debug_build-wheels.yml --- .github/workflows/debug_build-wheels.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/debug_build-wheels.yml b/.github/workflows/debug_build-wheels.yml index 89f0878d7..9bce29ef1 100644 --- a/.github/workflows/debug_build-wheels.yml +++ b/.github/workflows/debug_build-wheels.yml @@ -280,7 +280,7 @@ jobs: sudo tar -xvf dist/zstd-${{matrix.os.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}} /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}} && ZSTD_ASM=1 ZSTD_ASM_BMI2=1 ZSTD_THREADS=1 ZSTD_EXTERNAL=0 python${{matrix.os.pyver}} setup.py bdist_wheel clean" + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}} && ZSTD_ASM=1 ZSTD_ASM_BMI2=1 ZSTD_THREADS=1 _ZSTD_EXTERNAL=0 python${{matrix.os.pyver}} setup.py bdist_wheel clean" - name: Test wheel for ${{matrix.os.pypkg}} ${{matrix.os.arch}} if: matrix.os.matrix == 'linux' From de6ade66917cac0b3cfc58b99fb086174793d385 Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Fri, 7 Feb 2025 15:53:35 +0300 Subject: [PATCH 088/353] Update debug_build-wheels.yml --- .github/workflows/debug_build-wheels.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/debug_build-wheels.yml b/.github/workflows/debug_build-wheels.yml index 9bce29ef1..7ab42f8af 100644 --- a/.github/workflows/debug_build-wheels.yml +++ b/.github/workflows/debug_build-wheels.yml @@ -271,7 +271,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.0" - name: Pepare source and build wheel for ${{matrix.os.pypkg}} ${{matrix.os.arch}} if: matrix.os.matrix == 'linux' From 8aa3db8e4ccc6350a9100702ab88434a3b0184e9 Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Fri, 7 Feb 2025 16:18:07 +0300 Subject: [PATCH 089/353] Update debug_build-wheels.yml --- .github/workflows/debug_build-wheels.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/debug_build-wheels.yml b/.github/workflows/debug_build-wheels.yml index 7ab42f8af..3d253f265 100644 --- a/.github/workflows/debug_build-wheels.yml +++ b/.github/workflows/debug_build-wheels.yml @@ -271,7 +271,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<72.0" + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "${{matrix.os.pypkg}} -m pip install -U 'setuptools<72.0'" - name: Pepare source and build wheel for ${{matrix.os.pypkg}} ${{matrix.os.arch}} if: matrix.os.matrix == 'linux' From 33e96c34cc6821a0881350d3f7c1b14f7ca87bb5 Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Fri, 7 Feb 2025 16:25:14 +0300 Subject: [PATCH 090/353] Update debug_build-wheels.yml --- .github/workflows/debug_build-wheels.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/debug_build-wheels.yml b/.github/workflows/debug_build-wheels.yml index 3d253f265..b411c027f 100644 --- a/.github/workflows/debug_build-wheels.yml +++ b/.github/workflows/debug_build-wheels.yml @@ -252,6 +252,7 @@ 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 + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c 'which 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 From 701c429888d0adfd9f3a00c31052c6af343e9843 Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Fri, 7 Feb 2025 17:02:32 +0300 Subject: [PATCH 091/353] Update debug_build-wheels.yml --- .github/workflows/debug_build-wheels.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/debug_build-wheels.yml b/.github/workflows/debug_build-wheels.yml index b411c027f..64d3ae5b3 100644 --- a/.github/workflows/debug_build-wheels.yml +++ b/.github/workflows/debug_build-wheels.yml @@ -291,8 +291,8 @@ jobs: - name: Pepare wheel for upload if: matrix.os.matrix == 'linux' run: | - sudo ls -lh ./dist/* sudo cp -v ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel/zstd-${{matrix.os.version}}/dist/* ./dist + sudo ls -lh ./dist/* sudo mv -v ./dist/"zstd-${{matrix.os.version}}-${{matrix.os.pyengine_tag}}-linux_${{matrix.os.tag_arch}}.whl" ./dist/"zstd-${{matrix.os.version}}-${{matrix.os.pyengine_tag}}-manylinux_2_17_${{matrix.os.tag_arch}}.whl" sudo rm -vf ./dist/*.tar.gz From 7db6860097fe8d9f11f06bda9d48f6a8f66b4cbc Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Fri, 7 Feb 2025 17:08:11 +0300 Subject: [PATCH 092/353] Update debug_build-wheels.yml --- .github/workflows/debug_build-wheels.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/debug_build-wheels.yml b/.github/workflows/debug_build-wheels.yml index 64d3ae5b3..7062ca1c4 100644 --- a/.github/workflows/debug_build-wheels.yml +++ b/.github/workflows/debug_build-wheels.yml @@ -252,7 +252,7 @@ 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 - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c 'which apt' + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /usr/bin/bash -c 'which 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 From deb2257a09205f910534de9342e31fbbc0e7da88 Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Fri, 7 Feb 2025 17:13:23 +0300 Subject: [PATCH 093/353] Update debug_build-wheels.yml --- .github/workflows/debug_build-wheels.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/debug_build-wheels.yml b/.github/workflows/debug_build-wheels.yml index 7062ca1c4..f4bb54f9d 100644 --- a/.github/workflows/debug_build-wheels.yml +++ b/.github/workflows/debug_build-wheels.yml @@ -252,7 +252,7 @@ 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 - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /usr/bin/bash -c 'which apt' + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/dash -c 'which 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 From b2f56cf54f7b2570413fe8770c908bfa925c115d Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Fri, 7 Feb 2025 17:27:15 +0300 Subject: [PATCH 094/353] Update debug_build-wheels.yml --- .github/workflows/debug_build-wheels.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/debug_build-wheels.yml b/.github/workflows/debug_build-wheels.yml index f4bb54f9d..0ad8531af 100644 --- a/.github/workflows/debug_build-wheels.yml +++ b/.github/workflows/debug_build-wheels.yml @@ -252,7 +252,7 @@ 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 - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/dash -c 'which apt' + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/sh -c 'which 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 From 39366a5483c7651b198cd54d63c4bb8292480d52 Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Fri, 7 Feb 2025 18:23:35 +0300 Subject: [PATCH 095/353] Update __init__.py --- tests/__init__.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/tests/__init__.py b/tests/__init__.py index 33909f666..f779eb76d 100644 --- a/tests/__init__.py +++ b/tests/__init__.py @@ -6,3 +6,5 @@ if sys.hexversion < 0x03000000: import test_compress import test_version + import test_speed + From 46f61943fa0c1a4a3ecad46d53c13180770da608 Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Fri, 7 Feb 2025 18:34:39 +0300 Subject: [PATCH 096/353] Update debug_build-wheels.yml --- .github/workflows/debug_build-wheels.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/debug_build-wheels.yml b/.github/workflows/debug_build-wheels.yml index 0ad8531af..8e5fa222e 100644 --- a/.github/workflows/debug_build-wheels.yml +++ b/.github/workflows/debug_build-wheels.yml @@ -252,7 +252,7 @@ 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 - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/sh -c 'which apt' + sudo find ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} -iname bash 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 From 47e2091ff9271951c5177071b2cf947d8cd12ca1 Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Fri, 7 Feb 2025 20:11:11 +0300 Subject: [PATCH 097/353] Update debug_build-wheels.yml --- .github/workflows/debug_build-wheels.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/debug_build-wheels.yml b/.github/workflows/debug_build-wheels.yml index 8e5fa222e..580c36912 100644 --- a/.github/workflows/debug_build-wheels.yml +++ b/.github/workflows/debug_build-wheels.yml @@ -88,7 +88,7 @@ jobs: getpipurl: https://bootstrap.pypa.io/pip/get-pip.py pypkg: python3.8 pypkgadd: python3.8-distutils - pyengine_tag: cp38-cp38m + pyengine_tag: cp38-cp38 - name: Ubuntu 24+16 amd64 CPython2.7 runs-on: ubuntu-latest matrix: linux @@ -163,7 +163,7 @@ jobs: pypkgadd: python3.8-distutils pyver: "3.8" getpipurl: https://bootstrap.pypa.io/pip/get-pip.py - pyengine_tag: cp38-cp38m + pyengine_tag: cp38-cp38 - name: Ubuntu 24+16 armhf CPython 2.7 runs-on: ubuntu-latest matrix: linux From 86282f05ca60856e2e71bbbe73a58c1dddbb52e8 Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Fri, 7 Feb 2025 20:12:59 +0300 Subject: [PATCH 098/353] Update debug_build-wheels.yml --- .github/workflows/debug_build-wheels.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/debug_build-wheels.yml b/.github/workflows/debug_build-wheels.yml index 580c36912..5b1bc4ad0 100644 --- a/.github/workflows/debug_build-wheels.yml +++ b/.github/workflows/debug_build-wheels.yml @@ -252,7 +252,7 @@ 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 - sudo find ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} -iname bash + 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 From 7f234d93cb5cef4e1cd31fabd53f085d3ca02134 Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Fri, 7 Feb 2025 20:37:21 +0300 Subject: [PATCH 099/353] Update debug_build-wheels.yml --- .github/workflows/debug_build-wheels.yml | 26 ++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/.github/workflows/debug_build-wheels.yml b/.github/workflows/debug_build-wheels.yml index 5b1bc4ad0..d600f099b 100644 --- a/.github/workflows/debug_build-wheels.yml +++ b/.github/workflows/debug_build-wheels.yml @@ -89,6 +89,19 @@ jobs: pypkg: python3.8 pypkgadd: python3.8-distutils pyengine_tag: cp38-cp38 + - name: Ubuntu 24+16 i386 CPython 3.9 + runs-on: ubuntu-latest + matrix: linux + arch: i386 + tag_arch: i686 + release: xenial + mirror: http://azure.archive.ubuntu.com/ubuntu + version: 1.5.6.3 + pyver: "3.9" + getpipurl: https://bootstrap.pypa.io/pip/get-pip.py + pypkg: python3.9 + pypkgadd: python3.9-distutils + pyengine_tag: cp39-cp39 - name: Ubuntu 24+16 amd64 CPython2.7 runs-on: ubuntu-latest matrix: linux @@ -164,6 +177,19 @@ jobs: pyver: "3.8" getpipurl: https://bootstrap.pypa.io/pip/get-pip.py pyengine_tag: cp38-cp38 + - name: Ubuntu 24+16 amd64 CPython3.9 + runs-on: ubuntu-latest + matrix: linux + arch: amd64 + tag_arch: x86_64 + release: xenial + mirror: http://azure.archive.ubuntu.com/ubuntu + version: 1.5.6.3 + pypkg: python3.9 + pypkgadd: python3.9-distutils + pyver: "3.9" + getpipurl: https://bootstrap.pypa.io/pip/get-pip.py + pyengine_tag: cp39-cp39 - name: Ubuntu 24+16 armhf CPython 2.7 runs-on: ubuntu-latest matrix: linux From 7f6a9fc2ba896e982c04eb03fc28a6ae2692e88a Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Fri, 7 Feb 2025 20:45:00 +0300 Subject: [PATCH 100/353] Update debug_build-wheels.yml --- .github/workflows/debug_build-wheels.yml | 21 +++++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) diff --git a/.github/workflows/debug_build-wheels.yml b/.github/workflows/debug_build-wheels.yml index d600f099b..9729ae670 100644 --- a/.github/workflows/debug_build-wheels.yml +++ b/.github/workflows/debug_build-wheels.yml @@ -26,6 +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_17 - name: Ubuntu 24+16 i386 CPython 3.4 runs-on: ubuntu-latest matrix: linux @@ -38,6 +39,7 @@ jobs: getpipurl: https://bootstrap.pypa.io/pip/3.4/get-pip.py pypkg: python3.4 pyengine_tag: cp34-cp34m + libc_tag: manylinux_2_17 - name: Ubuntu 24+16 i386 CPython 3.5 runs-on: ubuntu-latest matrix: linux @@ -50,6 +52,7 @@ jobs: getpipurl: https://bootstrap.pypa.io/pip/3.5/get-pip.py pypkg: python3.5 pyengine_tag: cp35-cp35m + libc_tag: manylinux_2_17 - name: Ubuntu 24+16 i386 CPython 3.6 runs-on: ubuntu-latest matrix: linux @@ -63,6 +66,7 @@ jobs: pypkg: python3.6 pypkgadd: python3.6-distutils pyengine_tag: cp36-cp36m + libc_tag: manylinux_2_17 - name: Ubuntu 24+16 i386 CPython 3.7 runs-on: ubuntu-latest matrix: linux @@ -76,6 +80,7 @@ jobs: pypkg: python3.7 pypkgadd: python3.7-distutils pyengine_tag: cp37-cp37m + libc_tag: manylinux_2_17 - name: Ubuntu 24+16 i386 CPython 3.8 runs-on: ubuntu-latest matrix: linux @@ -89,6 +94,7 @@ jobs: pypkg: python3.8 pypkgadd: python3.8-distutils pyengine_tag: cp38-cp38 + libc_tag: manylinux_2_17 - name: Ubuntu 24+16 i386 CPython 3.9 runs-on: ubuntu-latest matrix: linux @@ -101,7 +107,8 @@ jobs: getpipurl: https://bootstrap.pypa.io/pip/get-pip.py pypkg: python3.9 pypkgadd: python3.9-distutils - pyengine_tag: cp39-cp39 + pyengine_tag: cp39-cp39 + libc_tag: manylinux_2_17 - name: Ubuntu 24+16 amd64 CPython2.7 runs-on: ubuntu-latest matrix: linux @@ -114,6 +121,7 @@ jobs: pyver: "2.7" getpipurl: https://bootstrap.pypa.io/pip/2.7/get-pip.py pyengine_tag: cp27-cp27mu + libc_tag: manylinux_2_17 - name: Ubuntu 24+16 amd64 CPython3.4 runs-on: ubuntu-latest matrix: linux @@ -126,6 +134,7 @@ jobs: pyver: "3.4" getpipurl: https://bootstrap.pypa.io/pip/3.4/get-pip.py pyengine_tag: cp34-cp34m + libc_tag: manylinux_2_17 - name: Ubuntu 24+16 amd64 CPython3.5 runs-on: ubuntu-latest matrix: linux @@ -138,6 +147,7 @@ jobs: pyver: "3.5" getpipurl: https://bootstrap.pypa.io/pip/3.5/get-pip.py pyengine_tag: cp35-cp35m + libc_tag: manylinux_2_17 - name: Ubuntu 24+16 amd64 CPython3.6 runs-on: ubuntu-latest matrix: linux @@ -151,6 +161,7 @@ jobs: pyver: "3.6" getpipurl: https://bootstrap.pypa.io/pip/3.6/get-pip.py pyengine_tag: cp36-cp36m + libc_tag: manylinux_2_17 - name: Ubuntu 24+16 amd64 CPython3.7 runs-on: ubuntu-latest matrix: linux @@ -164,6 +175,7 @@ jobs: pyver: "3.7" getpipurl: https://bootstrap.pypa.io/pip/3.7/get-pip.py pyengine_tag: cp37-cp37m + libc_tag: manylinux_2_17 - name: Ubuntu 24+16 amd64 CPython3.8 runs-on: ubuntu-latest matrix: linux @@ -177,6 +189,7 @@ jobs: pyver: "3.8" getpipurl: https://bootstrap.pypa.io/pip/get-pip.py pyengine_tag: cp38-cp38 + libc_tag: manylinux_2_17 - name: Ubuntu 24+16 amd64 CPython3.9 runs-on: ubuntu-latest matrix: linux @@ -190,6 +203,7 @@ jobs: pyver: "3.9" getpipurl: https://bootstrap.pypa.io/pip/get-pip.py pyengine_tag: cp39-cp39 + libc_tag: manylinux_2_17 - name: Ubuntu 24+16 armhf CPython 2.7 runs-on: ubuntu-latest matrix: linux @@ -201,6 +215,7 @@ jobs: pyver: "2.7" getpipurl: https://bootstrap.pypa.io/pip/2.7/get-pip.py pyengine_tag: cp27-cp27mu + libc_tag: manylinux_2_17 - name: Ubuntu 24+16 arm64 CPython 2.7 runs-on: ubuntu-latest matrix: linux @@ -212,6 +227,7 @@ jobs: pyver: "2.7" getpipurl: https://bootstrap.pypa.io/pip/2.7/get-pip.py pyengine_tag: cp27-cp27mu + libc_tag: manylinux_2_17 - name: Ubuntu 24+20 riscv64 CPython 2.7 runs-on: ubuntu-latest matrix: linux @@ -223,6 +239,7 @@ jobs: pyver: "2.7" getpipurl: https://bootstrap.pypa.io/pip/2.7/get-pip.py pyengine_tag: cp27-cp27mu + libc_tag: manylinux_2_17 steps: - name: Checkout code @@ -319,7 +336,7 @@ jobs: run: | sudo cp -v ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel/zstd-${{matrix.os.version}}/dist/* ./dist sudo ls -lh ./dist/* - sudo mv -v ./dist/"zstd-${{matrix.os.version}}-${{matrix.os.pyengine_tag}}-linux_${{matrix.os.tag_arch}}.whl" ./dist/"zstd-${{matrix.os.version}}-${{matrix.os.pyengine_tag}}-manylinux_2_17_${{matrix.os.tag_arch}}.whl" + sudo mv -v ./dist/"zstd-${{matrix.os.version}}-${{matrix.os.pyengine_tag}}-linux_${{matrix.os.tag_arch}}.whl" ./dist/"zstd-${{matrix.os.version}}-${{matrix.os.pyengine_tag}}-${{matrix.os.libc_tag}}_${{matrix.os.tag_arch}}.whl" sudo rm -vf ./dist/*.tar.gz - name: Build ${{ matrix.os.name }} wheels and test (old) From 53b576d550d92265e75042f7efad891308dd6195 Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Fri, 7 Feb 2025 21:17:50 +0300 Subject: [PATCH 101/353] Update debug_build-wheels.yml --- .github/workflows/debug_build-wheels.yml | 28 ++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/.github/workflows/debug_build-wheels.yml b/.github/workflows/debug_build-wheels.yml index 9729ae670..09961d00e 100644 --- a/.github/workflows/debug_build-wheels.yml +++ b/.github/workflows/debug_build-wheels.yml @@ -109,6 +109,20 @@ jobs: pypkgadd: python3.9-distutils pyengine_tag: cp39-cp39 libc_tag: manylinux_2_17 + - name: Ubuntu 24+16 i386 CPython 3.10 + runs-on: ubuntu-latest + matrix: linux + arch: i386 + tag_arch: i686 + release: xenial + mirror: http://azure.archive.ubuntu.com/ubuntu + version: 1.5.6.3 + pyver: "3.10" + getpipurl: https://bootstrap.pypa.io/pip/get-pip.py + pypkg: python3.10 + pypkgadd: python3.10-distutils + pyengine_tag: cp310-cp310 + libc_tag: manylinux_2_17 - name: Ubuntu 24+16 amd64 CPython2.7 runs-on: ubuntu-latest matrix: linux @@ -204,6 +218,20 @@ jobs: getpipurl: https://bootstrap.pypa.io/pip/get-pip.py pyengine_tag: cp39-cp39 libc_tag: manylinux_2_17 + - name: Ubuntu 24+16 amd64 CPython3.10 + runs-on: ubuntu-latest + matrix: linux + arch: amd64 + tag_arch: x86_64 + release: xenial + mirror: http://azure.archive.ubuntu.com/ubuntu + version: 1.5.6.3 + pypkg: python3.10 + pypkgadd: python3.10-distutils + pyver: "3.10" + getpipurl: https://bootstrap.pypa.io/pip/get-pip.py + pyengine_tag: cp310-cp310 + libc_tag: manylinux_2_17 - name: Ubuntu 24+16 armhf CPython 2.7 runs-on: ubuntu-latest matrix: linux From 8a5604efc97eca89c4f0bd494ff1b58955428a8a Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Fri, 7 Feb 2025 21:37:06 +0300 Subject: [PATCH 102/353] Update debug_build-wheels.yml --- .github/workflows/debug_build-wheels.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/debug_build-wheels.yml b/.github/workflows/debug_build-wheels.yml index 09961d00e..841983f42 100644 --- a/.github/workflows/debug_build-wheels.yml +++ b/.github/workflows/debug_build-wheels.yml @@ -1,4 +1,4 @@ -name: Debug build wheels +Kname: Debug build wheels on: [push, pull_request] @@ -267,7 +267,7 @@ jobs: pyver: "2.7" getpipurl: https://bootstrap.pypa.io/pip/2.7/get-pip.py pyengine_tag: cp27-cp27mu - libc_tag: manylinux_2_17 + libc_tag: manylinux_2_19 steps: - name: Checkout code From 898e657c4afae4e645261456e9843c6d7f1e6b2c Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Fri, 7 Feb 2025 21:38:02 +0300 Subject: [PATCH 103/353] Update debug_build-wheels.yml --- .github/workflows/debug_build-wheels.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/debug_build-wheels.yml b/.github/workflows/debug_build-wheels.yml index 841983f42..c6c91caff 100644 --- a/.github/workflows/debug_build-wheels.yml +++ b/.github/workflows/debug_build-wheels.yml @@ -1,4 +1,4 @@ -Kname: Debug build wheels +name: Debug build wheels on: [push, pull_request] From 0d60f32b15acada7402fba64cfac55da24f54595 Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Fri, 7 Feb 2025 22:14:49 +0300 Subject: [PATCH 104/353] Update debug_build-wheels.yml Bmi2 functions of libzstd abit broken --- .github/workflows/debug_build-wheels.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/debug_build-wheels.yml b/.github/workflows/debug_build-wheels.yml index c6c91caff..6f76c1527 100644 --- a/.github/workflows/debug_build-wheels.yml +++ b/.github/workflows/debug_build-wheels.yml @@ -352,7 +352,7 @@ jobs: sudo tar -xvf dist/zstd-${{matrix.os.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}} /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}} && ZSTD_ASM=1 ZSTD_ASM_BMI2=1 ZSTD_THREADS=1 _ZSTD_EXTERNAL=0 python${{matrix.os.pyver}} setup.py bdist_wheel clean" + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}} && ZSTD_ASM=1 _ZSTD_ASM_BMI2=1 ZSTD_THREADS=1 _ZSTD_EXTERNAL=0 python${{matrix.os.pyver}} setup.py bdist_wheel clean" - name: Test wheel for ${{matrix.os.pypkg}} ${{matrix.os.arch}} if: matrix.os.matrix == 'linux' From cb9acb01a592d7108ad82dc8d8ab5bfdb6c9d2d2 Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Fri, 7 Feb 2025 22:18:45 +0300 Subject: [PATCH 105/353] Update debug_build-wheels.yml --- .github/workflows/debug_build-wheels.yml | 28 ++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/.github/workflows/debug_build-wheels.yml b/.github/workflows/debug_build-wheels.yml index 6f76c1527..03b951bd5 100644 --- a/.github/workflows/debug_build-wheels.yml +++ b/.github/workflows/debug_build-wheels.yml @@ -123,6 +123,20 @@ jobs: pypkgadd: python3.10-distutils pyengine_tag: cp310-cp310 libc_tag: manylinux_2_17 + - name: Ubuntu 24+16 i386 CPython 3.11 + runs-on: ubuntu-latest + matrix: linux + arch: i386 + tag_arch: i686 + release: xenial + mirror: http://azure.archive.ubuntu.com/ubuntu + version: 1.5.6.3 + pyver: "3.11" + getpipurl: https://bootstrap.pypa.io/pip/get-pip.py + pypkg: python3.11 + pypkgadd: python3.11-distutils + pyengine_tag: cp311-cp311 + libc_tag: manylinux_2_17 - name: Ubuntu 24+16 amd64 CPython2.7 runs-on: ubuntu-latest matrix: linux @@ -232,6 +246,20 @@ jobs: getpipurl: https://bootstrap.pypa.io/pip/get-pip.py pyengine_tag: cp310-cp310 libc_tag: manylinux_2_17 + - name: Ubuntu 24+16 amd64 CPython3.11 + runs-on: ubuntu-latest + matrix: linux + arch: amd64 + tag_arch: x86_64 + release: xenial + mirror: http://azure.archive.ubuntu.com/ubuntu + version: 1.5.6.3 + pypkg: python3.11 + pypkgadd: python3.11-distutils + pyver: "3.11" + getpipurl: https://bootstrap.pypa.io/pip/get-pip.py + pyengine_tag: cp311-cp311 + libc_tag: manylinux_2_17 - name: Ubuntu 24+16 armhf CPython 2.7 runs-on: ubuntu-latest matrix: linux From 54d0ccb027f66e897f2c9433af854271acc654fa Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Sat, 8 Feb 2025 11:06:42 +0300 Subject: [PATCH 106/353] Update debug_build-wheels.yml --- .github/workflows/debug_build-wheels.yml | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/.github/workflows/debug_build-wheels.yml b/.github/workflows/debug_build-wheels.yml index 03b951bd5..bb9ad9301 100644 --- a/.github/workflows/debug_build-wheels.yml +++ b/.github/workflows/debug_build-wheels.yml @@ -1,4 +1,4 @@ -name: Debug build wheels +name: Build wheels w/o cibw on: [push, pull_request] @@ -114,7 +114,7 @@ jobs: matrix: linux arch: i386 tag_arch: i686 - release: xenial + release: focal mirror: http://azure.archive.ubuntu.com/ubuntu version: 1.5.6.3 pyver: "3.10" @@ -122,13 +122,13 @@ jobs: pypkg: python3.10 pypkgadd: python3.10-distutils pyengine_tag: cp310-cp310 - libc_tag: manylinux_2_17 + libc_tag: manylinux_2_19 - name: Ubuntu 24+16 i386 CPython 3.11 runs-on: ubuntu-latest matrix: linux arch: i386 tag_arch: i686 - release: xenial + release: focal mirror: http://azure.archive.ubuntu.com/ubuntu version: 1.5.6.3 pyver: "3.11" @@ -136,7 +136,7 @@ jobs: pypkg: python3.11 pypkgadd: python3.11-distutils pyengine_tag: cp311-cp311 - libc_tag: manylinux_2_17 + libc_tag: manylinux_2_19 - name: Ubuntu 24+16 amd64 CPython2.7 runs-on: ubuntu-latest matrix: linux @@ -237,7 +237,7 @@ jobs: matrix: linux arch: amd64 tag_arch: x86_64 - release: xenial + release: focal mirror: http://azure.archive.ubuntu.com/ubuntu version: 1.5.6.3 pypkg: python3.10 @@ -245,13 +245,13 @@ jobs: pyver: "3.10" getpipurl: https://bootstrap.pypa.io/pip/get-pip.py pyengine_tag: cp310-cp310 - libc_tag: manylinux_2_17 + libc_tag: manylinux_2_19 - name: Ubuntu 24+16 amd64 CPython3.11 runs-on: ubuntu-latest matrix: linux arch: amd64 tag_arch: x86_64 - release: xenial + release: focal mirror: http://azure.archive.ubuntu.com/ubuntu version: 1.5.6.3 pypkg: python3.11 @@ -259,7 +259,7 @@ jobs: pyver: "3.11" getpipurl: https://bootstrap.pypa.io/pip/get-pip.py pyengine_tag: cp311-cp311 - libc_tag: manylinux_2_17 + libc_tag: manylinux_2_19 - name: Ubuntu 24+16 armhf CPython 2.7 runs-on: ubuntu-latest matrix: linux From 582bf1f3d17d786a40bf9276cbb2e7500b13e953 Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Sat, 8 Feb 2025 11:12:55 +0300 Subject: [PATCH 107/353] Update debug_build-wheels.yml --- .github/workflows/debug_build-wheels.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/debug_build-wheels.yml b/.github/workflows/debug_build-wheels.yml index bb9ad9301..a97ef9068 100644 --- a/.github/workflows/debug_build-wheels.yml +++ b/.github/workflows/debug_build-wheels.yml @@ -338,7 +338,7 @@ jobs: - name: Debootstrap Ubuntu ${{matrix.os.release}} ${{matrix.os.arch}} if: matrix.os.matrix == 'linux' run: | - sudo debootstrap --verbose --include=sudo,wget,curl,ca-certificates --arch=${{matrix.os.arch}} ${{matrix.os.release}} ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} ${{matrix.os.mirror}} || tail ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/debootstrap/debootstrap.log + sudo debootstrap --no-merged-usr --verbose --include=sudo,wget,curl,ca-certificates --arch=${{matrix.os.arch}} ${{matrix.os.release}} ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} ${{matrix.os.mirror}} || tail ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/debootstrap/debootstrap.log - name: Update and Upgrade Ubuntu ${{matrix.os.release}} if: matrix.os.matrix == 'linux' From 3c6dc30288eb31faaa7783cf68056c37d0d25596 Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Sat, 8 Feb 2025 11:54:43 +0300 Subject: [PATCH 108/353] Update debug_build-wheels.yml --- .github/workflows/debug_build-wheels.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/debug_build-wheels.yml b/.github/workflows/debug_build-wheels.yml index a97ef9068..69e0b462e 100644 --- a/.github/workflows/debug_build-wheels.yml +++ b/.github/workflows/debug_build-wheels.yml @@ -327,6 +327,7 @@ jobs: sudo apt install -y zram-config; sudo apt list --upgradable; sudo apt upgrade -y; + sudo apt install -f - name: Build source distribution with Ubuntu if: matrix.os.matrix == 'linux' From 9cf0e58d6afb549149ddcb48ce58e1476bfdb589 Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Sat, 8 Feb 2025 13:10:01 +0300 Subject: [PATCH 109/353] Update debug_build-wheels.yml --- .github/workflows/debug_build-wheels.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/debug_build-wheels.yml b/.github/workflows/debug_build-wheels.yml index 69e0b462e..3e7e79e74 100644 --- a/.github/workflows/debug_build-wheels.yml +++ b/.github/workflows/debug_build-wheels.yml @@ -109,7 +109,7 @@ jobs: pypkgadd: python3.9-distutils pyengine_tag: cp39-cp39 libc_tag: manylinux_2_17 - - name: Ubuntu 24+16 i386 CPython 3.10 + - name: Ubuntu 24+20 i386 CPython 3.10 runs-on: ubuntu-latest matrix: linux arch: i386 @@ -123,7 +123,7 @@ jobs: pypkgadd: python3.10-distutils pyengine_tag: cp310-cp310 libc_tag: manylinux_2_19 - - name: Ubuntu 24+16 i386 CPython 3.11 + - name: Ubuntu 24+20 i386 CPython 3.11 runs-on: ubuntu-latest matrix: linux arch: i386 @@ -232,7 +232,7 @@ jobs: getpipurl: https://bootstrap.pypa.io/pip/get-pip.py pyengine_tag: cp39-cp39 libc_tag: manylinux_2_17 - - name: Ubuntu 24+16 amd64 CPython3.10 + - name: Ubuntu 24+20 amd64 CPython3.10 runs-on: ubuntu-latest matrix: linux arch: amd64 @@ -246,7 +246,7 @@ jobs: getpipurl: https://bootstrap.pypa.io/pip/get-pip.py pyengine_tag: cp310-cp310 libc_tag: manylinux_2_19 - - name: Ubuntu 24+16 amd64 CPython3.11 + - name: Ubuntu 24+20 amd64 CPython3.11 runs-on: ubuntu-latest matrix: linux arch: amd64 From be76f664df8354e5c0c24e9a89b96df1a061ffa4 Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Sat, 8 Feb 2025 13:13:20 +0300 Subject: [PATCH 110/353] Update debug_build-wheels.yml --- .github/workflows/debug_build-wheels.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/debug_build-wheels.yml b/.github/workflows/debug_build-wheels.yml index 3e7e79e74..d5191d609 100644 --- a/.github/workflows/debug_build-wheels.yml +++ b/.github/workflows/debug_build-wheels.yml @@ -361,6 +361,9 @@ jobs: 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' sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /usr/bin/apt update sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /usr/bin/apt upgrade -y + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /usr/bin/apt -fy install + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /usr/bin/apt upgrade -y + - name: Pepare dev files if: matrix.os.matrix == 'linux' From 0edbdadf2f0d8ee0980c7dc5a526f355affa165a Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Sat, 8 Feb 2025 13:22:48 +0300 Subject: [PATCH 111/353] Create Build_wheels_for_cpython27.yml --- .../workflows/Build_wheels_for_cpython27.yml | 762 ++++++++++++++++++ 1 file changed, 762 insertions(+) create mode 100644 .github/workflows/Build_wheels_for_cpython27.yml diff --git a/.github/workflows/Build_wheels_for_cpython27.yml b/.github/workflows/Build_wheels_for_cpython27.yml new file mode 100644 index 000000000..113773126 --- /dev/null +++ b/.github/workflows/Build_wheels_for_cpython27.yml @@ -0,0 +1,762 @@ +name: Build wheels w/o cibw for CPython2.7 x86 + +on: [push, pull_request] + +concurrency: + group: ${{ github.ref }}-${{ github.workflow }}-${{ github.event_name }}-${{ github.ref == format('refs/heads/{0}', github.event.repository.default_branch) && github.sha || '' }} + cancel-in-progress: true + +jobs: + build_wheels: + name: Build wheel - ${{ matrix.os.name }} + runs-on: ${{ matrix.os.runs-on }} + strategy: + fail-fast: false + matrix: + os: + - name: Ubuntu 24+16 i386 CPython 2.7 + runs-on: ubuntu-latest + matrix: linux + arch: i386 + tag_arch: i686 + release: xenial + mirror: http://azure.archive.ubuntu.com/ubuntu + version: 1.5.6.3 + pyver: "2.7" + getpipurl: https://bootstrap.pypa.io/pip/2.7/get-pip.py + pypkg: python2.7 + pyengine_tag: cp27-cp27mu + libc_tag: manylinux_2_17 + steps: + - name: Checkout code + uses: actions/checkout@v4 + with: + submodules: 'recursive' + + - uses: actions/setup-python@v5 + name: Install Python + with: + python-version: '3.12' + + - name: Prepare python + run: | + python -m pip install --upgrade pip + + - name: Set up QEMU + if: matrix.os.matrix == 'linux' + uses: docker/setup-qemu-action@v1 + with: + platforms: 'arm64' + + - name: Update and upgrade Ubuntu 24 + if: matrix.os.matrix == 'linux' + run: | + sudo which apt + sudo apt update; + sudo apt purge -y firefox lxd snapd; + sudo apt install -y zram-config; + sudo apt list --upgradable; + sudo apt upgrade -y; + sudo apt install -f + + - name: Build source distribution with Ubuntu + if: matrix.os.matrix == 'linux' + run: | + sudo apt install -y devscripts debootstrap qemu-user; + pip install build; + python -m build --sdist --outdir dist . + + - name: Debootstrap Ubuntu ${{matrix.os.release}} ${{matrix.os.arch}} + if: matrix.os.matrix == 'linux' + run: | + sudo debootstrap --no-merged-usr --verbose --include=sudo,wget,curl,ca-certificates --arch=${{matrix.os.arch}} ${{matrix.os.release}} ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} ${{matrix.os.mirror}} || tail ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/debootstrap/debootstrap.log + + - name: Update and Upgrade Ubuntu ${{matrix.os.release}} + if: matrix.os.matrix == 'linux' + run: | + sudo mkdir -p ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel + 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 + 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' + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /usr/bin/apt update + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /usr/bin/apt upgrade -y + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /usr/bin/apt -fy install + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /usr/bin/apt upgrade -y + + + - 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 + + - 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}} /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'" + + - name: Pepare source and build wheel for ${{matrix.os.pypkg}} ${{matrix.os.arch}} + if: matrix.os.matrix == 'linux' + run: | + sudo mkdir -p ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel/ + sudo tar -xvf dist/zstd-${{matrix.os.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}} /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}} && ZSTD_ASM=1 _ZSTD_ASM_BMI2=1 ZSTD_THREADS=1 _ZSTD_EXTERNAL=0 python${{matrix.os.pyver}} setup.py bdist_wheel clean" + + - name: Test wheel for ${{matrix.os.pypkg}} ${{matrix.os.arch}} + if: matrix.os.matrix == 'linux' + run: | + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}} && python${{matrix.os.pyver}} setup.py test" + + - name: Pepare wheel for upload + if: matrix.os.matrix == 'linux' + run: | + sudo cp -v ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel/zstd-${{matrix.os.version}}/dist/* ./dist + sudo ls -lh ./dist/* + sudo mv -v ./dist/"zstd-${{matrix.os.version}}-${{matrix.os.pyengine_tag}}-linux_${{matrix.os.tag_arch}}.whl" ./dist/"zstd-${{matrix.os.version}}-${{matrix.os.pyengine_tag}}-${{matrix.os.libc_tag}}_${{matrix.os.tag_arch}}.whl" + sudo rm -vf ./dist/*.tar.gz + + - name: Build ${{ matrix.os.name }} wheels and test (old) + uses: pypa/cibuildwheel@v1.12.0 + if: matrix.cibw.group == 'old' + with: + output-dir: dist + env: + CIBW_BUILD: ${{ matrix.cibw.build }} + # Skip 32-bit builds // NO + # CIBW_SKIP: '*-win32 *_i686' + CIBW_MANYLINUX_I686_IMAGE: manylinux1 + CIBW_MANYLINUX_X86_64_IMAGE: manylinux1 + CIBW_MUSLLINUX_I686_IMAGE: musllinux_1_2 + CIBW_MUSLLINUX_X86_64_IMAGE: musllinux_1_2 + # Only build on x86 and arm64 for linux + CIBW_ARCHS_LINUX: i686 x86_64 + CIBW_BEFORE_ALL_LINUX: > + python -m pip install --upgrade pip + # CIBW_ARCHS_MACOS: x86_64 arm64 universal2 + # Building two wheels for MacOS and skipping Universal + CIBW_ARCHS_MACOS: x86_64 + # Skip testing Apple Silicon until there are GH runners + CIBW_TEST_SKIP: '*_arm64 *_universal2:arm64' + CIBW_BEFORE_ALL_MACOS: > + python -m pip install --upgrade pip + # CIBW_ENVIRONMENT_MACOS: MACOSX_DEPLOYMENT_TARGET=11.7 + CIBW_BUILD_VERBOSITY_MACOS: 0 + CIBW_BEFORE_ALL_WINDOWS: > + python -m pip install --upgrade pip + CIBW_TEST_COMMAND: > + python -m unittest discover -v -s {package} + + - name: Build ${{ matrix.os.name }} wheels and test (new) + uses: joerick/cibuildwheel@v2.22.0 + if: matrix.cibw.group == 'new' + with: + output-dir: dist + env: + CIBW_BUILD: ${{ matrix.cibw.build }} + # Skip 32-bit builds // NO + # CIBW_SKIP: '*-win32 *_i686' + CIBW_MANYLINUX_I686_IMAGE: manylinux2014 + CIBW_MANYLINUX_X86_64_IMAGE: manylinux2014 + CIBW_MANYLINUX_AARCH64_IMAGE: manylinux2014 + CIBW_MUSLLINUX_I686_IMAGE: musllinux_1_1 + CIBW_MUSLLINUX_X86_64_IMAGE: musllinux_1_1 + # Only build on x86 and arm64 for linux + CIBW_ARCHS_LINUX: auto aarch64 + CIBW_BEFORE_ALL_LINUX: > + python -m pip install --upgrade pip + # CIBW_ARCHS_MACOS: x86_64 arm64 universal2 + # Building two wheels for MacOS and skipping Universal + CIBW_ARCHS_MACOS: x86_64 arm64 + # Skip testing Apple Silicon until there are GH runners + CIBW_TEST_SKIP: '*_arm64 *_universal2:arm64' + CIBW_BEFORE_ALL_MACOS: > + python -m pip install --upgrade pip + # CIBW_ENVIRONMENT_MACOS: MACOSX_DEPLOYMENT_TARGET=11.7 + CIBW_BUILD_VERBOSITY_MACOS: 0 + CIBW_BEFORE_ALL_WINDOWS: > + python -m pip install --upgrade pip + CIBW_TEST_COMMAND: > + python -m unittest discover -v -s {package} + +# - name: Upload artifacts +# uses: actions/upload-artifact@v4 +# with: +# name: wheels +#. path: ./dist +# compression-level: 0 + + - name: Test for secrets access + id: check_secrets + # If a third party makes a pull request + # this allows automated steps below to be skipped + # and leave a clean PR CI run + shell: bash + run: | + unset HAS_SECRET + unset HAS_SECRET_TEST + if [ -n "$SECRET" ]; then HAS_SECRET='true' ; fi + if [ -n "$SECRET_TEST" ]; then HAS_SECRET_TEST='true' ; fi + echo ::set-output name=HAS_SECRET::${HAS_SECRET} + echo ::set-output name=HAS_SECRET_TEST::${HAS_SECRET_TEST} + env: + SECRET: "${{ secrets.pypi_password }}" + SECRET_TEST: "${{ secrets.test_pypi_password }}" + + - name: Install twine + run: pip install twine + + - name: Publish distribution to PyPI + if: > + startsWith(github.event.ref, 'refs/tags') && + steps.check_secrets.outputs.HAS_SECRET + env: + # If the PR/Push has secret access + # and PYPI_PASSWORD is in GH Secrets for this repo + # and this is a tag, publish to PyPI + TWINE_REPOSITORY_URL: https://upload.pypi.org/legacy/ + TWINE_USERNAME: "${{ secrets.pypi_username }}" + TWINE_NON_INTERACTIVE: 1 + TWINE_PASSWORD: "${{ secrets.pypi_password }}" + run: twine upload --non-interactive --skip-existing --verbose 'dist/*' + + - name: Publish distribution to Test PyPI + if: steps.check_secrets.outputs.HAS_SECRET + env: + # If the PR/Push has secret access + # and TEST_PYPI_PASSWORD is in GH Secrets for this repo + # then publish each build to test PyPI + TWINE_REPOSITORY_URL: https://test.pypi.org/legacy/ + TWINE_USERNAME: "${{ secrets.test_pypi_username }}" + TWINE_NON_INTERACTIVE: 1 + TWINE_PASSWORD: "${{ secrets.test_pypi_password }}" + run: twine upload --non-interactive --skip-existing --verbose 'dist/*' +name: Build wheels w/o cibw + +on: [push, pull_request] + +concurrency: + group: ${{ github.ref }}-${{ github.workflow }}-${{ github.event_name }}-${{ github.ref == format('refs/heads/{0}', github.event.repository.default_branch) && github.sha || '' }} + cancel-in-progress: true + +jobs: + build_wheels: + name: Build wheel - ${{ matrix.os.name }} + runs-on: ${{ matrix.os.runs-on }} + strategy: + fail-fast: false + matrix: + os: + - name: Ubuntu 24+16 i386 CPython 2.7 + runs-on: ubuntu-latest + matrix: linux + arch: i386 + tag_arch: i686 + release: xenial + mirror: http://azure.archive.ubuntu.com/ubuntu + version: 1.5.6.3 + pyver: "2.7" + getpipurl: https://bootstrap.pypa.io/pip/2.7/get-pip.py + pypkg: python2.7 + pyengine_tag: cp27-cp27mu + libc_tag: manylinux_2_17 + - name: Ubuntu 24+16 i386 CPython 3.4 + runs-on: ubuntu-latest + matrix: linux + arch: i386 + tag_arch: i686 + release: xenial + mirror: http://azure.archive.ubuntu.com/ubuntu + version: 1.5.6.3 + 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_17 + - name: Ubuntu 24+16 i386 CPython 3.5 + runs-on: ubuntu-latest + matrix: linux + arch: i386 + tag_arch: i686 + release: xenial + mirror: http://azure.archive.ubuntu.com/ubuntu + version: 1.5.6.3 + pyver: "3.5" + getpipurl: https://bootstrap.pypa.io/pip/3.5/get-pip.py + pypkg: python3.5 + pyengine_tag: cp35-cp35m + libc_tag: manylinux_2_17 + - name: Ubuntu 24+16 i386 CPython 3.6 + runs-on: ubuntu-latest + matrix: linux + arch: i386 + tag_arch: i686 + release: xenial + mirror: http://azure.archive.ubuntu.com/ubuntu + version: 1.5.6.3 + pyver: "3.6" + getpipurl: https://bootstrap.pypa.io/pip/3.6/get-pip.py + pypkg: python3.6 + pypkgadd: python3.6-distutils + pyengine_tag: cp36-cp36m + libc_tag: manylinux_2_17 + - name: Ubuntu 24+16 i386 CPython 3.7 + runs-on: ubuntu-latest + matrix: linux + arch: i386 + tag_arch: i686 + release: xenial + mirror: http://azure.archive.ubuntu.com/ubuntu + version: 1.5.6.3 + pyver: "3.7" + getpipurl: https://bootstrap.pypa.io/pip/3.7/get-pip.py + pypkg: python3.7 + pypkgadd: python3.7-distutils + pyengine_tag: cp37-cp37m + libc_tag: manylinux_2_17 + - name: Ubuntu 24+16 i386 CPython 3.8 + runs-on: ubuntu-latest + matrix: linux + arch: i386 + tag_arch: i686 + release: xenial + mirror: http://azure.archive.ubuntu.com/ubuntu + version: 1.5.6.3 + pyver: "3.8" + getpipurl: https://bootstrap.pypa.io/pip/get-pip.py + pypkg: python3.8 + pypkgadd: python3.8-distutils + pyengine_tag: cp38-cp38 + libc_tag: manylinux_2_17 + - name: Ubuntu 24+16 i386 CPython 3.9 + runs-on: ubuntu-latest + matrix: linux + arch: i386 + tag_arch: i686 + release: xenial + mirror: http://azure.archive.ubuntu.com/ubuntu + version: 1.5.6.3 + pyver: "3.9" + getpipurl: https://bootstrap.pypa.io/pip/get-pip.py + pypkg: python3.9 + pypkgadd: python3.9-distutils + pyengine_tag: cp39-cp39 + libc_tag: manylinux_2_17 + - name: Ubuntu 24+20 i386 CPython 3.10 + runs-on: ubuntu-latest + matrix: linux + arch: i386 + tag_arch: i686 + release: focal + mirror: http://azure.archive.ubuntu.com/ubuntu + version: 1.5.6.3 + pyver: "3.10" + getpipurl: https://bootstrap.pypa.io/pip/get-pip.py + pypkg: python3.10 + pypkgadd: python3.10-distutils + pyengine_tag: cp310-cp310 + libc_tag: manylinux_2_19 + - name: Ubuntu 24+20 i386 CPython 3.11 + runs-on: ubuntu-latest + matrix: linux + arch: i386 + tag_arch: i686 + release: focal + mirror: http://azure.archive.ubuntu.com/ubuntu + version: 1.5.6.3 + pyver: "3.11" + getpipurl: https://bootstrap.pypa.io/pip/get-pip.py + pypkg: python3.11 + pypkgadd: python3.11-distutils + pyengine_tag: cp311-cp311 + libc_tag: manylinux_2_19 + - name: Ubuntu 24+16 amd64 CPython2.7 + runs-on: ubuntu-latest + matrix: linux + arch: amd64 + tag_arch: x86_64 + release: xenial + mirror: http://azure.archive.ubuntu.com/ubuntu + version: 1.5.6.3 + pypkg: python2.7 + pyver: "2.7" + getpipurl: https://bootstrap.pypa.io/pip/2.7/get-pip.py + pyengine_tag: cp27-cp27mu + libc_tag: manylinux_2_17 + - name: Ubuntu 24+16 amd64 CPython3.4 + runs-on: ubuntu-latest + matrix: linux + arch: amd64 + tag_arch: x86_64 + release: xenial + mirror: http://azure.archive.ubuntu.com/ubuntu + version: 1.5.6.3 + pypkg: python3.4 + pyver: "3.4" + getpipurl: https://bootstrap.pypa.io/pip/3.4/get-pip.py + pyengine_tag: cp34-cp34m + libc_tag: manylinux_2_17 + - name: Ubuntu 24+16 amd64 CPython3.5 + runs-on: ubuntu-latest + matrix: linux + arch: amd64 + tag_arch: x86_64 + release: xenial + mirror: http://azure.archive.ubuntu.com/ubuntu + version: 1.5.6.3 + pypkg: python3.5 + pyver: "3.5" + getpipurl: https://bootstrap.pypa.io/pip/3.5/get-pip.py + pyengine_tag: cp35-cp35m + libc_tag: manylinux_2_17 + - name: Ubuntu 24+16 amd64 CPython3.6 + runs-on: ubuntu-latest + matrix: linux + arch: amd64 + tag_arch: x86_64 + release: xenial + mirror: http://azure.archive.ubuntu.com/ubuntu + version: 1.5.6.3 + pypkg: python3.6 + pypkgadd: python3.6-distutils + pyver: "3.6" + getpipurl: https://bootstrap.pypa.io/pip/3.6/get-pip.py + pyengine_tag: cp36-cp36m + libc_tag: manylinux_2_17 + - name: Ubuntu 24+16 amd64 CPython3.7 + runs-on: ubuntu-latest + matrix: linux + arch: amd64 + tag_arch: x86_64 + release: xenial + mirror: http://azure.archive.ubuntu.com/ubuntu + version: 1.5.6.3 + pypkg: python3.7 + pypkgadd: python3.7-distutils + pyver: "3.7" + getpipurl: https://bootstrap.pypa.io/pip/3.7/get-pip.py + pyengine_tag: cp37-cp37m + libc_tag: manylinux_2_17 + - name: Ubuntu 24+16 amd64 CPython3.8 + runs-on: ubuntu-latest + matrix: linux + arch: amd64 + tag_arch: x86_64 + release: xenial + mirror: http://azure.archive.ubuntu.com/ubuntu + version: 1.5.6.3 + pypkg: python3.8 + pypkgadd: python3.8-distutils + pyver: "3.8" + getpipurl: https://bootstrap.pypa.io/pip/get-pip.py + pyengine_tag: cp38-cp38 + libc_tag: manylinux_2_17 + - name: Ubuntu 24+16 amd64 CPython3.9 + runs-on: ubuntu-latest + matrix: linux + arch: amd64 + tag_arch: x86_64 + release: xenial + mirror: http://azure.archive.ubuntu.com/ubuntu + version: 1.5.6.3 + pypkg: python3.9 + pypkgadd: python3.9-distutils + pyver: "3.9" + getpipurl: https://bootstrap.pypa.io/pip/get-pip.py + pyengine_tag: cp39-cp39 + libc_tag: manylinux_2_17 + - name: Ubuntu 24+20 amd64 CPython3.10 + runs-on: ubuntu-latest + matrix: linux + arch: amd64 + tag_arch: x86_64 + release: focal + mirror: http://azure.archive.ubuntu.com/ubuntu + version: 1.5.6.3 + pypkg: python3.10 + pypkgadd: python3.10-distutils + pyver: "3.10" + getpipurl: https://bootstrap.pypa.io/pip/get-pip.py + pyengine_tag: cp310-cp310 + libc_tag: manylinux_2_19 + - name: Ubuntu 24+20 amd64 CPython3.11 + runs-on: ubuntu-latest + matrix: linux + arch: amd64 + tag_arch: x86_64 + release: focal + mirror: http://azure.archive.ubuntu.com/ubuntu + version: 1.5.6.3 + pypkg: python3.11 + pypkgadd: python3.11-distutils + pyver: "3.11" + getpipurl: https://bootstrap.pypa.io/pip/get-pip.py + pyengine_tag: cp311-cp311 + libc_tag: manylinux_2_19 + - name: Ubuntu 24+16 armhf CPython 2.7 + runs-on: ubuntu-latest + matrix: linux + arch: armhf + release: xenial + mirror: http://ports.ubuntu.com/ubuntu-ports + version: 1.5.6.3 + pypkg: python2.7 + pyver: "2.7" + getpipurl: https://bootstrap.pypa.io/pip/2.7/get-pip.py + pyengine_tag: cp27-cp27mu + libc_tag: manylinux_2_17 + - name: Ubuntu 24+16 arm64 CPython 2.7 + runs-on: ubuntu-latest + matrix: linux + arch: arm64 + release: xenial + mirror: http://ports.ubuntu.com/ubuntu-ports + version: 1.5.6.3 + pypkg: python2.7 + pyver: "2.7" + getpipurl: https://bootstrap.pypa.io/pip/2.7/get-pip.py + pyengine_tag: cp27-cp27mu + libc_tag: manylinux_2_17 + - name: Ubuntu 24+20 riscv64 CPython 2.7 + runs-on: ubuntu-latest + matrix: linux + arch: riscv64 + release: focal + mirror: http://ports.ubuntu.com/ubuntu-ports + version: 1.5.6.3 + pypkg: python2.7 + pyver: "2.7" + getpipurl: https://bootstrap.pypa.io/pip/2.7/get-pip.py + pyengine_tag: cp27-cp27mu + libc_tag: manylinux_2_19 + + steps: + - name: Checkout code + uses: actions/checkout@v4 + with: + submodules: 'recursive' + + - uses: actions/setup-python@v5 + name: Install Python + with: + python-version: '3.12' + + - name: Prepare python + run: | + python -m pip install --upgrade pip + + - name: Set up QEMU + if: matrix.os.matrix == 'linux' + uses: docker/setup-qemu-action@v1 + with: + platforms: 'arm64' + + - name: Update and upgrade Ubuntu 24 + if: matrix.os.matrix == 'linux' + run: | + sudo which apt + sudo apt update; + sudo apt purge -y firefox lxd snapd; + sudo apt install -y zram-config; + sudo apt list --upgradable; + sudo apt upgrade -y; + sudo apt install -f + + - name: Build source distribution with Ubuntu + if: matrix.os.matrix == 'linux' + run: | + sudo apt install -y devscripts debootstrap qemu-user; + pip install build; + python -m build --sdist --outdir dist . + + - name: Debootstrap Ubuntu ${{matrix.os.release}} ${{matrix.os.arch}} + if: matrix.os.matrix == 'linux' + run: | + sudo debootstrap --no-merged-usr --verbose --include=sudo,wget,curl,ca-certificates --arch=${{matrix.os.arch}} ${{matrix.os.release}} ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} ${{matrix.os.mirror}} || tail ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/debootstrap/debootstrap.log + + - name: Update and Upgrade Ubuntu ${{matrix.os.release}} + if: matrix.os.matrix == 'linux' + run: | + sudo mkdir -p ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel + 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 + 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' + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /usr/bin/apt update + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /usr/bin/apt upgrade -y + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /usr/bin/apt -fy install + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /usr/bin/apt upgrade -y + + + - 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 + + - 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}} /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'" + + - name: Pepare source and build wheel for ${{matrix.os.pypkg}} ${{matrix.os.arch}} + if: matrix.os.matrix == 'linux' + run: | + sudo mkdir -p ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel/ + sudo tar -xvf dist/zstd-${{matrix.os.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}} /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}} && ZSTD_ASM=1 _ZSTD_ASM_BMI2=1 ZSTD_THREADS=1 _ZSTD_EXTERNAL=0 python${{matrix.os.pyver}} setup.py bdist_wheel clean" + + - name: Test wheel for ${{matrix.os.pypkg}} ${{matrix.os.arch}} + if: matrix.os.matrix == 'linux' + run: | + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}} && python${{matrix.os.pyver}} setup.py test" + + - name: Pepare wheel for upload + if: matrix.os.matrix == 'linux' + run: | + sudo cp -v ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel/zstd-${{matrix.os.version}}/dist/* ./dist + sudo ls -lh ./dist/* + sudo mv -v ./dist/"zstd-${{matrix.os.version}}-${{matrix.os.pyengine_tag}}-linux_${{matrix.os.tag_arch}}.whl" ./dist/"zstd-${{matrix.os.version}}-${{matrix.os.pyengine_tag}}-${{matrix.os.libc_tag}}_${{matrix.os.tag_arch}}.whl" + sudo rm -vf ./dist/*.tar.gz + + - name: Build ${{ matrix.os.name }} wheels and test (old) + uses: pypa/cibuildwheel@v1.12.0 + if: matrix.cibw.group == 'old' + with: + output-dir: dist + env: + CIBW_BUILD: ${{ matrix.cibw.build }} + # Skip 32-bit builds // NO + # CIBW_SKIP: '*-win32 *_i686' + CIBW_MANYLINUX_I686_IMAGE: manylinux1 + CIBW_MANYLINUX_X86_64_IMAGE: manylinux1 + CIBW_MUSLLINUX_I686_IMAGE: musllinux_1_2 + CIBW_MUSLLINUX_X86_64_IMAGE: musllinux_1_2 + # Only build on x86 and arm64 for linux + CIBW_ARCHS_LINUX: i686 x86_64 + CIBW_BEFORE_ALL_LINUX: > + python -m pip install --upgrade pip + # CIBW_ARCHS_MACOS: x86_64 arm64 universal2 + # Building two wheels for MacOS and skipping Universal + CIBW_ARCHS_MACOS: x86_64 + # Skip testing Apple Silicon until there are GH runners + CIBW_TEST_SKIP: '*_arm64 *_universal2:arm64' + CIBW_BEFORE_ALL_MACOS: > + python -m pip install --upgrade pip + # CIBW_ENVIRONMENT_MACOS: MACOSX_DEPLOYMENT_TARGET=11.7 + CIBW_BUILD_VERBOSITY_MACOS: 0 + CIBW_BEFORE_ALL_WINDOWS: > + python -m pip install --upgrade pip + CIBW_TEST_COMMAND: > + python -m unittest discover -v -s {package} + + - name: Build ${{ matrix.os.name }} wheels and test (new) + uses: joerick/cibuildwheel@v2.22.0 + if: matrix.cibw.group == 'new' + with: + output-dir: dist + env: + CIBW_BUILD: ${{ matrix.cibw.build }} + # Skip 32-bit builds // NO + # CIBW_SKIP: '*-win32 *_i686' + CIBW_MANYLINUX_I686_IMAGE: manylinux2014 + CIBW_MANYLINUX_X86_64_IMAGE: manylinux2014 + CIBW_MANYLINUX_AARCH64_IMAGE: manylinux2014 + CIBW_MUSLLINUX_I686_IMAGE: musllinux_1_1 + CIBW_MUSLLINUX_X86_64_IMAGE: musllinux_1_1 + # Only build on x86 and arm64 for linux + CIBW_ARCHS_LINUX: auto aarch64 + CIBW_BEFORE_ALL_LINUX: > + python -m pip install --upgrade pip + # CIBW_ARCHS_MACOS: x86_64 arm64 universal2 + # Building two wheels for MacOS and skipping Universal + CIBW_ARCHS_MACOS: x86_64 arm64 + # Skip testing Apple Silicon until there are GH runners + CIBW_TEST_SKIP: '*_arm64 *_universal2:arm64' + CIBW_BEFORE_ALL_MACOS: > + python -m pip install --upgrade pip + # CIBW_ENVIRONMENT_MACOS: MACOSX_DEPLOYMENT_TARGET=11.7 + CIBW_BUILD_VERBOSITY_MACOS: 0 + CIBW_BEFORE_ALL_WINDOWS: > + python -m pip install --upgrade pip + CIBW_TEST_COMMAND: > + python -m unittest discover -v -s {package} + +# - name: Upload artifacts +# uses: actions/upload-artifact@v4 +# with: +# name: wheels +#. path: ./dist +# compression-level: 0 + + - name: Test for secrets access + id: check_secrets + # If a third party makes a pull request + # this allows automated steps below to be skipped + # and leave a clean PR CI run + shell: bash + run: | + unset HAS_SECRET + unset HAS_SECRET_TEST + if [ -n "$SECRET" ]; then HAS_SECRET='true' ; fi + if [ -n "$SECRET_TEST" ]; then HAS_SECRET_TEST='true' ; fi + echo ::set-output name=HAS_SECRET::${HAS_SECRET} + echo ::set-output name=HAS_SECRET_TEST::${HAS_SECRET_TEST} + env: + SECRET: "${{ secrets.pypi_password }}" + SECRET_TEST: "${{ secrets.test_pypi_password }}" + + - name: Install twine + run: pip install twine + + - name: Publish distribution to PyPI + if: > + startsWith(github.event.ref, 'refs/tags') && + steps.check_secrets.outputs.HAS_SECRET + env: + # If the PR/Push has secret access + # and PYPI_PASSWORD is in GH Secrets for this repo + # and this is a tag, publish to PyPI + TWINE_REPOSITORY_URL: https://upload.pypi.org/legacy/ + TWINE_USERNAME: "${{ secrets.pypi_username }}" + TWINE_NON_INTERACTIVE: 1 + TWINE_PASSWORD: "${{ secrets.pypi_password }}" + run: twine upload --non-interactive --skip-existing --verbose 'dist/*' + + - name: Publish distribution to Test PyPI + if: steps.check_secrets.outputs.HAS_SECRET + env: + # If the PR/Push has secret access + # and TEST_PYPI_PASSWORD is in GH Secrets for this repo + # then publish each build to test PyPI + TWINE_REPOSITORY_URL: https://test.pypi.org/legacy/ + TWINE_USERNAME: "${{ secrets.test_pypi_username }}" + TWINE_NON_INTERACTIVE: 1 + TWINE_PASSWORD: "${{ secrets.test_pypi_password }}" + run: twine upload --non-interactive --skip-existing --verbose 'dist/*' From e7ef58b4954f4a8b3f80144ec362791d047b3d29 Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Sat, 8 Feb 2025 13:39:05 +0300 Subject: [PATCH 112/353] Update Build_wheels_for_cpython27.yml --- .../workflows/Build_wheels_for_cpython27.yml | 187 +----------------- 1 file changed, 1 insertion(+), 186 deletions(-) diff --git a/.github/workflows/Build_wheels_for_cpython27.yml b/.github/workflows/Build_wheels_for_cpython27.yml index 113773126..4d97f2062 100644 --- a/.github/workflows/Build_wheels_for_cpython27.yml +++ b/.github/workflows/Build_wheels_for_cpython27.yml @@ -244,6 +244,7 @@ jobs: TWINE_NON_INTERACTIVE: 1 TWINE_PASSWORD: "${{ secrets.test_pypi_password }}" run: twine upload --non-interactive --skip-existing --verbose 'dist/*' + name: Build wheels w/o cibw on: [push, pull_request] @@ -367,192 +368,6 @@ jobs: getpipurl: https://bootstrap.pypa.io/pip/get-pip.py pypkg: python3.10 pypkgadd: python3.10-distutils - pyengine_tag: cp310-cp310 - libc_tag: manylinux_2_19 - - name: Ubuntu 24+20 i386 CPython 3.11 - runs-on: ubuntu-latest - matrix: linux - arch: i386 - tag_arch: i686 - release: focal - mirror: http://azure.archive.ubuntu.com/ubuntu - version: 1.5.6.3 - pyver: "3.11" - getpipurl: https://bootstrap.pypa.io/pip/get-pip.py - pypkg: python3.11 - pypkgadd: python3.11-distutils - pyengine_tag: cp311-cp311 - libc_tag: manylinux_2_19 - - name: Ubuntu 24+16 amd64 CPython2.7 - runs-on: ubuntu-latest - matrix: linux - arch: amd64 - tag_arch: x86_64 - release: xenial - mirror: http://azure.archive.ubuntu.com/ubuntu - version: 1.5.6.3 - pypkg: python2.7 - pyver: "2.7" - getpipurl: https://bootstrap.pypa.io/pip/2.7/get-pip.py - pyengine_tag: cp27-cp27mu - libc_tag: manylinux_2_17 - - name: Ubuntu 24+16 amd64 CPython3.4 - runs-on: ubuntu-latest - matrix: linux - arch: amd64 - tag_arch: x86_64 - release: xenial - mirror: http://azure.archive.ubuntu.com/ubuntu - version: 1.5.6.3 - pypkg: python3.4 - pyver: "3.4" - getpipurl: https://bootstrap.pypa.io/pip/3.4/get-pip.py - pyengine_tag: cp34-cp34m - libc_tag: manylinux_2_17 - - name: Ubuntu 24+16 amd64 CPython3.5 - runs-on: ubuntu-latest - matrix: linux - arch: amd64 - tag_arch: x86_64 - release: xenial - mirror: http://azure.archive.ubuntu.com/ubuntu - version: 1.5.6.3 - pypkg: python3.5 - pyver: "3.5" - getpipurl: https://bootstrap.pypa.io/pip/3.5/get-pip.py - pyengine_tag: cp35-cp35m - libc_tag: manylinux_2_17 - - name: Ubuntu 24+16 amd64 CPython3.6 - runs-on: ubuntu-latest - matrix: linux - arch: amd64 - tag_arch: x86_64 - release: xenial - mirror: http://azure.archive.ubuntu.com/ubuntu - version: 1.5.6.3 - pypkg: python3.6 - pypkgadd: python3.6-distutils - pyver: "3.6" - getpipurl: https://bootstrap.pypa.io/pip/3.6/get-pip.py - pyengine_tag: cp36-cp36m - libc_tag: manylinux_2_17 - - name: Ubuntu 24+16 amd64 CPython3.7 - runs-on: ubuntu-latest - matrix: linux - arch: amd64 - tag_arch: x86_64 - release: xenial - mirror: http://azure.archive.ubuntu.com/ubuntu - version: 1.5.6.3 - pypkg: python3.7 - pypkgadd: python3.7-distutils - pyver: "3.7" - getpipurl: https://bootstrap.pypa.io/pip/3.7/get-pip.py - pyengine_tag: cp37-cp37m - libc_tag: manylinux_2_17 - - name: Ubuntu 24+16 amd64 CPython3.8 - runs-on: ubuntu-latest - matrix: linux - arch: amd64 - tag_arch: x86_64 - release: xenial - mirror: http://azure.archive.ubuntu.com/ubuntu - version: 1.5.6.3 - pypkg: python3.8 - pypkgadd: python3.8-distutils - pyver: "3.8" - getpipurl: https://bootstrap.pypa.io/pip/get-pip.py - pyengine_tag: cp38-cp38 - libc_tag: manylinux_2_17 - - name: Ubuntu 24+16 amd64 CPython3.9 - runs-on: ubuntu-latest - matrix: linux - arch: amd64 - tag_arch: x86_64 - release: xenial - mirror: http://azure.archive.ubuntu.com/ubuntu - version: 1.5.6.3 - pypkg: python3.9 - pypkgadd: python3.9-distutils - pyver: "3.9" - getpipurl: https://bootstrap.pypa.io/pip/get-pip.py - pyengine_tag: cp39-cp39 - libc_tag: manylinux_2_17 - - name: Ubuntu 24+20 amd64 CPython3.10 - runs-on: ubuntu-latest - matrix: linux - arch: amd64 - tag_arch: x86_64 - release: focal - mirror: http://azure.archive.ubuntu.com/ubuntu - version: 1.5.6.3 - pypkg: python3.10 - pypkgadd: python3.10-distutils - pyver: "3.10" - getpipurl: https://bootstrap.pypa.io/pip/get-pip.py - pyengine_tag: cp310-cp310 - libc_tag: manylinux_2_19 - - name: Ubuntu 24+20 amd64 CPython3.11 - runs-on: ubuntu-latest - matrix: linux - arch: amd64 - tag_arch: x86_64 - release: focal - mirror: http://azure.archive.ubuntu.com/ubuntu - version: 1.5.6.3 - pypkg: python3.11 - pypkgadd: python3.11-distutils - pyver: "3.11" - getpipurl: https://bootstrap.pypa.io/pip/get-pip.py - pyengine_tag: cp311-cp311 - libc_tag: manylinux_2_19 - - name: Ubuntu 24+16 armhf CPython 2.7 - runs-on: ubuntu-latest - matrix: linux - arch: armhf - release: xenial - mirror: http://ports.ubuntu.com/ubuntu-ports - version: 1.5.6.3 - pypkg: python2.7 - pyver: "2.7" - getpipurl: https://bootstrap.pypa.io/pip/2.7/get-pip.py - pyengine_tag: cp27-cp27mu - libc_tag: manylinux_2_17 - - name: Ubuntu 24+16 arm64 CPython 2.7 - runs-on: ubuntu-latest - matrix: linux - arch: arm64 - release: xenial - mirror: http://ports.ubuntu.com/ubuntu-ports - version: 1.5.6.3 - pypkg: python2.7 - pyver: "2.7" - getpipurl: https://bootstrap.pypa.io/pip/2.7/get-pip.py - pyengine_tag: cp27-cp27mu - libc_tag: manylinux_2_17 - - name: Ubuntu 24+20 riscv64 CPython 2.7 - runs-on: ubuntu-latest - matrix: linux - arch: riscv64 - release: focal - mirror: http://ports.ubuntu.com/ubuntu-ports - version: 1.5.6.3 - pypkg: python2.7 - pyver: "2.7" - getpipurl: https://bootstrap.pypa.io/pip/2.7/get-pip.py - pyengine_tag: cp27-cp27mu - libc_tag: manylinux_2_19 - - steps: - - name: Checkout code - uses: actions/checkout@v4 - with: - submodules: 'recursive' - - - uses: actions/setup-python@v5 - name: Install Python - with: - python-version: '3.12' - name: Prepare python run: | From e502544fcf8eb5ef36ffd24628ff15fe562349ea Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Sat, 8 Feb 2025 14:37:21 +0300 Subject: [PATCH 113/353] Update Build_wheels_for_cpython27.yml --- .../workflows/Build_wheels_for_cpython27.yml | 331 ------------------ 1 file changed, 331 deletions(-) diff --git a/.github/workflows/Build_wheels_for_cpython27.yml b/.github/workflows/Build_wheels_for_cpython27.yml index 4d97f2062..31982d37b 100644 --- a/.github/workflows/Build_wheels_for_cpython27.yml +++ b/.github/workflows/Build_wheels_for_cpython27.yml @@ -244,334 +244,3 @@ jobs: TWINE_NON_INTERACTIVE: 1 TWINE_PASSWORD: "${{ secrets.test_pypi_password }}" run: twine upload --non-interactive --skip-existing --verbose 'dist/*' - -name: Build wheels w/o cibw - -on: [push, pull_request] - -concurrency: - group: ${{ github.ref }}-${{ github.workflow }}-${{ github.event_name }}-${{ github.ref == format('refs/heads/{0}', github.event.repository.default_branch) && github.sha || '' }} - cancel-in-progress: true - -jobs: - build_wheels: - name: Build wheel - ${{ matrix.os.name }} - runs-on: ${{ matrix.os.runs-on }} - strategy: - fail-fast: false - matrix: - os: - - name: Ubuntu 24+16 i386 CPython 2.7 - runs-on: ubuntu-latest - matrix: linux - arch: i386 - tag_arch: i686 - release: xenial - mirror: http://azure.archive.ubuntu.com/ubuntu - version: 1.5.6.3 - pyver: "2.7" - getpipurl: https://bootstrap.pypa.io/pip/2.7/get-pip.py - pypkg: python2.7 - pyengine_tag: cp27-cp27mu - libc_tag: manylinux_2_17 - - name: Ubuntu 24+16 i386 CPython 3.4 - runs-on: ubuntu-latest - matrix: linux - arch: i386 - tag_arch: i686 - release: xenial - mirror: http://azure.archive.ubuntu.com/ubuntu - version: 1.5.6.3 - 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_17 - - name: Ubuntu 24+16 i386 CPython 3.5 - runs-on: ubuntu-latest - matrix: linux - arch: i386 - tag_arch: i686 - release: xenial - mirror: http://azure.archive.ubuntu.com/ubuntu - version: 1.5.6.3 - pyver: "3.5" - getpipurl: https://bootstrap.pypa.io/pip/3.5/get-pip.py - pypkg: python3.5 - pyengine_tag: cp35-cp35m - libc_tag: manylinux_2_17 - - name: Ubuntu 24+16 i386 CPython 3.6 - runs-on: ubuntu-latest - matrix: linux - arch: i386 - tag_arch: i686 - release: xenial - mirror: http://azure.archive.ubuntu.com/ubuntu - version: 1.5.6.3 - pyver: "3.6" - getpipurl: https://bootstrap.pypa.io/pip/3.6/get-pip.py - pypkg: python3.6 - pypkgadd: python3.6-distutils - pyengine_tag: cp36-cp36m - libc_tag: manylinux_2_17 - - name: Ubuntu 24+16 i386 CPython 3.7 - runs-on: ubuntu-latest - matrix: linux - arch: i386 - tag_arch: i686 - release: xenial - mirror: http://azure.archive.ubuntu.com/ubuntu - version: 1.5.6.3 - pyver: "3.7" - getpipurl: https://bootstrap.pypa.io/pip/3.7/get-pip.py - pypkg: python3.7 - pypkgadd: python3.7-distutils - pyengine_tag: cp37-cp37m - libc_tag: manylinux_2_17 - - name: Ubuntu 24+16 i386 CPython 3.8 - runs-on: ubuntu-latest - matrix: linux - arch: i386 - tag_arch: i686 - release: xenial - mirror: http://azure.archive.ubuntu.com/ubuntu - version: 1.5.6.3 - pyver: "3.8" - getpipurl: https://bootstrap.pypa.io/pip/get-pip.py - pypkg: python3.8 - pypkgadd: python3.8-distutils - pyengine_tag: cp38-cp38 - libc_tag: manylinux_2_17 - - name: Ubuntu 24+16 i386 CPython 3.9 - runs-on: ubuntu-latest - matrix: linux - arch: i386 - tag_arch: i686 - release: xenial - mirror: http://azure.archive.ubuntu.com/ubuntu - version: 1.5.6.3 - pyver: "3.9" - getpipurl: https://bootstrap.pypa.io/pip/get-pip.py - pypkg: python3.9 - pypkgadd: python3.9-distutils - pyengine_tag: cp39-cp39 - libc_tag: manylinux_2_17 - - name: Ubuntu 24+20 i386 CPython 3.10 - runs-on: ubuntu-latest - matrix: linux - arch: i386 - tag_arch: i686 - release: focal - mirror: http://azure.archive.ubuntu.com/ubuntu - version: 1.5.6.3 - pyver: "3.10" - getpipurl: https://bootstrap.pypa.io/pip/get-pip.py - pypkg: python3.10 - pypkgadd: python3.10-distutils - - - name: Prepare python - run: | - python -m pip install --upgrade pip - - - name: Set up QEMU - if: matrix.os.matrix == 'linux' - uses: docker/setup-qemu-action@v1 - with: - platforms: 'arm64' - - - name: Update and upgrade Ubuntu 24 - if: matrix.os.matrix == 'linux' - run: | - sudo which apt - sudo apt update; - sudo apt purge -y firefox lxd snapd; - sudo apt install -y zram-config; - sudo apt list --upgradable; - sudo apt upgrade -y; - sudo apt install -f - - - name: Build source distribution with Ubuntu - if: matrix.os.matrix == 'linux' - run: | - sudo apt install -y devscripts debootstrap qemu-user; - pip install build; - python -m build --sdist --outdir dist . - - - name: Debootstrap Ubuntu ${{matrix.os.release}} ${{matrix.os.arch}} - if: matrix.os.matrix == 'linux' - run: | - sudo debootstrap --no-merged-usr --verbose --include=sudo,wget,curl,ca-certificates --arch=${{matrix.os.arch}} ${{matrix.os.release}} ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} ${{matrix.os.mirror}} || tail ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/debootstrap/debootstrap.log - - - name: Update and Upgrade Ubuntu ${{matrix.os.release}} - if: matrix.os.matrix == 'linux' - run: | - sudo mkdir -p ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel - 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 - 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' - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /usr/bin/apt update - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /usr/bin/apt upgrade -y - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /usr/bin/apt -fy install - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /usr/bin/apt upgrade -y - - - - 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 - - - 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}} /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'" - - - name: Pepare source and build wheel for ${{matrix.os.pypkg}} ${{matrix.os.arch}} - if: matrix.os.matrix == 'linux' - run: | - sudo mkdir -p ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel/ - sudo tar -xvf dist/zstd-${{matrix.os.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}} /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}} && ZSTD_ASM=1 _ZSTD_ASM_BMI2=1 ZSTD_THREADS=1 _ZSTD_EXTERNAL=0 python${{matrix.os.pyver}} setup.py bdist_wheel clean" - - - name: Test wheel for ${{matrix.os.pypkg}} ${{matrix.os.arch}} - if: matrix.os.matrix == 'linux' - run: | - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}} && python${{matrix.os.pyver}} setup.py test" - - - name: Pepare wheel for upload - if: matrix.os.matrix == 'linux' - run: | - sudo cp -v ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel/zstd-${{matrix.os.version}}/dist/* ./dist - sudo ls -lh ./dist/* - sudo mv -v ./dist/"zstd-${{matrix.os.version}}-${{matrix.os.pyengine_tag}}-linux_${{matrix.os.tag_arch}}.whl" ./dist/"zstd-${{matrix.os.version}}-${{matrix.os.pyengine_tag}}-${{matrix.os.libc_tag}}_${{matrix.os.tag_arch}}.whl" - sudo rm -vf ./dist/*.tar.gz - - - name: Build ${{ matrix.os.name }} wheels and test (old) - uses: pypa/cibuildwheel@v1.12.0 - if: matrix.cibw.group == 'old' - with: - output-dir: dist - env: - CIBW_BUILD: ${{ matrix.cibw.build }} - # Skip 32-bit builds // NO - # CIBW_SKIP: '*-win32 *_i686' - CIBW_MANYLINUX_I686_IMAGE: manylinux1 - CIBW_MANYLINUX_X86_64_IMAGE: manylinux1 - CIBW_MUSLLINUX_I686_IMAGE: musllinux_1_2 - CIBW_MUSLLINUX_X86_64_IMAGE: musllinux_1_2 - # Only build on x86 and arm64 for linux - CIBW_ARCHS_LINUX: i686 x86_64 - CIBW_BEFORE_ALL_LINUX: > - python -m pip install --upgrade pip - # CIBW_ARCHS_MACOS: x86_64 arm64 universal2 - # Building two wheels for MacOS and skipping Universal - CIBW_ARCHS_MACOS: x86_64 - # Skip testing Apple Silicon until there are GH runners - CIBW_TEST_SKIP: '*_arm64 *_universal2:arm64' - CIBW_BEFORE_ALL_MACOS: > - python -m pip install --upgrade pip - # CIBW_ENVIRONMENT_MACOS: MACOSX_DEPLOYMENT_TARGET=11.7 - CIBW_BUILD_VERBOSITY_MACOS: 0 - CIBW_BEFORE_ALL_WINDOWS: > - python -m pip install --upgrade pip - CIBW_TEST_COMMAND: > - python -m unittest discover -v -s {package} - - - name: Build ${{ matrix.os.name }} wheels and test (new) - uses: joerick/cibuildwheel@v2.22.0 - if: matrix.cibw.group == 'new' - with: - output-dir: dist - env: - CIBW_BUILD: ${{ matrix.cibw.build }} - # Skip 32-bit builds // NO - # CIBW_SKIP: '*-win32 *_i686' - CIBW_MANYLINUX_I686_IMAGE: manylinux2014 - CIBW_MANYLINUX_X86_64_IMAGE: manylinux2014 - CIBW_MANYLINUX_AARCH64_IMAGE: manylinux2014 - CIBW_MUSLLINUX_I686_IMAGE: musllinux_1_1 - CIBW_MUSLLINUX_X86_64_IMAGE: musllinux_1_1 - # Only build on x86 and arm64 for linux - CIBW_ARCHS_LINUX: auto aarch64 - CIBW_BEFORE_ALL_LINUX: > - python -m pip install --upgrade pip - # CIBW_ARCHS_MACOS: x86_64 arm64 universal2 - # Building two wheels for MacOS and skipping Universal - CIBW_ARCHS_MACOS: x86_64 arm64 - # Skip testing Apple Silicon until there are GH runners - CIBW_TEST_SKIP: '*_arm64 *_universal2:arm64' - CIBW_BEFORE_ALL_MACOS: > - python -m pip install --upgrade pip - # CIBW_ENVIRONMENT_MACOS: MACOSX_DEPLOYMENT_TARGET=11.7 - CIBW_BUILD_VERBOSITY_MACOS: 0 - CIBW_BEFORE_ALL_WINDOWS: > - python -m pip install --upgrade pip - CIBW_TEST_COMMAND: > - python -m unittest discover -v -s {package} - -# - name: Upload artifacts -# uses: actions/upload-artifact@v4 -# with: -# name: wheels -#. path: ./dist -# compression-level: 0 - - - name: Test for secrets access - id: check_secrets - # If a third party makes a pull request - # this allows automated steps below to be skipped - # and leave a clean PR CI run - shell: bash - run: | - unset HAS_SECRET - unset HAS_SECRET_TEST - if [ -n "$SECRET" ]; then HAS_SECRET='true' ; fi - if [ -n "$SECRET_TEST" ]; then HAS_SECRET_TEST='true' ; fi - echo ::set-output name=HAS_SECRET::${HAS_SECRET} - echo ::set-output name=HAS_SECRET_TEST::${HAS_SECRET_TEST} - env: - SECRET: "${{ secrets.pypi_password }}" - SECRET_TEST: "${{ secrets.test_pypi_password }}" - - - name: Install twine - run: pip install twine - - - name: Publish distribution to PyPI - if: > - startsWith(github.event.ref, 'refs/tags') && - steps.check_secrets.outputs.HAS_SECRET - env: - # If the PR/Push has secret access - # and PYPI_PASSWORD is in GH Secrets for this repo - # and this is a tag, publish to PyPI - TWINE_REPOSITORY_URL: https://upload.pypi.org/legacy/ - TWINE_USERNAME: "${{ secrets.pypi_username }}" - TWINE_NON_INTERACTIVE: 1 - TWINE_PASSWORD: "${{ secrets.pypi_password }}" - run: twine upload --non-interactive --skip-existing --verbose 'dist/*' - - - name: Publish distribution to Test PyPI - if: steps.check_secrets.outputs.HAS_SECRET - env: - # If the PR/Push has secret access - # and TEST_PYPI_PASSWORD is in GH Secrets for this repo - # then publish each build to test PyPI - TWINE_REPOSITORY_URL: https://test.pypi.org/legacy/ - TWINE_USERNAME: "${{ secrets.test_pypi_username }}" - TWINE_NON_INTERACTIVE: 1 - TWINE_PASSWORD: "${{ secrets.test_pypi_password }}" - run: twine upload --non-interactive --skip-existing --verbose 'dist/*' From 6756b0cf71808855dce285c55633422848ae136b Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Sat, 8 Feb 2025 14:53:16 +0300 Subject: [PATCH 114/353] Rename Build_wheels_for_cpython27.yml to Build_wheels_for_cpython27_x86.yml --- ...heels_for_cpython27.yml => Build_wheels_for_cpython27_x86.yml} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename .github/workflows/{Build_wheels_for_cpython27.yml => Build_wheels_for_cpython27_x86.yml} (100%) diff --git a/.github/workflows/Build_wheels_for_cpython27.yml b/.github/workflows/Build_wheels_for_cpython27_x86.yml similarity index 100% rename from .github/workflows/Build_wheels_for_cpython27.yml rename to .github/workflows/Build_wheels_for_cpython27_x86.yml From df327493bb1ccb9900eaed6292378a051256d256 Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Sat, 8 Feb 2025 14:55:30 +0300 Subject: [PATCH 115/353] Create Build_wheels_for_cpython27_x86_64.yml --- .../Build_wheels_for_cpython27_x86_64.yml | 246 ++++++++++++++++++ 1 file changed, 246 insertions(+) create mode 100644 .github/workflows/Build_wheels_for_cpython27_x86_64.yml diff --git a/.github/workflows/Build_wheels_for_cpython27_x86_64.yml b/.github/workflows/Build_wheels_for_cpython27_x86_64.yml new file mode 100644 index 000000000..39f3e1a73 --- /dev/null +++ b/.github/workflows/Build_wheels_for_cpython27_x86_64.yml @@ -0,0 +1,246 @@ +name: Build wheels w/o cibw for CPython2.7 x86_64 + +on: [push, pull_request] + +concurrency: + group: ${{ github.ref }}-${{ github.workflow }}-${{ github.event_name }}-${{ github.ref == format('refs/heads/{0}', github.event.repository.default_branch) && github.sha || '' }} + cancel-in-progress: true + +jobs: + build_wheels: + name: Build wheel - ${{ matrix.os.name }} + runs-on: ${{ matrix.os.runs-on }} + strategy: + fail-fast: false + matrix: + os: + - name: Ubuntu 24+16 i386 CPython 2.7 + runs-on: ubuntu-latest + matrix: linux + arch: amd64 + tag_arch: x86_64 + release: xenial + mirror: http://azure.archive.ubuntu.com/ubuntu + version: 1.5.6.3 + pyver: "2.7" + getpipurl: https://bootstrap.pypa.io/pip/2.7/get-pip.py + pypkg: python2.7 + pyengine_tag: cp27-cp27mu + libc_tag: manylinux_2_17 + steps: + - name: Checkout code + uses: actions/checkout@v4 + with: + submodules: 'recursive' + + - uses: actions/setup-python@v5 + name: Install Python + with: + python-version: '3.12' + + - name: Prepare python + run: | + python -m pip install --upgrade pip + + - name: Set up QEMU + if: matrix.os.matrix == 'linux' + uses: docker/setup-qemu-action@v1 + with: + platforms: 'arm64' + + - name: Update and upgrade Ubuntu 24 + if: matrix.os.matrix == 'linux' + run: | + sudo which apt + sudo apt update; + sudo apt purge -y firefox lxd snapd; + sudo apt install -y zram-config; + sudo apt list --upgradable; + sudo apt upgrade -y; + sudo apt install -f + + - name: Build source distribution with Ubuntu + if: matrix.os.matrix == 'linux' + run: | + sudo apt install -y devscripts debootstrap qemu-user; + pip install build; + python -m build --sdist --outdir dist . + + - name: Debootstrap Ubuntu ${{matrix.os.release}} ${{matrix.os.arch}} + if: matrix.os.matrix == 'linux' + run: | + sudo debootstrap --no-merged-usr --verbose --include=sudo,wget,curl,ca-certificates --arch=${{matrix.os.arch}} ${{matrix.os.release}} ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} ${{matrix.os.mirror}} || tail ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/debootstrap/debootstrap.log + + - name: Update and Upgrade Ubuntu ${{matrix.os.release}} + if: matrix.os.matrix == 'linux' + run: | + sudo mkdir -p ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel + 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 + 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' + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /usr/bin/apt update + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /usr/bin/apt upgrade -y + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /usr/bin/apt -fy install + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /usr/bin/apt upgrade -y + + + - 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 + + - 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}} /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'" + + - name: Pepare source and build wheel for ${{matrix.os.pypkg}} ${{matrix.os.arch}} + if: matrix.os.matrix == 'linux' + run: | + sudo mkdir -p ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel/ + sudo tar -xvf dist/zstd-${{matrix.os.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}} /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}} && ZSTD_ASM=1 _ZSTD_ASM_BMI2=1 ZSTD_THREADS=1 _ZSTD_EXTERNAL=0 python${{matrix.os.pyver}} setup.py bdist_wheel clean" + + - name: Test wheel for ${{matrix.os.pypkg}} ${{matrix.os.arch}} + if: matrix.os.matrix == 'linux' + run: | + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}} && python${{matrix.os.pyver}} setup.py test" + + - name: Pepare wheel for upload + if: matrix.os.matrix == 'linux' + run: | + sudo cp -v ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel/zstd-${{matrix.os.version}}/dist/* ./dist + sudo ls -lh ./dist/* + sudo mv -v ./dist/"zstd-${{matrix.os.version}}-${{matrix.os.pyengine_tag}}-linux_${{matrix.os.tag_arch}}.whl" ./dist/"zstd-${{matrix.os.version}}-${{matrix.os.pyengine_tag}}-${{matrix.os.libc_tag}}_${{matrix.os.tag_arch}}.whl" + sudo rm -vf ./dist/*.tar.gz + + - name: Build ${{ matrix.os.name }} wheels and test (old) + uses: pypa/cibuildwheel@v1.12.0 + if: matrix.cibw.group == 'old' + with: + output-dir: dist + env: + CIBW_BUILD: ${{ matrix.cibw.build }} + # Skip 32-bit builds // NO + # CIBW_SKIP: '*-win32 *_i686' + CIBW_MANYLINUX_I686_IMAGE: manylinux1 + CIBW_MANYLINUX_X86_64_IMAGE: manylinux1 + CIBW_MUSLLINUX_I686_IMAGE: musllinux_1_2 + CIBW_MUSLLINUX_X86_64_IMAGE: musllinux_1_2 + # Only build on x86 and arm64 for linux + CIBW_ARCHS_LINUX: i686 x86_64 + CIBW_BEFORE_ALL_LINUX: > + python -m pip install --upgrade pip + # CIBW_ARCHS_MACOS: x86_64 arm64 universal2 + # Building two wheels for MacOS and skipping Universal + CIBW_ARCHS_MACOS: x86_64 + # Skip testing Apple Silicon until there are GH runners + CIBW_TEST_SKIP: '*_arm64 *_universal2:arm64' + CIBW_BEFORE_ALL_MACOS: > + python -m pip install --upgrade pip + # CIBW_ENVIRONMENT_MACOS: MACOSX_DEPLOYMENT_TARGET=11.7 + CIBW_BUILD_VERBOSITY_MACOS: 0 + CIBW_BEFORE_ALL_WINDOWS: > + python -m pip install --upgrade pip + CIBW_TEST_COMMAND: > + python -m unittest discover -v -s {package} + + - name: Build ${{ matrix.os.name }} wheels and test (new) + uses: joerick/cibuildwheel@v2.22.0 + if: matrix.cibw.group == 'new' + with: + output-dir: dist + env: + CIBW_BUILD: ${{ matrix.cibw.build }} + # Skip 32-bit builds // NO + # CIBW_SKIP: '*-win32 *_i686' + CIBW_MANYLINUX_I686_IMAGE: manylinux2014 + CIBW_MANYLINUX_X86_64_IMAGE: manylinux2014 + CIBW_MANYLINUX_AARCH64_IMAGE: manylinux2014 + CIBW_MUSLLINUX_I686_IMAGE: musllinux_1_1 + CIBW_MUSLLINUX_X86_64_IMAGE: musllinux_1_1 + # Only build on x86 and arm64 for linux + CIBW_ARCHS_LINUX: auto aarch64 + CIBW_BEFORE_ALL_LINUX: > + python -m pip install --upgrade pip + # CIBW_ARCHS_MACOS: x86_64 arm64 universal2 + # Building two wheels for MacOS and skipping Universal + CIBW_ARCHS_MACOS: x86_64 arm64 + # Skip testing Apple Silicon until there are GH runners + CIBW_TEST_SKIP: '*_arm64 *_universal2:arm64' + CIBW_BEFORE_ALL_MACOS: > + python -m pip install --upgrade pip + # CIBW_ENVIRONMENT_MACOS: MACOSX_DEPLOYMENT_TARGET=11.7 + CIBW_BUILD_VERBOSITY_MACOS: 0 + CIBW_BEFORE_ALL_WINDOWS: > + python -m pip install --upgrade pip + CIBW_TEST_COMMAND: > + python -m unittest discover -v -s {package} + +# - name: Upload artifacts +# uses: actions/upload-artifact@v4 +# with: +# name: wheels +#. path: ./dist +# compression-level: 0 + + - name: Test for secrets access + id: check_secrets + # If a third party makes a pull request + # this allows automated steps below to be skipped + # and leave a clean PR CI run + shell: bash + run: | + unset HAS_SECRET + unset HAS_SECRET_TEST + if [ -n "$SECRET" ]; then HAS_SECRET='true' ; fi + if [ -n "$SECRET_TEST" ]; then HAS_SECRET_TEST='true' ; fi + echo ::set-output name=HAS_SECRET::${HAS_SECRET} + echo ::set-output name=HAS_SECRET_TEST::${HAS_SECRET_TEST} + env: + SECRET: "${{ secrets.pypi_password }}" + SECRET_TEST: "${{ secrets.test_pypi_password }}" + + - name: Install twine + run: pip install twine + + - name: Publish distribution to PyPI + if: > + startsWith(github.event.ref, 'refs/tags') && + steps.check_secrets.outputs.HAS_SECRET + env: + # If the PR/Push has secret access + # and PYPI_PASSWORD is in GH Secrets for this repo + # and this is a tag, publish to PyPI + TWINE_REPOSITORY_URL: https://upload.pypi.org/legacy/ + TWINE_USERNAME: "${{ secrets.pypi_username }}" + TWINE_NON_INTERACTIVE: 1 + TWINE_PASSWORD: "${{ secrets.pypi_password }}" + run: twine upload --non-interactive --skip-existing --verbose 'dist/*' + + - name: Publish distribution to Test PyPI + if: steps.check_secrets.outputs.HAS_SECRET + env: + # If the PR/Push has secret access + # and TEST_PYPI_PASSWORD is in GH Secrets for this repo + # then publish each build to test PyPI + TWINE_REPOSITORY_URL: https://test.pypi.org/legacy/ + TWINE_USERNAME: "${{ secrets.test_pypi_username }}" + TWINE_NON_INTERACTIVE: 1 + TWINE_PASSWORD: "${{ secrets.test_pypi_password }}" + run: twine upload --non-interactive --skip-existing --verbose 'dist/*' From f57b07e63d9b532ffcc5f8a25662fa78c6148fe5 Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Sat, 8 Feb 2025 15:25:14 +0300 Subject: [PATCH 116/353] Update Build_wheels_for_cpython27_x86_64.yml --- .github/workflows/Build_wheels_for_cpython27_x86_64.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/Build_wheels_for_cpython27_x86_64.yml b/.github/workflows/Build_wheels_for_cpython27_x86_64.yml index 39f3e1a73..2ffc79474 100644 --- a/.github/workflows/Build_wheels_for_cpython27_x86_64.yml +++ b/.github/workflows/Build_wheels_for_cpython27_x86_64.yml @@ -14,7 +14,7 @@ jobs: fail-fast: false matrix: os: - - name: Ubuntu 24+16 i386 CPython 2.7 + - name: Ubuntu 24+16 amd64 CPython 2.7 runs-on: ubuntu-latest matrix: linux arch: amd64 From 6e7ebc05a5587f5b9df6516db989931c7612279f Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Sat, 8 Feb 2025 15:30:00 +0300 Subject: [PATCH 117/353] Create Build_wheels_for_cpython34_x86.yml --- .../Build_wheels_for_cpython34_x86.yml | 492 ++++++++++++++++++ 1 file changed, 492 insertions(+) create mode 100644 .github/workflows/Build_wheels_for_cpython34_x86.yml diff --git a/.github/workflows/Build_wheels_for_cpython34_x86.yml b/.github/workflows/Build_wheels_for_cpython34_x86.yml new file mode 100644 index 000000000..2b17827b9 --- /dev/null +++ b/.github/workflows/Build_wheels_for_cpython34_x86.yml @@ -0,0 +1,492 @@ +name: Build wheels w/o cibw for CPython3.4 x86 + +on: [push, pull_request] + +concurrency: + group: ${{ github.ref }}-${{ github.workflow }}-${{ github.event_name }}-${{ github.ref == format('refs/heads/{0}', github.event.repository.default_branch) && github.sha || '' }} + cancel-in-progress: true + +jobs: + build_wheels: + name: Build wheel - ${{ matrix.os.name }} + runs-on: ${{ matrix.os.runs-on }} + strategy: + fail-fast: false + matrix: + os: + - name: Ubuntu 24+16 i386 CPython 3.4 + runs-on: ubuntu-latest + matrix: linux + arch: i386 + tag_arch: i686 + release: xenial + mirror: http://azure.archive.ubuntu.com/ubuntu + version: 1.5.6.3 + pyver: "3.4" + getpipurl: https://bootstrap.pypa.io/pip/2.7/get-pip.py + pypkg: python3.4 + pyengine_tag: cp34-cp34m + libc_tag: manylinux_2_17 + steps: + - name: Checkout code + uses: actions/checkout@v4 + with: + submodules: 'recursive' + + - uses: actions/setup-python@v5 + name: Install Python + with: + python-version: '3.12' + + - name: Prepare python + run: | + python -m pip install --upgrade pip + + - name: Set up QEMU + if: matrix.os.matrix == 'linux' + uses: docker/setup-qemu-action@v1 + with: + platforms: 'arm64' + + - name: Update and upgrade Ubuntu 24 + if: matrix.os.matrix == 'linux' + run: | + sudo which apt + sudo apt update; + sudo apt purge -y firefox lxd snapd; + sudo apt install -y zram-config; + sudo apt list --upgradable; + sudo apt upgrade -y; + sudo apt install -f + + - name: Build source distribution with Ubuntu + if: matrix.os.matrix == 'linux' + run: | + sudo apt install -y devscripts debootstrap qemu-user; + pip install build; + python -m build --sdist --outdir dist . + + - name: Debootstrap Ubuntu ${{matrix.os.release}} ${{matrix.os.arch}} + if: matrix.os.matrix == 'linux' + run: | + sudo debootstrap --no-merged-usr --verbose --include=sudo,wget,curl,ca-certificates --arch=${{matrix.os.arch}} ${{matrix.os.release}} ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} ${{matrix.os.mirror}} || tail ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/debootstrap/debootstrap.log + + - name: Update and Upgrade Ubuntu ${{matrix.os.release}} + if: matrix.os.matrix == 'linux' + run: | + sudo mkdir -p ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel + 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 + 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' + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /usr/bin/apt update + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /usr/bin/apt upgrade -y + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /usr/bin/apt -fy install + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /usr/bin/apt upgrade -y + + + - 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 + + - 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}} /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'" + + - name: Pepare source and build wheel for ${{matrix.os.pypkg}} ${{matrix.os.arch}} + if: matrix.os.matrix == 'linux' + run: | + sudo mkdir -p ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel/ + sudo tar -xvf dist/zstd-${{matrix.os.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}} /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}} && ZSTD_ASM=1 _ZSTD_ASM_BMI2=1 ZSTD_THREADS=1 _ZSTD_EXTERNAL=0 python${{matrix.os.pyver}} setup.py bdist_wheel clean" + + - name: Test wheel for ${{matrix.os.pypkg}} ${{matrix.os.arch}} + if: matrix.os.matrix == 'linux' + run: | + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}} && python${{matrix.os.pyver}} setup.py test" + + - name: Pepare wheel for upload + if: matrix.os.matrix == 'linux' + run: | + sudo cp -v ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel/zstd-${{matrix.os.version}}/dist/* ./dist + sudo ls -lh ./dist/* + sudo mv -v ./dist/"zstd-${{matrix.os.version}}-${{matrix.os.pyengine_tag}}-linux_${{matrix.os.tag_arch}}.whl" ./dist/"zstd-${{matrix.os.version}}-${{matrix.os.pyengine_tag}}-${{matrix.os.libc_tag}}_${{matrix.os.tag_arch}}.whl" + sudo rm -vf ./dist/*.tar.gz + + - name: Build ${{ matrix.os.name }} wheels and test (old) + uses: pypa/cibuildwheel@v1.12.0 + if: matrix.cibw.group == 'old' + with: + output-dir: dist + env: + CIBW_BUILD: ${{ matrix.cibw.build }} + # Skip 32-bit builds // NO + # CIBW_SKIP: '*-win32 *_i686' + CIBW_MANYLINUX_I686_IMAGE: manylinux1 + CIBW_MANYLINUX_X86_64_IMAGE: manylinux1 + CIBW_MUSLLINUX_I686_IMAGE: musllinux_1_2 + CIBW_MUSLLINUX_X86_64_IMAGE: musllinux_1_2 + # Only build on x86 and arm64 for linux + CIBW_ARCHS_LINUX: i686 x86_64 + CIBW_BEFORE_ALL_LINUX: > + python -m pip install --upgrade pip + # CIBW_ARCHS_MACOS: x86_64 arm64 universal2 + # Building two wheels for MacOS and skipping Universal + CIBW_ARCHS_MACOS: x86_64 + # Skip testing Apple Silicon until there are GH runners + CIBW_TEST_SKIP: '*_arm64 *_universal2:arm64' + CIBW_BEFORE_ALL_MACOS: > + python -m pip install --upgrade pip + # CIBW_ENVIRONMENT_MACOS: MACOSX_DEPLOYMENT_TARGET=11.7 + CIBW_BUILD_VERBOSITY_MACOS: 0 + CIBW_BEFORE_ALL_WINDOWS: > + python -m pip install --upgrade pip + CIBW_TEST_COMMAND: > + python -m unittest discover -v -s {package} + + - name: Build ${{ matrix.os.name }} wheels and test (new) + uses: joerick/cibuildwheel@v2.22.0 + if: matrix.cibw.group == 'new' + with: + output-dir: dist + env: + CIBW_BUILD: ${{ matrix.cibw.build }} + # Skip 32-bit builds // NO + # CIBW_SKIP: '*-win32 *_i686' + CIBW_MANYLINUX_I686_IMAGE: manylinux2014 + CIBW_MANYLINUX_X86_64_IMAGE: manylinux2014 + CIBW_MANYLINUX_AARCH64_IMAGE: manylinux2014 + CIBW_MUSLLINUX_I686_IMAGE: musllinux_1_1 + CIBW_MUSLLINUX_X86_64_IMAGE: musllinux_1_1 + # Only build on x86 and arm64 for linux + CIBW_ARCHS_LINUX: auto aarch64 + CIBW_BEFORE_ALL_LINUX: > + python -m pip install --upgrade pip + # CIBW_ARCHS_MACOS: x86_64 arm64 universal2 + # Building two wheels for MacOS and skipping Universal + CIBW_ARCHS_MACOS: x86_64 arm64 + # Skip testing Apple Silicon until there are GH runners + CIBW_TEST_SKIP: '*_arm64 *_universal2:arm64' + CIBW_BEFORE_ALL_MACOS: > + python -m pip install --upgrade pip + # CIBW_ENVIRONMENT_MACOS: MACOSX_DEPLOYMENT_TARGET=11.7 + CIBW_BUILD_VERBOSITY_MACOS: 0 + CIBW_BEFORE_ALL_WINDOWS: > + python -m pip install --upgrade pip + CIBW_TEST_COMMAND: > + python -m unittest discover -v -s {package} + +# - name: Upload artifacts +# uses: actions/upload-artifact@v4 +# with: +# name: wheels +#. path: ./dist +# compression-level: 0 + + - name: Test for secrets access + id: check_secrets + # If a third party makes a pull request + # this allows automated steps below to be skipped + # and leave a clean PR CI run + shell: bash + run: | + unset HAS_SECRET + unset HAS_SECRET_TEST + if [ -n "$SECRET" ]; then HAS_SECRET='true' ; fi + if [ -n "$SECRET_TEST" ]; then HAS_SECRET_TEST='true' ; fi + echo ::set-output name=HAS_SECRET::${HAS_SECRET} + echo ::set-output name=HAS_SECRET_TEST::${HAS_SECRET_TEST} + env: + SECRET: "${{ secrets.pypi_password }}" + SECRET_TEST: "${{ secrets.test_pypi_password }}" + + - name: Install twine + run: pip install twine + + - name: Publish distribution to PyPI + if: > + startsWith(github.event.ref, 'refs/tags') && + steps.check_secrets.outputs.HAS_SECRET + env: + # If the PR/Push has secret access + # and PYPI_PASSWORD is in GH Secrets for this repo + # and this is a tag, publish to PyPI + TWINE_REPOSITORY_URL: https://upload.pypi.org/legacy/ + TWINE_USERNAME: "${{ secrets.pypi_username }}" + TWINE_NON_INTERACTIVE: 1 + TWINE_PASSWORD: "${{ secrets.pypi_password }}" + run: twine upload --non-interactive --skip-existing --verbose 'dist/*' + + - name: Publish distribution to Test PyPI + if: steps.check_secrets.outputs.HAS_SECRET + env: + # If the PR/Push has secret access + # and TEST_PYPI_PASSWORD is in GH Secrets for this repo + # then publish each build to test PyPI + TWINE_REPOSITORY_URL: https://test.pypi.org/legacy/ + TWINE_USERNAME: "${{ secrets.test_pypi_username }}" + TWINE_NON_INTERACTIVE: 1 + TWINE_PASSWORD: "${{ secrets.test_pypi_password }}" + run: twine upload --non-interactive --skip-existing --verbose 'dist/*' +name: Build wheels w/o cibw for CPython2.7 x86 + +on: [push, pull_request] + +concurrency: + group: ${{ github.ref }}-${{ github.workflow }}-${{ github.event_name }}-${{ github.ref == format('refs/heads/{0}', github.event.repository.default_branch) && github.sha || '' }} + cancel-in-progress: true + +jobs: + build_wheels: + name: Build wheel - ${{ matrix.os.name }} + runs-on: ${{ matrix.os.runs-on }} + strategy: + fail-fast: false + matrix: + os: + - name: Ubuntu 24+16 i386 CPython 2.7 + runs-on: ubuntu-latest + matrix: linux + arch: i386 + tag_arch: i686 + release: xenial + mirror: http://azure.archive.ubuntu.com/ubuntu + version: 1.5.6.3 + pyver: "2.7" + getpipurl: https://bootstrap.pypa.io/pip/2.7/get-pip.py + pypkg: python2.7 + pyengine_tag: cp27-cp27mu + libc_tag: manylinux_2_17 + steps: + - name: Checkout code + uses: actions/checkout@v4 + with: + submodules: 'recursive' + + - uses: actions/setup-python@v5 + name: Install Python + with: + python-version: '3.12' + + - name: Prepare python + run: | + python -m pip install --upgrade pip + + - name: Set up QEMU + if: matrix.os.matrix == 'linux' + uses: docker/setup-qemu-action@v1 + with: + platforms: 'arm64' + + - name: Update and upgrade Ubuntu 24 + if: matrix.os.matrix == 'linux' + run: | + sudo which apt + sudo apt update; + sudo apt purge -y firefox lxd snapd; + sudo apt install -y zram-config; + sudo apt list --upgradable; + sudo apt upgrade -y; + sudo apt install -f + + - name: Build source distribution with Ubuntu + if: matrix.os.matrix == 'linux' + run: | + sudo apt install -y devscripts debootstrap qemu-user; + pip install build; + python -m build --sdist --outdir dist . + + - name: Debootstrap Ubuntu ${{matrix.os.release}} ${{matrix.os.arch}} + if: matrix.os.matrix == 'linux' + run: | + sudo debootstrap --no-merged-usr --verbose --include=sudo,wget,curl,ca-certificates --arch=${{matrix.os.arch}} ${{matrix.os.release}} ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} ${{matrix.os.mirror}} || tail ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/debootstrap/debootstrap.log + + - name: Update and Upgrade Ubuntu ${{matrix.os.release}} + if: matrix.os.matrix == 'linux' + run: | + sudo mkdir -p ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel + 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 + 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' + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /usr/bin/apt update + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /usr/bin/apt upgrade -y + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /usr/bin/apt -fy install + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /usr/bin/apt upgrade -y + + + - 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 + + - 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}} /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'" + + - name: Pepare source and build wheel for ${{matrix.os.pypkg}} ${{matrix.os.arch}} + if: matrix.os.matrix == 'linux' + run: | + sudo mkdir -p ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel/ + sudo tar -xvf dist/zstd-${{matrix.os.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}} /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}} && ZSTD_ASM=1 _ZSTD_ASM_BMI2=1 ZSTD_THREADS=1 _ZSTD_EXTERNAL=0 python${{matrix.os.pyver}} setup.py bdist_wheel clean" + + - name: Test wheel for ${{matrix.os.pypkg}} ${{matrix.os.arch}} + if: matrix.os.matrix == 'linux' + run: | + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}} && python${{matrix.os.pyver}} setup.py test" + + - name: Pepare wheel for upload + if: matrix.os.matrix == 'linux' + run: | + sudo cp -v ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel/zstd-${{matrix.os.version}}/dist/* ./dist + sudo ls -lh ./dist/* + sudo mv -v ./dist/"zstd-${{matrix.os.version}}-${{matrix.os.pyengine_tag}}-linux_${{matrix.os.tag_arch}}.whl" ./dist/"zstd-${{matrix.os.version}}-${{matrix.os.pyengine_tag}}-${{matrix.os.libc_tag}}_${{matrix.os.tag_arch}}.whl" + sudo rm -vf ./dist/*.tar.gz + + - name: Build ${{ matrix.os.name }} wheels and test (old) + uses: pypa/cibuildwheel@v1.12.0 + if: matrix.cibw.group == 'old' + with: + output-dir: dist + env: + CIBW_BUILD: ${{ matrix.cibw.build }} + # Skip 32-bit builds // NO + # CIBW_SKIP: '*-win32 *_i686' + CIBW_MANYLINUX_I686_IMAGE: manylinux1 + CIBW_MANYLINUX_X86_64_IMAGE: manylinux1 + CIBW_MUSLLINUX_I686_IMAGE: musllinux_1_2 + CIBW_MUSLLINUX_X86_64_IMAGE: musllinux_1_2 + # Only build on x86 and arm64 for linux + CIBW_ARCHS_LINUX: i686 x86_64 + CIBW_BEFORE_ALL_LINUX: > + python -m pip install --upgrade pip + # CIBW_ARCHS_MACOS: x86_64 arm64 universal2 + # Building two wheels for MacOS and skipping Universal + CIBW_ARCHS_MACOS: x86_64 + # Skip testing Apple Silicon until there are GH runners + CIBW_TEST_SKIP: '*_arm64 *_universal2:arm64' + CIBW_BEFORE_ALL_MACOS: > + python -m pip install --upgrade pip + # CIBW_ENVIRONMENT_MACOS: MACOSX_DEPLOYMENT_TARGET=11.7 + CIBW_BUILD_VERBOSITY_MACOS: 0 + CIBW_BEFORE_ALL_WINDOWS: > + python -m pip install --upgrade pip + CIBW_TEST_COMMAND: > + python -m unittest discover -v -s {package} + + - name: Build ${{ matrix.os.name }} wheels and test (new) + uses: joerick/cibuildwheel@v2.22.0 + if: matrix.cibw.group == 'new' + with: + output-dir: dist + env: + CIBW_BUILD: ${{ matrix.cibw.build }} + # Skip 32-bit builds // NO + # CIBW_SKIP: '*-win32 *_i686' + CIBW_MANYLINUX_I686_IMAGE: manylinux2014 + CIBW_MANYLINUX_X86_64_IMAGE: manylinux2014 + CIBW_MANYLINUX_AARCH64_IMAGE: manylinux2014 + CIBW_MUSLLINUX_I686_IMAGE: musllinux_1_1 + CIBW_MUSLLINUX_X86_64_IMAGE: musllinux_1_1 + # Only build on x86 and arm64 for linux + CIBW_ARCHS_LINUX: auto aarch64 + CIBW_BEFORE_ALL_LINUX: > + python -m pip install --upgrade pip + # CIBW_ARCHS_MACOS: x86_64 arm64 universal2 + # Building two wheels for MacOS and skipping Universal + CIBW_ARCHS_MACOS: x86_64 arm64 + # Skip testing Apple Silicon until there are GH runners + CIBW_TEST_SKIP: '*_arm64 *_universal2:arm64' + CIBW_BEFORE_ALL_MACOS: > + python -m pip install --upgrade pip + # CIBW_ENVIRONMENT_MACOS: MACOSX_DEPLOYMENT_TARGET=11.7 + CIBW_BUILD_VERBOSITY_MACOS: 0 + CIBW_BEFORE_ALL_WINDOWS: > + python -m pip install --upgrade pip + CIBW_TEST_COMMAND: > + python -m unittest discover -v -s {package} + +# - name: Upload artifacts +# uses: actions/upload-artifact@v4 +# with: +# name: wheels +#. path: ./dist +# compression-level: 0 + + - name: Test for secrets access + id: check_secrets + # If a third party makes a pull request + # this allows automated steps below to be skipped + # and leave a clean PR CI run + shell: bash + run: | + unset HAS_SECRET + unset HAS_SECRET_TEST + if [ -n "$SECRET" ]; then HAS_SECRET='true' ; fi + if [ -n "$SECRET_TEST" ]; then HAS_SECRET_TEST='true' ; fi + echo ::set-output name=HAS_SECRET::${HAS_SECRET} + echo ::set-output name=HAS_SECRET_TEST::${HAS_SECRET_TEST} + env: + SECRET: "${{ secrets.pypi_password }}" + SECRET_TEST: "${{ secrets.test_pypi_password }}" + + - name: Install twine + run: pip install twine + + - name: Publish distribution to PyPI + if: > + startsWith(github.event.ref, 'refs/tags') && + steps.check_secrets.outputs.HAS_SECRET + env: + # If the PR/Push has secret access + # and PYPI_PASSWORD is in GH Secrets for this repo + # and this is a tag, publish to PyPI + TWINE_REPOSITORY_URL: https://upload.pypi.org/legacy/ + TWINE_USERNAME: "${{ secrets.pypi_username }}" + TWINE_NON_INTERACTIVE: 1 + TWINE_PASSWORD: "${{ secrets.pypi_password }}" + run: twine upload --non-interactive --skip-existing --verbose 'dist/*' + + - name: Publish distribution to Test PyPI + if: steps.check_secrets.outputs.HAS_SECRET + env: + # If the PR/Push has secret access + # and TEST_PYPI_PASSWORD is in GH Secrets for this repo + # then publish each build to test PyPI + TWINE_REPOSITORY_URL: https://test.pypi.org/legacy/ + TWINE_USERNAME: "${{ secrets.test_pypi_username }}" + TWINE_NON_INTERACTIVE: 1 + TWINE_PASSWORD: "${{ secrets.test_pypi_password }}" + run: twine upload --non-interactive --skip-existing --verbose 'dist/*' From 49b68bdf32569bc5f48166a86469d9950b952db8 Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Sat, 8 Feb 2025 15:34:57 +0300 Subject: [PATCH 118/353] Update Build_wheels_for_cpython34_x86.yml --- .../Build_wheels_for_cpython34_x86.yml | 491 ------------------ 1 file changed, 491 deletions(-) diff --git a/.github/workflows/Build_wheels_for_cpython34_x86.yml b/.github/workflows/Build_wheels_for_cpython34_x86.yml index 2b17827b9..8b1378917 100644 --- a/.github/workflows/Build_wheels_for_cpython34_x86.yml +++ b/.github/workflows/Build_wheels_for_cpython34_x86.yml @@ -1,492 +1 @@ -name: Build wheels w/o cibw for CPython3.4 x86 -on: [push, pull_request] - -concurrency: - group: ${{ github.ref }}-${{ github.workflow }}-${{ github.event_name }}-${{ github.ref == format('refs/heads/{0}', github.event.repository.default_branch) && github.sha || '' }} - cancel-in-progress: true - -jobs: - build_wheels: - name: Build wheel - ${{ matrix.os.name }} - runs-on: ${{ matrix.os.runs-on }} - strategy: - fail-fast: false - matrix: - os: - - name: Ubuntu 24+16 i386 CPython 3.4 - runs-on: ubuntu-latest - matrix: linux - arch: i386 - tag_arch: i686 - release: xenial - mirror: http://azure.archive.ubuntu.com/ubuntu - version: 1.5.6.3 - pyver: "3.4" - getpipurl: https://bootstrap.pypa.io/pip/2.7/get-pip.py - pypkg: python3.4 - pyengine_tag: cp34-cp34m - libc_tag: manylinux_2_17 - steps: - - name: Checkout code - uses: actions/checkout@v4 - with: - submodules: 'recursive' - - - uses: actions/setup-python@v5 - name: Install Python - with: - python-version: '3.12' - - - name: Prepare python - run: | - python -m pip install --upgrade pip - - - name: Set up QEMU - if: matrix.os.matrix == 'linux' - uses: docker/setup-qemu-action@v1 - with: - platforms: 'arm64' - - - name: Update and upgrade Ubuntu 24 - if: matrix.os.matrix == 'linux' - run: | - sudo which apt - sudo apt update; - sudo apt purge -y firefox lxd snapd; - sudo apt install -y zram-config; - sudo apt list --upgradable; - sudo apt upgrade -y; - sudo apt install -f - - - name: Build source distribution with Ubuntu - if: matrix.os.matrix == 'linux' - run: | - sudo apt install -y devscripts debootstrap qemu-user; - pip install build; - python -m build --sdist --outdir dist . - - - name: Debootstrap Ubuntu ${{matrix.os.release}} ${{matrix.os.arch}} - if: matrix.os.matrix == 'linux' - run: | - sudo debootstrap --no-merged-usr --verbose --include=sudo,wget,curl,ca-certificates --arch=${{matrix.os.arch}} ${{matrix.os.release}} ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} ${{matrix.os.mirror}} || tail ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/debootstrap/debootstrap.log - - - name: Update and Upgrade Ubuntu ${{matrix.os.release}} - if: matrix.os.matrix == 'linux' - run: | - sudo mkdir -p ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel - 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 - 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' - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /usr/bin/apt update - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /usr/bin/apt upgrade -y - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /usr/bin/apt -fy install - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /usr/bin/apt upgrade -y - - - - 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 - - - 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}} /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'" - - - name: Pepare source and build wheel for ${{matrix.os.pypkg}} ${{matrix.os.arch}} - if: matrix.os.matrix == 'linux' - run: | - sudo mkdir -p ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel/ - sudo tar -xvf dist/zstd-${{matrix.os.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}} /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}} && ZSTD_ASM=1 _ZSTD_ASM_BMI2=1 ZSTD_THREADS=1 _ZSTD_EXTERNAL=0 python${{matrix.os.pyver}} setup.py bdist_wheel clean" - - - name: Test wheel for ${{matrix.os.pypkg}} ${{matrix.os.arch}} - if: matrix.os.matrix == 'linux' - run: | - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}} && python${{matrix.os.pyver}} setup.py test" - - - name: Pepare wheel for upload - if: matrix.os.matrix == 'linux' - run: | - sudo cp -v ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel/zstd-${{matrix.os.version}}/dist/* ./dist - sudo ls -lh ./dist/* - sudo mv -v ./dist/"zstd-${{matrix.os.version}}-${{matrix.os.pyengine_tag}}-linux_${{matrix.os.tag_arch}}.whl" ./dist/"zstd-${{matrix.os.version}}-${{matrix.os.pyengine_tag}}-${{matrix.os.libc_tag}}_${{matrix.os.tag_arch}}.whl" - sudo rm -vf ./dist/*.tar.gz - - - name: Build ${{ matrix.os.name }} wheels and test (old) - uses: pypa/cibuildwheel@v1.12.0 - if: matrix.cibw.group == 'old' - with: - output-dir: dist - env: - CIBW_BUILD: ${{ matrix.cibw.build }} - # Skip 32-bit builds // NO - # CIBW_SKIP: '*-win32 *_i686' - CIBW_MANYLINUX_I686_IMAGE: manylinux1 - CIBW_MANYLINUX_X86_64_IMAGE: manylinux1 - CIBW_MUSLLINUX_I686_IMAGE: musllinux_1_2 - CIBW_MUSLLINUX_X86_64_IMAGE: musllinux_1_2 - # Only build on x86 and arm64 for linux - CIBW_ARCHS_LINUX: i686 x86_64 - CIBW_BEFORE_ALL_LINUX: > - python -m pip install --upgrade pip - # CIBW_ARCHS_MACOS: x86_64 arm64 universal2 - # Building two wheels for MacOS and skipping Universal - CIBW_ARCHS_MACOS: x86_64 - # Skip testing Apple Silicon until there are GH runners - CIBW_TEST_SKIP: '*_arm64 *_universal2:arm64' - CIBW_BEFORE_ALL_MACOS: > - python -m pip install --upgrade pip - # CIBW_ENVIRONMENT_MACOS: MACOSX_DEPLOYMENT_TARGET=11.7 - CIBW_BUILD_VERBOSITY_MACOS: 0 - CIBW_BEFORE_ALL_WINDOWS: > - python -m pip install --upgrade pip - CIBW_TEST_COMMAND: > - python -m unittest discover -v -s {package} - - - name: Build ${{ matrix.os.name }} wheels and test (new) - uses: joerick/cibuildwheel@v2.22.0 - if: matrix.cibw.group == 'new' - with: - output-dir: dist - env: - CIBW_BUILD: ${{ matrix.cibw.build }} - # Skip 32-bit builds // NO - # CIBW_SKIP: '*-win32 *_i686' - CIBW_MANYLINUX_I686_IMAGE: manylinux2014 - CIBW_MANYLINUX_X86_64_IMAGE: manylinux2014 - CIBW_MANYLINUX_AARCH64_IMAGE: manylinux2014 - CIBW_MUSLLINUX_I686_IMAGE: musllinux_1_1 - CIBW_MUSLLINUX_X86_64_IMAGE: musllinux_1_1 - # Only build on x86 and arm64 for linux - CIBW_ARCHS_LINUX: auto aarch64 - CIBW_BEFORE_ALL_LINUX: > - python -m pip install --upgrade pip - # CIBW_ARCHS_MACOS: x86_64 arm64 universal2 - # Building two wheels for MacOS and skipping Universal - CIBW_ARCHS_MACOS: x86_64 arm64 - # Skip testing Apple Silicon until there are GH runners - CIBW_TEST_SKIP: '*_arm64 *_universal2:arm64' - CIBW_BEFORE_ALL_MACOS: > - python -m pip install --upgrade pip - # CIBW_ENVIRONMENT_MACOS: MACOSX_DEPLOYMENT_TARGET=11.7 - CIBW_BUILD_VERBOSITY_MACOS: 0 - CIBW_BEFORE_ALL_WINDOWS: > - python -m pip install --upgrade pip - CIBW_TEST_COMMAND: > - python -m unittest discover -v -s {package} - -# - name: Upload artifacts -# uses: actions/upload-artifact@v4 -# with: -# name: wheels -#. path: ./dist -# compression-level: 0 - - - name: Test for secrets access - id: check_secrets - # If a third party makes a pull request - # this allows automated steps below to be skipped - # and leave a clean PR CI run - shell: bash - run: | - unset HAS_SECRET - unset HAS_SECRET_TEST - if [ -n "$SECRET" ]; then HAS_SECRET='true' ; fi - if [ -n "$SECRET_TEST" ]; then HAS_SECRET_TEST='true' ; fi - echo ::set-output name=HAS_SECRET::${HAS_SECRET} - echo ::set-output name=HAS_SECRET_TEST::${HAS_SECRET_TEST} - env: - SECRET: "${{ secrets.pypi_password }}" - SECRET_TEST: "${{ secrets.test_pypi_password }}" - - - name: Install twine - run: pip install twine - - - name: Publish distribution to PyPI - if: > - startsWith(github.event.ref, 'refs/tags') && - steps.check_secrets.outputs.HAS_SECRET - env: - # If the PR/Push has secret access - # and PYPI_PASSWORD is in GH Secrets for this repo - # and this is a tag, publish to PyPI - TWINE_REPOSITORY_URL: https://upload.pypi.org/legacy/ - TWINE_USERNAME: "${{ secrets.pypi_username }}" - TWINE_NON_INTERACTIVE: 1 - TWINE_PASSWORD: "${{ secrets.pypi_password }}" - run: twine upload --non-interactive --skip-existing --verbose 'dist/*' - - - name: Publish distribution to Test PyPI - if: steps.check_secrets.outputs.HAS_SECRET - env: - # If the PR/Push has secret access - # and TEST_PYPI_PASSWORD is in GH Secrets for this repo - # then publish each build to test PyPI - TWINE_REPOSITORY_URL: https://test.pypi.org/legacy/ - TWINE_USERNAME: "${{ secrets.test_pypi_username }}" - TWINE_NON_INTERACTIVE: 1 - TWINE_PASSWORD: "${{ secrets.test_pypi_password }}" - run: twine upload --non-interactive --skip-existing --verbose 'dist/*' -name: Build wheels w/o cibw for CPython2.7 x86 - -on: [push, pull_request] - -concurrency: - group: ${{ github.ref }}-${{ github.workflow }}-${{ github.event_name }}-${{ github.ref == format('refs/heads/{0}', github.event.repository.default_branch) && github.sha || '' }} - cancel-in-progress: true - -jobs: - build_wheels: - name: Build wheel - ${{ matrix.os.name }} - runs-on: ${{ matrix.os.runs-on }} - strategy: - fail-fast: false - matrix: - os: - - name: Ubuntu 24+16 i386 CPython 2.7 - runs-on: ubuntu-latest - matrix: linux - arch: i386 - tag_arch: i686 - release: xenial - mirror: http://azure.archive.ubuntu.com/ubuntu - version: 1.5.6.3 - pyver: "2.7" - getpipurl: https://bootstrap.pypa.io/pip/2.7/get-pip.py - pypkg: python2.7 - pyengine_tag: cp27-cp27mu - libc_tag: manylinux_2_17 - steps: - - name: Checkout code - uses: actions/checkout@v4 - with: - submodules: 'recursive' - - - uses: actions/setup-python@v5 - name: Install Python - with: - python-version: '3.12' - - - name: Prepare python - run: | - python -m pip install --upgrade pip - - - name: Set up QEMU - if: matrix.os.matrix == 'linux' - uses: docker/setup-qemu-action@v1 - with: - platforms: 'arm64' - - - name: Update and upgrade Ubuntu 24 - if: matrix.os.matrix == 'linux' - run: | - sudo which apt - sudo apt update; - sudo apt purge -y firefox lxd snapd; - sudo apt install -y zram-config; - sudo apt list --upgradable; - sudo apt upgrade -y; - sudo apt install -f - - - name: Build source distribution with Ubuntu - if: matrix.os.matrix == 'linux' - run: | - sudo apt install -y devscripts debootstrap qemu-user; - pip install build; - python -m build --sdist --outdir dist . - - - name: Debootstrap Ubuntu ${{matrix.os.release}} ${{matrix.os.arch}} - if: matrix.os.matrix == 'linux' - run: | - sudo debootstrap --no-merged-usr --verbose --include=sudo,wget,curl,ca-certificates --arch=${{matrix.os.arch}} ${{matrix.os.release}} ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} ${{matrix.os.mirror}} || tail ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/debootstrap/debootstrap.log - - - name: Update and Upgrade Ubuntu ${{matrix.os.release}} - if: matrix.os.matrix == 'linux' - run: | - sudo mkdir -p ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel - 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 - 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' - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /usr/bin/apt update - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /usr/bin/apt upgrade -y - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /usr/bin/apt -fy install - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /usr/bin/apt upgrade -y - - - - 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 - - - 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}} /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'" - - - name: Pepare source and build wheel for ${{matrix.os.pypkg}} ${{matrix.os.arch}} - if: matrix.os.matrix == 'linux' - run: | - sudo mkdir -p ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel/ - sudo tar -xvf dist/zstd-${{matrix.os.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}} /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}} && ZSTD_ASM=1 _ZSTD_ASM_BMI2=1 ZSTD_THREADS=1 _ZSTD_EXTERNAL=0 python${{matrix.os.pyver}} setup.py bdist_wheel clean" - - - name: Test wheel for ${{matrix.os.pypkg}} ${{matrix.os.arch}} - if: matrix.os.matrix == 'linux' - run: | - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}} && python${{matrix.os.pyver}} setup.py test" - - - name: Pepare wheel for upload - if: matrix.os.matrix == 'linux' - run: | - sudo cp -v ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel/zstd-${{matrix.os.version}}/dist/* ./dist - sudo ls -lh ./dist/* - sudo mv -v ./dist/"zstd-${{matrix.os.version}}-${{matrix.os.pyengine_tag}}-linux_${{matrix.os.tag_arch}}.whl" ./dist/"zstd-${{matrix.os.version}}-${{matrix.os.pyengine_tag}}-${{matrix.os.libc_tag}}_${{matrix.os.tag_arch}}.whl" - sudo rm -vf ./dist/*.tar.gz - - - name: Build ${{ matrix.os.name }} wheels and test (old) - uses: pypa/cibuildwheel@v1.12.0 - if: matrix.cibw.group == 'old' - with: - output-dir: dist - env: - CIBW_BUILD: ${{ matrix.cibw.build }} - # Skip 32-bit builds // NO - # CIBW_SKIP: '*-win32 *_i686' - CIBW_MANYLINUX_I686_IMAGE: manylinux1 - CIBW_MANYLINUX_X86_64_IMAGE: manylinux1 - CIBW_MUSLLINUX_I686_IMAGE: musllinux_1_2 - CIBW_MUSLLINUX_X86_64_IMAGE: musllinux_1_2 - # Only build on x86 and arm64 for linux - CIBW_ARCHS_LINUX: i686 x86_64 - CIBW_BEFORE_ALL_LINUX: > - python -m pip install --upgrade pip - # CIBW_ARCHS_MACOS: x86_64 arm64 universal2 - # Building two wheels for MacOS and skipping Universal - CIBW_ARCHS_MACOS: x86_64 - # Skip testing Apple Silicon until there are GH runners - CIBW_TEST_SKIP: '*_arm64 *_universal2:arm64' - CIBW_BEFORE_ALL_MACOS: > - python -m pip install --upgrade pip - # CIBW_ENVIRONMENT_MACOS: MACOSX_DEPLOYMENT_TARGET=11.7 - CIBW_BUILD_VERBOSITY_MACOS: 0 - CIBW_BEFORE_ALL_WINDOWS: > - python -m pip install --upgrade pip - CIBW_TEST_COMMAND: > - python -m unittest discover -v -s {package} - - - name: Build ${{ matrix.os.name }} wheels and test (new) - uses: joerick/cibuildwheel@v2.22.0 - if: matrix.cibw.group == 'new' - with: - output-dir: dist - env: - CIBW_BUILD: ${{ matrix.cibw.build }} - # Skip 32-bit builds // NO - # CIBW_SKIP: '*-win32 *_i686' - CIBW_MANYLINUX_I686_IMAGE: manylinux2014 - CIBW_MANYLINUX_X86_64_IMAGE: manylinux2014 - CIBW_MANYLINUX_AARCH64_IMAGE: manylinux2014 - CIBW_MUSLLINUX_I686_IMAGE: musllinux_1_1 - CIBW_MUSLLINUX_X86_64_IMAGE: musllinux_1_1 - # Only build on x86 and arm64 for linux - CIBW_ARCHS_LINUX: auto aarch64 - CIBW_BEFORE_ALL_LINUX: > - python -m pip install --upgrade pip - # CIBW_ARCHS_MACOS: x86_64 arm64 universal2 - # Building two wheels for MacOS and skipping Universal - CIBW_ARCHS_MACOS: x86_64 arm64 - # Skip testing Apple Silicon until there are GH runners - CIBW_TEST_SKIP: '*_arm64 *_universal2:arm64' - CIBW_BEFORE_ALL_MACOS: > - python -m pip install --upgrade pip - # CIBW_ENVIRONMENT_MACOS: MACOSX_DEPLOYMENT_TARGET=11.7 - CIBW_BUILD_VERBOSITY_MACOS: 0 - CIBW_BEFORE_ALL_WINDOWS: > - python -m pip install --upgrade pip - CIBW_TEST_COMMAND: > - python -m unittest discover -v -s {package} - -# - name: Upload artifacts -# uses: actions/upload-artifact@v4 -# with: -# name: wheels -#. path: ./dist -# compression-level: 0 - - - name: Test for secrets access - id: check_secrets - # If a third party makes a pull request - # this allows automated steps below to be skipped - # and leave a clean PR CI run - shell: bash - run: | - unset HAS_SECRET - unset HAS_SECRET_TEST - if [ -n "$SECRET" ]; then HAS_SECRET='true' ; fi - if [ -n "$SECRET_TEST" ]; then HAS_SECRET_TEST='true' ; fi - echo ::set-output name=HAS_SECRET::${HAS_SECRET} - echo ::set-output name=HAS_SECRET_TEST::${HAS_SECRET_TEST} - env: - SECRET: "${{ secrets.pypi_password }}" - SECRET_TEST: "${{ secrets.test_pypi_password }}" - - - name: Install twine - run: pip install twine - - - name: Publish distribution to PyPI - if: > - startsWith(github.event.ref, 'refs/tags') && - steps.check_secrets.outputs.HAS_SECRET - env: - # If the PR/Push has secret access - # and PYPI_PASSWORD is in GH Secrets for this repo - # and this is a tag, publish to PyPI - TWINE_REPOSITORY_URL: https://upload.pypi.org/legacy/ - TWINE_USERNAME: "${{ secrets.pypi_username }}" - TWINE_NON_INTERACTIVE: 1 - TWINE_PASSWORD: "${{ secrets.pypi_password }}" - run: twine upload --non-interactive --skip-existing --verbose 'dist/*' - - - name: Publish distribution to Test PyPI - if: steps.check_secrets.outputs.HAS_SECRET - env: - # If the PR/Push has secret access - # and TEST_PYPI_PASSWORD is in GH Secrets for this repo - # then publish each build to test PyPI - TWINE_REPOSITORY_URL: https://test.pypi.org/legacy/ - TWINE_USERNAME: "${{ secrets.test_pypi_username }}" - TWINE_NON_INTERACTIVE: 1 - TWINE_PASSWORD: "${{ secrets.test_pypi_password }}" - run: twine upload --non-interactive --skip-existing --verbose 'dist/*' From eba0e181a51436e0588f2f373f3adc06e3901fe0 Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Sat, 8 Feb 2025 15:39:17 +0300 Subject: [PATCH 119/353] Update Build_wheels_for_cpython34_x86.yml --- .../Build_wheels_for_cpython34_x86.yml | 237 ++++++++++++++++++ 1 file changed, 237 insertions(+) diff --git a/.github/workflows/Build_wheels_for_cpython34_x86.yml b/.github/workflows/Build_wheels_for_cpython34_x86.yml index 8b1378917..4d78bd185 100644 --- a/.github/workflows/Build_wheels_for_cpython34_x86.yml +++ b/.github/workflows/Build_wheels_for_cpython34_x86.yml @@ -1 +1,238 @@ +name: Build wheels w/o cibw for CPython3.4 x86 +on: [push, pull_request] + +concurrency: + group: ${{ github.ref }}-${{ github.workflow }}-${{ github.event_name }}-${{ github.ref == format('refs/heads/{0}', github.event.repository.default_branch) && github.sha || '' }} + cancel-in-progress: true + +jobs: + build_wheels: + name: Build wheel - ${{ matrix.os.name }} + runs-on: ${{ matrix.os.runs-on }} + strategy: + fail-fast: false + matrix: + os: + - name: Ubuntu 24+16 i386 CPython 3.4 + runs-on: ubuntu-latest + matrix: linux + arch: i386 + tag_arch: i686 + release: xenial + mirror: http://azure.archive.ubuntu.com/ubuntu + version: 1.5.6.3 + pyver: "3.4" + getpipurl: https://bootstrap.pypa.io/pip/2.7/get-pip.py + pypkg: python3.4 + pyengine_tag: cp34-cp34m + libc_tag: manylinux_2_17 + steps: + - name: Checkout code + uses: actions/checkout@v4 + with: + submodules: 'recursive' + + - name: Set up QEMU + if: matrix.os.matrix == 'linux' + uses: docker/setup-qemu-action@v1 + with: + platforms: 'arm64' + + - name: Update and upgrade Ubuntu 24 + if: matrix.os.matrix == 'linux' + run: | + sudo which apt + sudo apt update; + sudo apt purge -y firefox lxd snapd; + sudo apt install -y zram-config; + sudo apt list --upgradable; + sudo apt upgrade -y; + sudo apt install -f + + - name: Build source distribution with Ubuntu + if: matrix.os.matrix == 'linux' + run: | + sudo apt install -y devscripts debootstrap qemu-user; + pip install build; + python -m build --sdist --outdir dist . + + - name: Debootstrap Ubuntu ${{matrix.os.release}} ${{matrix.os.arch}} + if: matrix.os.matrix == 'linux' + run: | + sudo debootstrap --no-merged-usr --verbose --include=sudo,wget,curl,ca-certificates --arch=${{matrix.os.arch}} ${{matrix.os.release}} ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} ${{matrix.os.mirror}} || tail ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/debootstrap/debootstrap.log + + - name: Update and Upgrade Ubuntu ${{matrix.os.release}} + if: matrix.os.matrix == 'linux' + run: | + sudo mkdir -p ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel + 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 + 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' + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /usr/bin/apt update + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /usr/bin/apt upgrade -y + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /usr/bin/apt -fy install + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /usr/bin/apt upgrade -y + + + - 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 + + - 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}} /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'" + + - name: Pepare source and build wheel for ${{matrix.os.pypkg}} ${{matrix.os.arch}} + if: matrix.os.matrix == 'linux' + run: | + sudo mkdir -p ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel/ + sudo tar -xvf dist/zstd-${{matrix.os.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}} /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}} && ZSTD_ASM=1 _ZSTD_ASM_BMI2=1 ZSTD_THREADS=1 _ZSTD_EXTERNAL=0 python${{matrix.os.pyver}} setup.py bdist_wheel clean" + + - name: Test wheel for ${{matrix.os.pypkg}} ${{matrix.os.arch}} + if: matrix.os.matrix == 'linux' + run: | + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}} && python${{matrix.os.pyver}} setup.py test" + + - name: Pepare wheel for upload + if: matrix.os.matrix == 'linux' + run: | + sudo cp -v ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel/zstd-${{matrix.os.version}}/dist/* ./dist + sudo ls -lh ./dist/* + sudo mv -v ./dist/"zstd-${{matrix.os.version}}-${{matrix.os.pyengine_tag}}-linux_${{matrix.os.tag_arch}}.whl" ./dist/"zstd-${{matrix.os.version}}-${{matrix.os.pyengine_tag}}-${{matrix.os.libc_tag}}_${{matrix.os.tag_arch}}.whl" + sudo rm -vf ./dist/*.tar.gz + + - name: Build ${{ matrix.os.name }} wheels and test (old) + uses: pypa/cibuildwheel@v1.12.0 + if: matrix.cibw.group == 'old' + with: + output-dir: dist + env: + CIBW_BUILD: ${{ matrix.cibw.build }} + # Skip 32-bit builds // NO + # CIBW_SKIP: '*-win32 *_i686' + CIBW_MANYLINUX_I686_IMAGE: manylinux1 + CIBW_MANYLINUX_X86_64_IMAGE: manylinux1 + CIBW_MUSLLINUX_I686_IMAGE: musllinux_1_2 + CIBW_MUSLLINUX_X86_64_IMAGE: musllinux_1_2 + # Only build on x86 and arm64 for linux + CIBW_ARCHS_LINUX: i686 x86_64 + CIBW_BEFORE_ALL_LINUX: > + python -m pip install --upgrade pip + # CIBW_ARCHS_MACOS: x86_64 arm64 universal2 + # Building two wheels for MacOS and skipping Universal + CIBW_ARCHS_MACOS: x86_64 + # Skip testing Apple Silicon until there are GH runners + CIBW_TEST_SKIP: '*_arm64 *_universal2:arm64' + CIBW_BEFORE_ALL_MACOS: > + python -m pip install --upgrade pip + # CIBW_ENVIRONMENT_MACOS: MACOSX_DEPLOYMENT_TARGET=11.7 + CIBW_BUILD_VERBOSITY_MACOS: 0 + CIBW_BEFORE_ALL_WINDOWS: > + python -m pip install --upgrade pip + CIBW_TEST_COMMAND: > + python -m unittest discover -v -s {package} + + - name: Build ${{ matrix.os.name }} wheels and test (new) + uses: joerick/cibuildwheel@v2.22.0 + if: matrix.cibw.group == 'new' + with: + output-dir: dist + env: + CIBW_BUILD: ${{ matrix.cibw.build }} + # Skip 32-bit builds // NO + # CIBW_SKIP: '*-win32 *_i686' + CIBW_MANYLINUX_I686_IMAGE: manylinux2014 + CIBW_MANYLINUX_X86_64_IMAGE: manylinux2014 + CIBW_MANYLINUX_AARCH64_IMAGE: manylinux2014 + CIBW_MUSLLINUX_I686_IMAGE: musllinux_1_1 + CIBW_MUSLLINUX_X86_64_IMAGE: musllinux_1_1 + # Only build on x86 and arm64 for linux + CIBW_ARCHS_LINUX: auto aarch64 + CIBW_BEFORE_ALL_LINUX: > + python -m pip install --upgrade pip + # CIBW_ARCHS_MACOS: x86_64 arm64 universal2 + # Building two wheels for MacOS and skipping Universal + CIBW_ARCHS_MACOS: x86_64 arm64 + # Skip testing Apple Silicon until there are GH runners + CIBW_TEST_SKIP: '*_arm64 *_universal2:arm64' + CIBW_BEFORE_ALL_MACOS: > + python -m pip install --upgrade pip + # CIBW_ENVIRONMENT_MACOS: MACOSX_DEPLOYMENT_TARGET=11.7 + CIBW_BUILD_VERBOSITY_MACOS: 0 + CIBW_BEFORE_ALL_WINDOWS: > + python -m pip install --upgrade pip + CIBW_TEST_COMMAND: > + python -m unittest discover -v -s {package} + +# - name: Upload artifacts +# uses: actions/upload-artifact@v4 +# with: +# name: wheels +#. path: ./dist +# compression-level: 0 + + - name: Test for secrets access + id: check_secrets + # If a third party makes a pull request + # this allows automated steps below to be skipped + # and leave a clean PR CI run + shell: bash + run: | + unset HAS_SECRET + unset HAS_SECRET_TEST + if [ -n "$SECRET" ]; then HAS_SECRET='true' ; fi + if [ -n "$SECRET_TEST" ]; then HAS_SECRET_TEST='true' ; fi + echo ::set-output name=HAS_SECRET::${HAS_SECRET} + echo ::set-output name=HAS_SECRET_TEST::${HAS_SECRET_TEST} + env: + SECRET: "${{ secrets.pypi_password }}" + SECRET_TEST: "${{ secrets.test_pypi_password }}" + + - name: Install twine + run: pip install twine + + - name: Publish distribution to PyPI + if: > + startsWith(github.event.ref, 'refs/tags') && + steps.check_secrets.outputs.HAS_SECRET + env: + # If the PR/Push has secret access + # and PYPI_PASSWORD is in GH Secrets for this repo + # and this is a tag, publish to PyPI + TWINE_REPOSITORY_URL: https://upload.pypi.org/legacy/ + TWINE_USERNAME: "${{ secrets.pypi_username }}" + TWINE_NON_INTERACTIVE: 1 + TWINE_PASSWORD: "${{ secrets.pypi_password }}" + run: twine upload --non-interactive --skip-existing --verbose 'dist/*' + + - name: Publish distribution to Test PyPI + if: steps.check_secrets.outputs.HAS_SECRET + env: + # If the PR/Push has secret access + # and TEST_PYPI_PASSWORD is in GH Secrets for this repo + # then publish each build to test PyPI + TWINE_REPOSITORY_URL: https://test.pypi.org/legacy/ + TWINE_USERNAME: "${{ secrets.test_pypi_username }}" + TWINE_NON_INTERACTIVE: 1 + TWINE_PASSWORD: "${{ secrets.test_pypi_password }}" + run: twine upload --non-interactive --skip-existing --verbose 'dist/*' + From 35e31d63f102fd5b2fbc7836a0bd0606751f0cfc Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Sat, 8 Feb 2025 15:41:11 +0300 Subject: [PATCH 120/353] Update Build_wheels_for_cpython34_x86.yml --- .github/workflows/Build_wheels_for_cpython34_x86.yml | 6 ------ 1 file changed, 6 deletions(-) diff --git a/.github/workflows/Build_wheels_for_cpython34_x86.yml b/.github/workflows/Build_wheels_for_cpython34_x86.yml index 4d78bd185..12f0929c2 100644 --- a/.github/workflows/Build_wheels_for_cpython34_x86.yml +++ b/.github/workflows/Build_wheels_for_cpython34_x86.yml @@ -33,12 +33,6 @@ jobs: with: submodules: 'recursive' - - name: Set up QEMU - if: matrix.os.matrix == 'linux' - uses: docker/setup-qemu-action@v1 - with: - platforms: 'arm64' - - name: Update and upgrade Ubuntu 24 if: matrix.os.matrix == 'linux' run: | From 60907769a13f5238e20c2be3900bf47fabf2b980 Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Sat, 8 Feb 2025 15:41:48 +0300 Subject: [PATCH 121/353] Update Build_wheels_for_cpython27_x86.yml --- .../workflows/Build_wheels_for_cpython27_x86.yml | 15 --------------- 1 file changed, 15 deletions(-) diff --git a/.github/workflows/Build_wheels_for_cpython27_x86.yml b/.github/workflows/Build_wheels_for_cpython27_x86.yml index 31982d37b..ee154e92d 100644 --- a/.github/workflows/Build_wheels_for_cpython27_x86.yml +++ b/.github/workflows/Build_wheels_for_cpython27_x86.yml @@ -33,21 +33,6 @@ jobs: with: submodules: 'recursive' - - uses: actions/setup-python@v5 - name: Install Python - with: - python-version: '3.12' - - - name: Prepare python - run: | - python -m pip install --upgrade pip - - - name: Set up QEMU - if: matrix.os.matrix == 'linux' - uses: docker/setup-qemu-action@v1 - with: - platforms: 'arm64' - - name: Update and upgrade Ubuntu 24 if: matrix.os.matrix == 'linux' run: | From 9f06566a749f8cc68d96ed52914cbbe895a94f54 Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Sat, 8 Feb 2025 15:42:22 +0300 Subject: [PATCH 122/353] Update Build_wheels_for_cpython27_x86_64.yml --- .../Build_wheels_for_cpython27_x86_64.yml | 15 --------------- 1 file changed, 15 deletions(-) diff --git a/.github/workflows/Build_wheels_for_cpython27_x86_64.yml b/.github/workflows/Build_wheels_for_cpython27_x86_64.yml index 2ffc79474..d325d6f3f 100644 --- a/.github/workflows/Build_wheels_for_cpython27_x86_64.yml +++ b/.github/workflows/Build_wheels_for_cpython27_x86_64.yml @@ -33,21 +33,6 @@ jobs: with: submodules: 'recursive' - - uses: actions/setup-python@v5 - name: Install Python - with: - python-version: '3.12' - - - name: Prepare python - run: | - python -m pip install --upgrade pip - - - name: Set up QEMU - if: matrix.os.matrix == 'linux' - uses: docker/setup-qemu-action@v1 - with: - platforms: 'arm64' - - name: Update and upgrade Ubuntu 24 if: matrix.os.matrix == 'linux' run: | From 62b9ef959abdd15fe0b19dc6a925d3e0630f3502 Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Sat, 8 Feb 2025 15:47:38 +0300 Subject: [PATCH 123/353] Create Build_wheels_for_cpython34_x86_64.yml --- .../Build_wheels_for_cpython34_x86_64.yml | 232 ++++++++++++++++++ 1 file changed, 232 insertions(+) create mode 100644 .github/workflows/Build_wheels_for_cpython34_x86_64.yml diff --git a/.github/workflows/Build_wheels_for_cpython34_x86_64.yml b/.github/workflows/Build_wheels_for_cpython34_x86_64.yml new file mode 100644 index 000000000..1aee455cf --- /dev/null +++ b/.github/workflows/Build_wheels_for_cpython34_x86_64.yml @@ -0,0 +1,232 @@ +name: Build wheels w/o cibw for CPython3.4 x86_64 + +on: [push, pull_request] + +concurrency: + group: ${{ github.ref }}-${{ github.workflow }}-${{ github.event_name }}-${{ github.ref == format('refs/heads/{0}', github.event.repository.default_branch) && github.sha || '' }} + cancel-in-progress: true + +jobs: + build_wheels: + name: Build wheel - ${{ matrix.os.name }} + runs-on: ${{ matrix.os.runs-on }} + strategy: + fail-fast: false + matrix: + os: + - name: Ubuntu 24+16 amd64 CPython 3.4 + runs-on: ubuntu-latest + matrix: linux + arch: i386 + tag_arch: x86_64 + release: xenial + mirror: http://azure.archive.ubuntu.com/ubuntu + version: 1.5.6.3 + pyver: "3.4" + getpipurl: https://bootstrap.pypa.io/pip/2.7/get-pip.py + pypkg: python3.4 + pyengine_tag: cp34-cp34m + libc_tag: manylinux_2_17 + steps: + - name: Checkout code + uses: actions/checkout@v4 + with: + submodules: 'recursive' + + - name: Update and upgrade Ubuntu 24 + if: matrix.os.matrix == 'linux' + run: | + sudo which apt + sudo apt update; + sudo apt purge -y firefox lxd snapd; + sudo apt install -y zram-config; + sudo apt list --upgradable; + sudo apt upgrade -y; + sudo apt install -f + + - name: Build source distribution with Ubuntu + if: matrix.os.matrix == 'linux' + run: | + sudo apt install -y devscripts debootstrap qemu-user; + pip install build; + python -m build --sdist --outdir dist . + + - name: Debootstrap Ubuntu ${{matrix.os.release}} ${{matrix.os.arch}} + if: matrix.os.matrix == 'linux' + run: | + sudo debootstrap --no-merged-usr --verbose --include=sudo,wget,curl,ca-certificates --arch=${{matrix.os.arch}} ${{matrix.os.release}} ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} ${{matrix.os.mirror}} || tail ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/debootstrap/debootstrap.log + + - name: Update and Upgrade Ubuntu ${{matrix.os.release}} + if: matrix.os.matrix == 'linux' + run: | + sudo mkdir -p ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel + 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 + 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' + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /usr/bin/apt update + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /usr/bin/apt upgrade -y + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /usr/bin/apt -fy install + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /usr/bin/apt upgrade -y + + + - 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 + + - 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}} /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'" + + - name: Pepare source and build wheel for ${{matrix.os.pypkg}} ${{matrix.os.arch}} + if: matrix.os.matrix == 'linux' + run: | + sudo mkdir -p ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel/ + sudo tar -xvf dist/zstd-${{matrix.os.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}} /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}} && ZSTD_ASM=1 _ZSTD_ASM_BMI2=1 ZSTD_THREADS=1 _ZSTD_EXTERNAL=0 python${{matrix.os.pyver}} setup.py bdist_wheel clean" + + - name: Test wheel for ${{matrix.os.pypkg}} ${{matrix.os.arch}} + if: matrix.os.matrix == 'linux' + run: | + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}} && python${{matrix.os.pyver}} setup.py test" + + - name: Pepare wheel for upload + if: matrix.os.matrix == 'linux' + run: | + sudo cp -v ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel/zstd-${{matrix.os.version}}/dist/* ./dist + sudo ls -lh ./dist/* + sudo mv -v ./dist/"zstd-${{matrix.os.version}}-${{matrix.os.pyengine_tag}}-linux_${{matrix.os.tag_arch}}.whl" ./dist/"zstd-${{matrix.os.version}}-${{matrix.os.pyengine_tag}}-${{matrix.os.libc_tag}}_${{matrix.os.tag_arch}}.whl" + sudo rm -vf ./dist/*.tar.gz + + - name: Build ${{ matrix.os.name }} wheels and test (old) + uses: pypa/cibuildwheel@v1.12.0 + if: matrix.cibw.group == 'old' + with: + output-dir: dist + env: + CIBW_BUILD: ${{ matrix.cibw.build }} + # Skip 32-bit builds // NO + # CIBW_SKIP: '*-win32 *_i686' + CIBW_MANYLINUX_I686_IMAGE: manylinux1 + CIBW_MANYLINUX_X86_64_IMAGE: manylinux1 + CIBW_MUSLLINUX_I686_IMAGE: musllinux_1_2 + CIBW_MUSLLINUX_X86_64_IMAGE: musllinux_1_2 + # Only build on x86 and arm64 for linux + CIBW_ARCHS_LINUX: i686 x86_64 + CIBW_BEFORE_ALL_LINUX: > + python -m pip install --upgrade pip + # CIBW_ARCHS_MACOS: x86_64 arm64 universal2 + # Building two wheels for MacOS and skipping Universal + CIBW_ARCHS_MACOS: x86_64 + # Skip testing Apple Silicon until there are GH runners + CIBW_TEST_SKIP: '*_arm64 *_universal2:arm64' + CIBW_BEFORE_ALL_MACOS: > + python -m pip install --upgrade pip + # CIBW_ENVIRONMENT_MACOS: MACOSX_DEPLOYMENT_TARGET=11.7 + CIBW_BUILD_VERBOSITY_MACOS: 0 + CIBW_BEFORE_ALL_WINDOWS: > + python -m pip install --upgrade pip + CIBW_TEST_COMMAND: > + python -m unittest discover -v -s {package} + + - name: Build ${{ matrix.os.name }} wheels and test (new) + uses: joerick/cibuildwheel@v2.22.0 + if: matrix.cibw.group == 'new' + with: + output-dir: dist + env: + CIBW_BUILD: ${{ matrix.cibw.build }} + # Skip 32-bit builds // NO + # CIBW_SKIP: '*-win32 *_i686' + CIBW_MANYLINUX_I686_IMAGE: manylinux2014 + CIBW_MANYLINUX_X86_64_IMAGE: manylinux2014 + CIBW_MANYLINUX_AARCH64_IMAGE: manylinux2014 + CIBW_MUSLLINUX_I686_IMAGE: musllinux_1_1 + CIBW_MUSLLINUX_X86_64_IMAGE: musllinux_1_1 + # Only build on x86 and arm64 for linux + CIBW_ARCHS_LINUX: auto aarch64 + CIBW_BEFORE_ALL_LINUX: > + python -m pip install --upgrade pip + # CIBW_ARCHS_MACOS: x86_64 arm64 universal2 + # Building two wheels for MacOS and skipping Universal + CIBW_ARCHS_MACOS: x86_64 arm64 + # Skip testing Apple Silicon until there are GH runners + CIBW_TEST_SKIP: '*_arm64 *_universal2:arm64' + CIBW_BEFORE_ALL_MACOS: > + python -m pip install --upgrade pip + # CIBW_ENVIRONMENT_MACOS: MACOSX_DEPLOYMENT_TARGET=11.7 + CIBW_BUILD_VERBOSITY_MACOS: 0 + CIBW_BEFORE_ALL_WINDOWS: > + python -m pip install --upgrade pip + CIBW_TEST_COMMAND: > + python -m unittest discover -v -s {package} + +# - name: Upload artifacts +# uses: actions/upload-artifact@v4 +# with: +# name: wheels +#. path: ./dist +# compression-level: 0 + + - name: Test for secrets access + id: check_secrets + # If a third party makes a pull request + # this allows automated steps below to be skipped + # and leave a clean PR CI run + shell: bash + run: | + unset HAS_SECRET + unset HAS_SECRET_TEST + if [ -n "$SECRET" ]; then HAS_SECRET='true' ; fi + if [ -n "$SECRET_TEST" ]; then HAS_SECRET_TEST='true' ; fi + echo ::set-output name=HAS_SECRET::${HAS_SECRET} + echo ::set-output name=HAS_SECRET_TEST::${HAS_SECRET_TEST} + env: + SECRET: "${{ secrets.pypi_password }}" + SECRET_TEST: "${{ secrets.test_pypi_password }}" + + - name: Install twine + run: pip install twine + + - name: Publish distribution to PyPI + if: > + startsWith(github.event.ref, 'refs/tags') && + steps.check_secrets.outputs.HAS_SECRET + env: + # If the PR/Push has secret access + # and PYPI_PASSWORD is in GH Secrets for this repo + # and this is a tag, publish to PyPI + TWINE_REPOSITORY_URL: https://upload.pypi.org/legacy/ + TWINE_USERNAME: "${{ secrets.pypi_username }}" + TWINE_NON_INTERACTIVE: 1 + TWINE_PASSWORD: "${{ secrets.pypi_password }}" + run: twine upload --non-interactive --skip-existing --verbose 'dist/*' + + - name: Publish distribution to Test PyPI + if: steps.check_secrets.outputs.HAS_SECRET + env: + # If the PR/Push has secret access + # and TEST_PYPI_PASSWORD is in GH Secrets for this repo + # then publish each build to test PyPI + TWINE_REPOSITORY_URL: https://test.pypi.org/legacy/ + TWINE_USERNAME: "${{ secrets.test_pypi_username }}" + TWINE_NON_INTERACTIVE: 1 + TWINE_PASSWORD: "${{ secrets.test_pypi_password }}" + run: twine upload --non-interactive --skip-existing --verbose 'dist/*' + From 986f56676ccefc2a84ef87eccc716cb4bafec025 Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Sat, 8 Feb 2025 15:53:36 +0300 Subject: [PATCH 124/353] Update Build_wheels_for_cpython34_x86.yml --- .github/workflows/Build_wheels_for_cpython34_x86.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/Build_wheels_for_cpython34_x86.yml b/.github/workflows/Build_wheels_for_cpython34_x86.yml index 12f0929c2..d8a0dbfd3 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 w/o cibw for CPython3.4 x86 +name: Build wheels for CPython3.4 x86 on: [push, pull_request] From 9b0556751522380ca9f675fb21eaefb06bef430d Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Sat, 8 Feb 2025 15:54:10 +0300 Subject: [PATCH 125/353] Update Build_wheels_for_cpython34_x86_64.yml --- .github/workflows/Build_wheels_for_cpython34_x86_64.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/Build_wheels_for_cpython34_x86_64.yml b/.github/workflows/Build_wheels_for_cpython34_x86_64.yml index 1aee455cf..8c0f85333 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 w/o cibw for CPython3.4 x86_64 +name: Build wheels for CPython3.4 x86_64 on: [push, pull_request] From a4d721ba46311b8e4456de286cf290d7daf64a8c Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Sat, 8 Feb 2025 15:54:38 +0300 Subject: [PATCH 126/353] Update Build_wheels_for_cpython27_x86.yml --- .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 ee154e92d..7ab16f798 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 w/o cibw for CPython2.7 x86 +name: Build wheels for CPython2.7 x86 on: [push, pull_request] From a23cc219f5e9c4953aff2ca77ccfbf9e86ef98dd Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Sat, 8 Feb 2025 15:55:11 +0300 Subject: [PATCH 127/353] Update Build_wheels_for_cpython27_x86_64.yml --- .github/workflows/Build_wheels_for_cpython27_x86_64.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/Build_wheels_for_cpython27_x86_64.yml b/.github/workflows/Build_wheels_for_cpython27_x86_64.yml index d325d6f3f..dff7146cb 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 w/o cibw for CPython2.7 x86_64 +name: Build wheels for CPython2.7 x86_64 on: [push, pull_request] From ce1eafd4b6342c38b2fcc8a2475c69eda8697d39 Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Sat, 8 Feb 2025 16:06:24 +0300 Subject: [PATCH 128/353] Update README.rst --- README.rst | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/README.rst b/README.rst index 459d09855..206017101 100644 --- a/README.rst +++ b/README.rst @@ -8,9 +8,17 @@ python-zstd .. |masterW| image:: https://github.com/sergey-dryabzhinsky/python-zstd/actions/workflows/build-wheels.yml/badge.svg :target: https://github.com/sergey-dryabzhinsky/python-zstd/actions/workflows/build-wheels.yml +.. |cpython27x64| image:: https://github.com/sergey-dryabzhinsky/python-zstd/actions/workflows/Build_wheels_for_cpython27_x86_64.yml/badge.svg + :target: https://github.com/sergey-dryabzhinsky/python-zstd/actions/workflows/Build_wheels_for_cpython27_x86_64.yml + +.. |cpython27x86| image:: https://github.com/sergey-dryabzhinsky/python-zstd/actions/workflows/Build_wheels_for_cpython27_x86.yml/badge.svg + :target: https://github.com/sergey-dryabzhinsky/python-zstd/actions/workflows/Build_wheels_for_cpython27_x86.yml + +---------+------------+ -| branch | status | +| wheels for | status | +=========+============+ +| cpython 2.7 x86 | |cpython27x86| | +| cpython 2.7 x64 | |cpython27x64| | | Release | |releaseW| | | 1.5.6.2 | | +---------+------------+ From a59805962cbd493c4b8fa842810c26e8ac6e43a8 Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Sat, 8 Feb 2025 16:22:07 +0300 Subject: [PATCH 129/353] Update README.rst --- README.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.rst b/README.rst index 206017101..31b63f4ec 100644 --- a/README.rst +++ b/README.rst @@ -9,10 +9,10 @@ python-zstd :target: https://github.com/sergey-dryabzhinsky/python-zstd/actions/workflows/build-wheels.yml .. |cpython27x64| image:: https://github.com/sergey-dryabzhinsky/python-zstd/actions/workflows/Build_wheels_for_cpython27_x86_64.yml/badge.svg - :target: https://github.com/sergey-dryabzhinsky/python-zstd/actions/workflows/Build_wheels_for_cpython27_x86_64.yml + :target: https://github.com/sergey-dryabzhinsky/python-zstd/actions/workflows/Build_wheels_for_cpython27_x86_64.yml .. |cpython27x86| image:: https://github.com/sergey-dryabzhinsky/python-zstd/actions/workflows/Build_wheels_for_cpython27_x86.yml/badge.svg - :target: https://github.com/sergey-dryabzhinsky/python-zstd/actions/workflows/Build_wheels_for_cpython27_x86.yml + :target: https://github.com/sergey-dryabzhinsky/python-zstd/actions/workflows/Build_wheels_for_cpython27_x86.yml +---------+------------+ | wheels for | status | From 5bd7415a76a310fcbac1eacffb31bc7b28663f4c Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Sat, 8 Feb 2025 16:26:17 +0300 Subject: [PATCH 130/353] Update README.rst --- README.rst | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/README.rst b/README.rst index 31b63f4ec..b29120885 100644 --- a/README.rst +++ b/README.rst @@ -14,16 +14,16 @@ python-zstd .. |cpython27x86| image:: https://github.com/sergey-dryabzhinsky/python-zstd/actions/workflows/Build_wheels_for_cpython27_x86.yml/badge.svg :target: https://github.com/sergey-dryabzhinsky/python-zstd/actions/workflows/Build_wheels_for_cpython27_x86.yml -+---------+------------+ -| wheels for | status | -+=========+============+ ++------------+---------------------+ +| wheels for | status | ++=================+================+ | cpython 2.7 x86 | |cpython27x86| | | cpython 2.7 x64 | |cpython27x64| | -| Release | |releaseW| | -| 1.5.6.2 | | -+---------+------------+ -| Master | |masterW| | -+---------+------------+ +| Release | |releaseW| | +| 1.5.6.2 | | ++-----------------+----------------+ +| Master | |masterW| | ++-----------------+----------------+ Simple python bindings to Yann Collet ZSTD compression library. From 0c0710ed91a75e38fa3c77774f746a0249d5f9ea Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Sat, 8 Feb 2025 16:27:22 +0300 Subject: [PATCH 131/353] Update README.rst --- README.rst | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.rst b/README.rst index b29120885..cdc935b45 100644 --- a/README.rst +++ b/README.rst @@ -18,7 +18,9 @@ python-zstd | wheels for | status | +=================+================+ | cpython 2.7 x86 | |cpython27x86| | ++-----------------+----------------+ | cpython 2.7 x64 | |cpython27x64| | ++-----------------+----------------+ | Release | |releaseW| | | 1.5.6.2 | | +-----------------+----------------+ From 3334c293364db5bf3cc38e467bd0bcb34415a59c Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Sat, 8 Feb 2025 16:46:00 +0300 Subject: [PATCH 132/353] Update README.rst --- README.rst | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/README.rst b/README.rst index cdc935b45..233ea3469 100644 --- a/README.rst +++ b/README.rst @@ -14,6 +14,12 @@ python-zstd .. |cpython27x86| image:: https://github.com/sergey-dryabzhinsky/python-zstd/actions/workflows/Build_wheels_for_cpython27_x86.yml/badge.svg :target: https://github.com/sergey-dryabzhinsky/python-zstd/actions/workflows/Build_wheels_for_cpython27_x86.yml +.. |cpython34x86| image:: https://github.com/sergey-dryabzhinsky/python-zstd/actions/workflows/Build_wheels_for_cpython34_x86.yml/badge.svg + :target: https://github.com/sergey-dryabzhinsky/python-zstd/actions/workflows/Build_wheels_for_cpython34_x86.yml + +.. |cpython34x64| image:: https://github.com/sergey-dryabzhinsky/python-zstd/actions/workflows/Build_wheels_for_cpython34_x86_64.yml/badge.svg + :target: https://github.com/sergey-dryabzhinsky/python-zstd/actions/workflows/Build_wheels_for_cpython34_x86_64.yml + +------------+---------------------+ | wheels for | status | +=================+================+ @@ -21,6 +27,10 @@ python-zstd +-----------------+----------------+ | cpython 2.7 x64 | |cpython27x64| | +-----------------+----------------+ +| cpython 3.4 x86 | |cpython34x86| | ++-----------------+----------------+ +| cpython 3.4 x64 | |cpython34x64| | ++-----------------+----------------+ | Release | |releaseW| | | 1.5.6.2 | | +-----------------+----------------+ From 280dee2e2664f6282f23bfe0551e54f49e66aebb Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Sat, 8 Feb 2025 17:26:41 +0300 Subject: [PATCH 133/353] Create Build_wheels_for_cpython35_x86.yml --- .../Build_wheels_for_cpython35_x86.yml | 232 ++++++++++++++++++ 1 file changed, 232 insertions(+) create mode 100644 .github/workflows/Build_wheels_for_cpython35_x86.yml diff --git a/.github/workflows/Build_wheels_for_cpython35_x86.yml b/.github/workflows/Build_wheels_for_cpython35_x86.yml new file mode 100644 index 000000000..92394ef8f --- /dev/null +++ b/.github/workflows/Build_wheels_for_cpython35_x86.yml @@ -0,0 +1,232 @@ +name: Build wheels for CPython3.5 x86 + +on: [push, pull_request] + +concurrency: + group: ${{ github.ref }}-${{ github.workflow }}-${{ github.event_name }}-${{ github.ref == format('refs/heads/{0}', github.event.repository.default_branch) && github.sha || '' }} + cancel-in-progress: true + +jobs: + build_wheels: + name: Build wheel - ${{ matrix.os.name }} + runs-on: ${{ matrix.os.runs-on }} + strategy: + fail-fast: false + matrix: + os: + - name: Ubuntu 24+16 i386 CPython 3.5 + runs-on: ubuntu-latest + matrix: linux + arch: i386 + tag_arch: i686 + release: xenial + mirror: http://azure.archive.ubuntu.com/ubuntu + version: 1.5.6.3 + pyver: "3.5" + getpipurl: https://bootstrap.pypa.io/pip/2.7/get-pip.py + pypkg: python3.5 + pyengine_tag: cp35-cp35m + libc_tag: manylinux_2_17 + steps: + - name: Checkout code + uses: actions/checkout@v4 + with: + submodules: 'recursive' + + - name: Update and upgrade Ubuntu 24 + if: matrix.os.matrix == 'linux' + run: | + sudo which apt + sudo apt update; + sudo apt purge -y firefox lxd snapd; + sudo apt install -y zram-config; + sudo apt list --upgradable; + sudo apt upgrade -y; + sudo apt install -f + + - name: Build source distribution with Ubuntu + if: matrix.os.matrix == 'linux' + run: | + sudo apt install -y devscripts debootstrap qemu-user; + pip install build; + python -m build --sdist --outdir dist . + + - name: Debootstrap Ubuntu ${{matrix.os.release}} ${{matrix.os.arch}} + if: matrix.os.matrix == 'linux' + run: | + sudo debootstrap --no-merged-usr --verbose --include=sudo,wget,curl,ca-certificates --arch=${{matrix.os.arch}} ${{matrix.os.release}} ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} ${{matrix.os.mirror}} || tail ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/debootstrap/debootstrap.log + + - name: Update and Upgrade Ubuntu ${{matrix.os.release}} + if: matrix.os.matrix == 'linux' + run: | + sudo mkdir -p ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel + 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 + 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' + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /usr/bin/apt update + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /usr/bin/apt upgrade -y + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /usr/bin/apt -fy install + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /usr/bin/apt upgrade -y + + + - 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 + + - 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}} /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'" + + - name: Pepare source and build wheel for ${{matrix.os.pypkg}} ${{matrix.os.arch}} + if: matrix.os.matrix == 'linux' + run: | + sudo mkdir -p ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel/ + sudo tar -xvf dist/zstd-${{matrix.os.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}} /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}} && ZSTD_ASM=1 _ZSTD_ASM_BMI2=1 ZSTD_THREADS=1 _ZSTD_EXTERNAL=0 python${{matrix.os.pyver}} setup.py bdist_wheel clean" + + - name: Test wheel for ${{matrix.os.pypkg}} ${{matrix.os.arch}} + if: matrix.os.matrix == 'linux' + run: | + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}} && python${{matrix.os.pyver}} setup.py test" + + - name: Pepare wheel for upload + if: matrix.os.matrix == 'linux' + run: | + sudo cp -v ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel/zstd-${{matrix.os.version}}/dist/* ./dist + sudo ls -lh ./dist/* + sudo mv -v ./dist/"zstd-${{matrix.os.version}}-${{matrix.os.pyengine_tag}}-linux_${{matrix.os.tag_arch}}.whl" ./dist/"zstd-${{matrix.os.version}}-${{matrix.os.pyengine_tag}}-${{matrix.os.libc_tag}}_${{matrix.os.tag_arch}}.whl" + sudo rm -vf ./dist/*.tar.gz + + - name: Build ${{ matrix.os.name }} wheels and test (old) + uses: pypa/cibuildwheel@v1.12.0 + if: matrix.cibw.group == 'old' + with: + output-dir: dist + env: + CIBW_BUILD: ${{ matrix.cibw.build }} + # Skip 32-bit builds // NO + # CIBW_SKIP: '*-win32 *_i686' + CIBW_MANYLINUX_I686_IMAGE: manylinux1 + CIBW_MANYLINUX_X86_64_IMAGE: manylinux1 + CIBW_MUSLLINUX_I686_IMAGE: musllinux_1_2 + CIBW_MUSLLINUX_X86_64_IMAGE: musllinux_1_2 + # Only build on x86 and arm64 for linux + CIBW_ARCHS_LINUX: i686 x86_64 + CIBW_BEFORE_ALL_LINUX: > + python -m pip install --upgrade pip + # CIBW_ARCHS_MACOS: x86_64 arm64 universal2 + # Building two wheels for MacOS and skipping Universal + CIBW_ARCHS_MACOS: x86_64 + # Skip testing Apple Silicon until there are GH runners + CIBW_TEST_SKIP: '*_arm64 *_universal2:arm64' + CIBW_BEFORE_ALL_MACOS: > + python -m pip install --upgrade pip + # CIBW_ENVIRONMENT_MACOS: MACOSX_DEPLOYMENT_TARGET=11.7 + CIBW_BUILD_VERBOSITY_MACOS: 0 + CIBW_BEFORE_ALL_WINDOWS: > + python -m pip install --upgrade pip + CIBW_TEST_COMMAND: > + python -m unittest discover -v -s {package} + + - name: Build ${{ matrix.os.name }} wheels and test (new) + uses: joerick/cibuildwheel@v2.22.0 + if: matrix.cibw.group == 'new' + with: + output-dir: dist + env: + CIBW_BUILD: ${{ matrix.cibw.build }} + # Skip 32-bit builds // NO + # CIBW_SKIP: '*-win32 *_i686' + CIBW_MANYLINUX_I686_IMAGE: manylinux2014 + CIBW_MANYLINUX_X86_64_IMAGE: manylinux2014 + CIBW_MANYLINUX_AARCH64_IMAGE: manylinux2014 + CIBW_MUSLLINUX_I686_IMAGE: musllinux_1_1 + CIBW_MUSLLINUX_X86_64_IMAGE: musllinux_1_1 + # Only build on x86 and arm64 for linux + CIBW_ARCHS_LINUX: auto aarch64 + CIBW_BEFORE_ALL_LINUX: > + python -m pip install --upgrade pip + # CIBW_ARCHS_MACOS: x86_64 arm64 universal2 + # Building two wheels for MacOS and skipping Universal + CIBW_ARCHS_MACOS: x86_64 arm64 + # Skip testing Apple Silicon until there are GH runners + CIBW_TEST_SKIP: '*_arm64 *_universal2:arm64' + CIBW_BEFORE_ALL_MACOS: > + python -m pip install --upgrade pip + # CIBW_ENVIRONMENT_MACOS: MACOSX_DEPLOYMENT_TARGET=11.7 + CIBW_BUILD_VERBOSITY_MACOS: 0 + CIBW_BEFORE_ALL_WINDOWS: > + python -m pip install --upgrade pip + CIBW_TEST_COMMAND: > + python -m unittest discover -v -s {package} + +# - name: Upload artifacts +# uses: actions/upload-artifact@v4 +# with: +# name: wheels +#. path: ./dist +# compression-level: 0 + + - name: Test for secrets access + id: check_secrets + # If a third party makes a pull request + # this allows automated steps below to be skipped + # and leave a clean PR CI run + shell: bash + run: | + unset HAS_SECRET + unset HAS_SECRET_TEST + if [ -n "$SECRET" ]; then HAS_SECRET='true' ; fi + if [ -n "$SECRET_TEST" ]; then HAS_SECRET_TEST='true' ; fi + echo ::set-output name=HAS_SECRET::${HAS_SECRET} + echo ::set-output name=HAS_SECRET_TEST::${HAS_SECRET_TEST} + env: + SECRET: "${{ secrets.pypi_password }}" + SECRET_TEST: "${{ secrets.test_pypi_password }}" + + - name: Install twine + run: pip install twine + + - name: Publish distribution to PyPI + if: > + startsWith(github.event.ref, 'refs/tags') && + steps.check_secrets.outputs.HAS_SECRET + env: + # If the PR/Push has secret access + # and PYPI_PASSWORD is in GH Secrets for this repo + # and this is a tag, publish to PyPI + TWINE_REPOSITORY_URL: https://upload.pypi.org/legacy/ + TWINE_USERNAME: "${{ secrets.pypi_username }}" + TWINE_NON_INTERACTIVE: 1 + TWINE_PASSWORD: "${{ secrets.pypi_password }}" + run: twine upload --non-interactive --skip-existing --verbose 'dist/*' + + - name: Publish distribution to Test PyPI + if: steps.check_secrets.outputs.HAS_SECRET + env: + # If the PR/Push has secret access + # and TEST_PYPI_PASSWORD is in GH Secrets for this repo + # then publish each build to test PyPI + TWINE_REPOSITORY_URL: https://test.pypi.org/legacy/ + TWINE_USERNAME: "${{ secrets.test_pypi_username }}" + TWINE_NON_INTERACTIVE: 1 + TWINE_PASSWORD: "${{ secrets.test_pypi_password }}" + run: twine upload --non-interactive --skip-existing --verbose 'dist/*' + From 367f368d877bf7d46c3d45e2b1eb0ee6029b2d5e Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Sat, 8 Feb 2025 17:28:53 +0300 Subject: [PATCH 134/353] Create Build_wheels_for_cpython35_x86_64.yml --- .../Build_wheels_for_cpython35_x86_64.yml | 232 ++++++++++++++++++ 1 file changed, 232 insertions(+) create mode 100644 .github/workflows/Build_wheels_for_cpython35_x86_64.yml diff --git a/.github/workflows/Build_wheels_for_cpython35_x86_64.yml b/.github/workflows/Build_wheels_for_cpython35_x86_64.yml new file mode 100644 index 000000000..18132dabe --- /dev/null +++ b/.github/workflows/Build_wheels_for_cpython35_x86_64.yml @@ -0,0 +1,232 @@ +name: Build wheels for CPython3.5 x86_64 + +on: [push, pull_request] + +concurrency: + group: ${{ github.ref }}-${{ github.workflow }}-${{ github.event_name }}-${{ github.ref == format('refs/heads/{0}', github.event.repository.default_branch) && github.sha || '' }} + cancel-in-progress: true + +jobs: + build_wheels: + name: Build wheel - ${{ matrix.os.name }} + runs-on: ${{ matrix.os.runs-on }} + strategy: + fail-fast: false + matrix: + os: + - name: Ubuntu 24+16 amd64 CPython 3.5 + runs-on: ubuntu-latest + matrix: linux + arch: i386 + tag_arch: x86_64 + release: xenial + mirror: http://azure.archive.ubuntu.com/ubuntu + version: 1.5.6.3 + pyver: "3.5" + getpipurl: https://bootstrap.pypa.io/pip/2.7/get-pip.py + pypkg: python3.5 + pyengine_tag: cp35-cp35m + libc_tag: manylinux_2_17 + steps: + - name: Checkout code + uses: actions/checkout@v4 + with: + submodules: 'recursive' + + - name: Update and upgrade Ubuntu 24 + if: matrix.os.matrix == 'linux' + run: | + sudo which apt + sudo apt update; + sudo apt purge -y firefox lxd snapd; + sudo apt install -y zram-config; + sudo apt list --upgradable; + sudo apt upgrade -y; + sudo apt install -f + + - name: Build source distribution with Ubuntu + if: matrix.os.matrix == 'linux' + run: | + sudo apt install -y devscripts debootstrap qemu-user; + pip install build; + python -m build --sdist --outdir dist . + + - name: Debootstrap Ubuntu ${{matrix.os.release}} ${{matrix.os.arch}} + if: matrix.os.matrix == 'linux' + run: | + sudo debootstrap --no-merged-usr --verbose --include=sudo,wget,curl,ca-certificates --arch=${{matrix.os.arch}} ${{matrix.os.release}} ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} ${{matrix.os.mirror}} || tail ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/debootstrap/debootstrap.log + + - name: Update and Upgrade Ubuntu ${{matrix.os.release}} + if: matrix.os.matrix == 'linux' + run: | + sudo mkdir -p ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel + 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 + 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' + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /usr/bin/apt update + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /usr/bin/apt upgrade -y + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /usr/bin/apt -fy install + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /usr/bin/apt upgrade -y + + + - 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 + + - 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}} /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'" + + - name: Pepare source and build wheel for ${{matrix.os.pypkg}} ${{matrix.os.arch}} + if: matrix.os.matrix == 'linux' + run: | + sudo mkdir -p ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel/ + sudo tar -xvf dist/zstd-${{matrix.os.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}} /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}} && ZSTD_ASM=1 _ZSTD_ASM_BMI2=1 ZSTD_THREADS=1 _ZSTD_EXTERNAL=0 python${{matrix.os.pyver}} setup.py bdist_wheel clean" + + - name: Test wheel for ${{matrix.os.pypkg}} ${{matrix.os.arch}} + if: matrix.os.matrix == 'linux' + run: | + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}} && python${{matrix.os.pyver}} setup.py test" + + - name: Pepare wheel for upload + if: matrix.os.matrix == 'linux' + run: | + sudo cp -v ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel/zstd-${{matrix.os.version}}/dist/* ./dist + sudo ls -lh ./dist/* + sudo mv -v ./dist/"zstd-${{matrix.os.version}}-${{matrix.os.pyengine_tag}}-linux_${{matrix.os.tag_arch}}.whl" ./dist/"zstd-${{matrix.os.version}}-${{matrix.os.pyengine_tag}}-${{matrix.os.libc_tag}}_${{matrix.os.tag_arch}}.whl" + sudo rm -vf ./dist/*.tar.gz + + - name: Build ${{ matrix.os.name }} wheels and test (old) + uses: pypa/cibuildwheel@v1.12.0 + if: matrix.cibw.group == 'old' + with: + output-dir: dist + env: + CIBW_BUILD: ${{ matrix.cibw.build }} + # Skip 32-bit builds // NO + # CIBW_SKIP: '*-win32 *_i686' + CIBW_MANYLINUX_I686_IMAGE: manylinux1 + CIBW_MANYLINUX_X86_64_IMAGE: manylinux1 + CIBW_MUSLLINUX_I686_IMAGE: musllinux_1_2 + CIBW_MUSLLINUX_X86_64_IMAGE: musllinux_1_2 + # Only build on x86 and arm64 for linux + CIBW_ARCHS_LINUX: i686 x86_64 + CIBW_BEFORE_ALL_LINUX: > + python -m pip install --upgrade pip + # CIBW_ARCHS_MACOS: x86_64 arm64 universal2 + # Building two wheels for MacOS and skipping Universal + CIBW_ARCHS_MACOS: x86_64 + # Skip testing Apple Silicon until there are GH runners + CIBW_TEST_SKIP: '*_arm64 *_universal2:arm64' + CIBW_BEFORE_ALL_MACOS: > + python -m pip install --upgrade pip + # CIBW_ENVIRONMENT_MACOS: MACOSX_DEPLOYMENT_TARGET=11.7 + CIBW_BUILD_VERBOSITY_MACOS: 0 + CIBW_BEFORE_ALL_WINDOWS: > + python -m pip install --upgrade pip + CIBW_TEST_COMMAND: > + python -m unittest discover -v -s {package} + + - name: Build ${{ matrix.os.name }} wheels and test (new) + uses: joerick/cibuildwheel@v2.22.0 + if: matrix.cibw.group == 'new' + with: + output-dir: dist + env: + CIBW_BUILD: ${{ matrix.cibw.build }} + # Skip 32-bit builds // NO + # CIBW_SKIP: '*-win32 *_i686' + CIBW_MANYLINUX_I686_IMAGE: manylinux2014 + CIBW_MANYLINUX_X86_64_IMAGE: manylinux2014 + CIBW_MANYLINUX_AARCH64_IMAGE: manylinux2014 + CIBW_MUSLLINUX_I686_IMAGE: musllinux_1_1 + CIBW_MUSLLINUX_X86_64_IMAGE: musllinux_1_1 + # Only build on x86 and arm64 for linux + CIBW_ARCHS_LINUX: auto aarch64 + CIBW_BEFORE_ALL_LINUX: > + python -m pip install --upgrade pip + # CIBW_ARCHS_MACOS: x86_64 arm64 universal2 + # Building two wheels for MacOS and skipping Universal + CIBW_ARCHS_MACOS: x86_64 arm64 + # Skip testing Apple Silicon until there are GH runners + CIBW_TEST_SKIP: '*_arm64 *_universal2:arm64' + CIBW_BEFORE_ALL_MACOS: > + python -m pip install --upgrade pip + # CIBW_ENVIRONMENT_MACOS: MACOSX_DEPLOYMENT_TARGET=11.7 + CIBW_BUILD_VERBOSITY_MACOS: 0 + CIBW_BEFORE_ALL_WINDOWS: > + python -m pip install --upgrade pip + CIBW_TEST_COMMAND: > + python -m unittest discover -v -s {package} + +# - name: Upload artifacts +# uses: actions/upload-artifact@v4 +# with: +# name: wheels +#. path: ./dist +# compression-level: 0 + + - name: Test for secrets access + id: check_secrets + # If a third party makes a pull request + # this allows automated steps below to be skipped + # and leave a clean PR CI run + shell: bash + run: | + unset HAS_SECRET + unset HAS_SECRET_TEST + if [ -n "$SECRET" ]; then HAS_SECRET='true' ; fi + if [ -n "$SECRET_TEST" ]; then HAS_SECRET_TEST='true' ; fi + echo ::set-output name=HAS_SECRET::${HAS_SECRET} + echo ::set-output name=HAS_SECRET_TEST::${HAS_SECRET_TEST} + env: + SECRET: "${{ secrets.pypi_password }}" + SECRET_TEST: "${{ secrets.test_pypi_password }}" + + - name: Install twine + run: pip install twine + + - name: Publish distribution to PyPI + if: > + startsWith(github.event.ref, 'refs/tags') && + steps.check_secrets.outputs.HAS_SECRET + env: + # If the PR/Push has secret access + # and PYPI_PASSWORD is in GH Secrets for this repo + # and this is a tag, publish to PyPI + TWINE_REPOSITORY_URL: https://upload.pypi.org/legacy/ + TWINE_USERNAME: "${{ secrets.pypi_username }}" + TWINE_NON_INTERACTIVE: 1 + TWINE_PASSWORD: "${{ secrets.pypi_password }}" + run: twine upload --non-interactive --skip-existing --verbose 'dist/*' + + - name: Publish distribution to Test PyPI + if: steps.check_secrets.outputs.HAS_SECRET + env: + # If the PR/Push has secret access + # and TEST_PYPI_PASSWORD is in GH Secrets for this repo + # then publish each build to test PyPI + TWINE_REPOSITORY_URL: https://test.pypi.org/legacy/ + TWINE_USERNAME: "${{ secrets.test_pypi_username }}" + TWINE_NON_INTERACTIVE: 1 + TWINE_PASSWORD: "${{ secrets.test_pypi_password }}" + run: twine upload --non-interactive --skip-existing --verbose 'dist/*' + From b6505839fa4627bf570bd4fda79a683fa08e6401 Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Sat, 8 Feb 2025 17:31:48 +0300 Subject: [PATCH 135/353] Update README.rst --- README.rst | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/README.rst b/README.rst index 233ea3469..43c010591 100644 --- a/README.rst +++ b/README.rst @@ -20,6 +20,12 @@ python-zstd .. |cpython34x64| image:: https://github.com/sergey-dryabzhinsky/python-zstd/actions/workflows/Build_wheels_for_cpython34_x86_64.yml/badge.svg :target: https://github.com/sergey-dryabzhinsky/python-zstd/actions/workflows/Build_wheels_for_cpython34_x86_64.yml +.. |cpython35x86| image:: https://github.com/sergey-dryabzhinsky/python-zstd/actions/workflows/Build_wheels_for_cpython35_x86.yml/badge.svg + :target: https://github.com/sergey-dryabzhinsky/python-zstd/actions/workflows/Build_wheels_for_cpython35_x86.yml + +.. |cpython35x64| image:: https://github.com/sergey-dryabzhinsky/python-zstd/actions/workflows/Build_wheels_for_cpython35_x86_64.yml/badge.svg + :target: https://github.com/sergey-dryabzhinsky/python-zstd/actions/workflows/Build_wheels_for_cpython35_x86_64.yml + +------------+---------------------+ | wheels for | status | +=================+================+ @@ -31,6 +37,10 @@ python-zstd +-----------------+----------------+ | cpython 3.4 x64 | |cpython34x64| | +-----------------+----------------+ +| cpython 3.5 x86 | |cpython35x86| | ++-----------------+----------------+ +| cpython 3.5 x64 | |cpython35x64| | ++-----------------+----------------+ | Release | |releaseW| | | 1.5.6.2 | | +-----------------+----------------+ From 758169b2c601146802db072d4bf65deb65566740 Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Sat, 8 Feb 2025 18:44:51 +0300 Subject: [PATCH 136/353] Update Build_wheels_for_cpython34_x86.yml --- .github/workflows/Build_wheels_for_cpython34_x86.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/Build_wheels_for_cpython34_x86.yml b/.github/workflows/Build_wheels_for_cpython34_x86.yml index d8a0dbfd3..de8b79c97 100644 --- a/.github/workflows/Build_wheels_for_cpython34_x86.yml +++ b/.github/workflows/Build_wheels_for_cpython34_x86.yml @@ -23,7 +23,7 @@ jobs: mirror: http://azure.archive.ubuntu.com/ubuntu version: 1.5.6.3 pyver: "3.4" - getpipurl: https://bootstrap.pypa.io/pip/2.7/get-pip.py + getpipurl: https://bootstrap.pypa.io/pip/3.4/get-pip.py pypkg: python3.4 pyengine_tag: cp34-cp34m libc_tag: manylinux_2_17 From b75dd61c97f1c7da01b9d08a774524ea738858d5 Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Sat, 8 Feb 2025 18:45:20 +0300 Subject: [PATCH 137/353] Update Build_wheels_for_cpython34_x86_64.yml --- .github/workflows/Build_wheels_for_cpython34_x86_64.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/Build_wheels_for_cpython34_x86_64.yml b/.github/workflows/Build_wheels_for_cpython34_x86_64.yml index 8c0f85333..e5688bbcc 100644 --- a/.github/workflows/Build_wheels_for_cpython34_x86_64.yml +++ b/.github/workflows/Build_wheels_for_cpython34_x86_64.yml @@ -23,7 +23,7 @@ jobs: mirror: http://azure.archive.ubuntu.com/ubuntu version: 1.5.6.3 pyver: "3.4" - getpipurl: https://bootstrap.pypa.io/pip/2.7/get-pip.py + getpipurl: https://bootstrap.pypa.io/pip/3.4/get-pip.py pypkg: python3.4 pyengine_tag: cp34-cp34m libc_tag: manylinux_2_17 From 379d00b53ed04f4829a0a05cd57711713d94726e Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Sat, 8 Feb 2025 18:46:19 +0300 Subject: [PATCH 138/353] Update Build_wheels_for_cpython35_x86.yml --- .github/workflows/Build_wheels_for_cpython35_x86.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/Build_wheels_for_cpython35_x86.yml b/.github/workflows/Build_wheels_for_cpython35_x86.yml index 92394ef8f..8ddf6d360 100644 --- a/.github/workflows/Build_wheels_for_cpython35_x86.yml +++ b/.github/workflows/Build_wheels_for_cpython35_x86.yml @@ -23,7 +23,7 @@ jobs: mirror: http://azure.archive.ubuntu.com/ubuntu version: 1.5.6.3 pyver: "3.5" - getpipurl: https://bootstrap.pypa.io/pip/2.7/get-pip.py + getpipurl: https://bootstrap.pypa.io/pip/3.5/get-pip.py pypkg: python3.5 pyengine_tag: cp35-cp35m libc_tag: manylinux_2_17 From 31bc1e831129d702d17cf484127702d770ac569a Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Sat, 8 Feb 2025 18:46:48 +0300 Subject: [PATCH 139/353] Update Build_wheels_for_cpython35_x86_64.yml --- .github/workflows/Build_wheels_for_cpython35_x86_64.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/Build_wheels_for_cpython35_x86_64.yml b/.github/workflows/Build_wheels_for_cpython35_x86_64.yml index 18132dabe..f59f06e08 100644 --- a/.github/workflows/Build_wheels_for_cpython35_x86_64.yml +++ b/.github/workflows/Build_wheels_for_cpython35_x86_64.yml @@ -23,7 +23,7 @@ jobs: mirror: http://azure.archive.ubuntu.com/ubuntu version: 1.5.6.3 pyver: "3.5" - getpipurl: https://bootstrap.pypa.io/pip/2.7/get-pip.py + getpipurl: https://bootstrap.pypa.io/pip/3.5/get-pip.py pypkg: python3.5 pyengine_tag: cp35-cp35m libc_tag: manylinux_2_17 From d1d93ffc011066b899bb9aad4bf15537d3510555 Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Sat, 8 Feb 2025 18:49:16 +0300 Subject: [PATCH 140/353] Create Build_wheels_for_cpython36_x86.yml --- .../Build_wheels_for_cpython36_x86.yml | 232 ++++++++++++++++++ 1 file changed, 232 insertions(+) create mode 100644 .github/workflows/Build_wheels_for_cpython36_x86.yml diff --git a/.github/workflows/Build_wheels_for_cpython36_x86.yml b/.github/workflows/Build_wheels_for_cpython36_x86.yml new file mode 100644 index 000000000..c6e5c507c --- /dev/null +++ b/.github/workflows/Build_wheels_for_cpython36_x86.yml @@ -0,0 +1,232 @@ +name: Build wheels for CPython3.6 x86 + +on: [push, pull_request] + +concurrency: + group: ${{ github.ref }}-${{ github.workflow }}-${{ github.event_name }}-${{ github.ref == format('refs/heads/{0}', github.event.repository.default_branch) && github.sha || '' }} + cancel-in-progress: true + +jobs: + build_wheels: + name: Build wheel - ${{ matrix.os.name }} + runs-on: ${{ matrix.os.runs-on }} + strategy: + fail-fast: false + matrix: + os: + - name: Ubuntu 24+16 i386 CPython 3.6 + runs-on: ubuntu-latest + matrix: linux + arch: i386 + tag_arch: i686 + release: xenial + mirror: http://azure.archive.ubuntu.com/ubuntu + version: 1.5.6.3 + pyver: "3.6" + getpipurl: https://bootstrap.pypa.io/pip/3.6/get-pip.py + pypkg: python3.6 + pyengine_tag: cp36-cp36m + libc_tag: manylinux_2_17 + steps: + - name: Checkout code + uses: actions/checkout@v4 + with: + submodules: 'recursive' + + - name: Update and upgrade Ubuntu 24 + if: matrix.os.matrix == 'linux' + run: | + sudo which apt + sudo apt update; + sudo apt purge -y firefox lxd snapd; + sudo apt install -y zram-config; + sudo apt list --upgradable; + sudo apt upgrade -y; + sudo apt install -f + + - name: Build source distribution with Ubuntu + if: matrix.os.matrix == 'linux' + run: | + sudo apt install -y devscripts debootstrap qemu-user; + pip install build; + python -m build --sdist --outdir dist . + + - name: Debootstrap Ubuntu ${{matrix.os.release}} ${{matrix.os.arch}} + if: matrix.os.matrix == 'linux' + run: | + sudo debootstrap --no-merged-usr --verbose --include=sudo,wget,curl,ca-certificates --arch=${{matrix.os.arch}} ${{matrix.os.release}} ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} ${{matrix.os.mirror}} || tail ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/debootstrap/debootstrap.log + + - name: Update and Upgrade Ubuntu ${{matrix.os.release}} + if: matrix.os.matrix == 'linux' + run: | + sudo mkdir -p ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel + 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 + 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' + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /usr/bin/apt update + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /usr/bin/apt upgrade -y + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /usr/bin/apt -fy install + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /usr/bin/apt upgrade -y + + + - 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 + + - 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}} /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'" + + - name: Pepare source and build wheel for ${{matrix.os.pypkg}} ${{matrix.os.arch}} + if: matrix.os.matrix == 'linux' + run: | + sudo mkdir -p ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel/ + sudo tar -xvf dist/zstd-${{matrix.os.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}} /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}} && ZSTD_ASM=1 _ZSTD_ASM_BMI2=1 ZSTD_THREADS=1 _ZSTD_EXTERNAL=0 python${{matrix.os.pyver}} setup.py bdist_wheel clean" + + - name: Test wheel for ${{matrix.os.pypkg}} ${{matrix.os.arch}} + if: matrix.os.matrix == 'linux' + run: | + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}} && python${{matrix.os.pyver}} setup.py test" + + - name: Pepare wheel for upload + if: matrix.os.matrix == 'linux' + run: | + sudo cp -v ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel/zstd-${{matrix.os.version}}/dist/* ./dist + sudo ls -lh ./dist/* + sudo mv -v ./dist/"zstd-${{matrix.os.version}}-${{matrix.os.pyengine_tag}}-linux_${{matrix.os.tag_arch}}.whl" ./dist/"zstd-${{matrix.os.version}}-${{matrix.os.pyengine_tag}}-${{matrix.os.libc_tag}}_${{matrix.os.tag_arch}}.whl" + sudo rm -vf ./dist/*.tar.gz + + - name: Build ${{ matrix.os.name }} wheels and test (old) + uses: pypa/cibuildwheel@v1.12.0 + if: matrix.cibw.group == 'old' + with: + output-dir: dist + env: + CIBW_BUILD: ${{ matrix.cibw.build }} + # Skip 32-bit builds // NO + # CIBW_SKIP: '*-win32 *_i686' + CIBW_MANYLINUX_I686_IMAGE: manylinux1 + CIBW_MANYLINUX_X86_64_IMAGE: manylinux1 + CIBW_MUSLLINUX_I686_IMAGE: musllinux_1_2 + CIBW_MUSLLINUX_X86_64_IMAGE: musllinux_1_2 + # Only build on x86 and arm64 for linux + CIBW_ARCHS_LINUX: i686 x86_64 + CIBW_BEFORE_ALL_LINUX: > + python -m pip install --upgrade pip + # CIBW_ARCHS_MACOS: x86_64 arm64 universal2 + # Building two wheels for MacOS and skipping Universal + CIBW_ARCHS_MACOS: x86_64 + # Skip testing Apple Silicon until there are GH runners + CIBW_TEST_SKIP: '*_arm64 *_universal2:arm64' + CIBW_BEFORE_ALL_MACOS: > + python -m pip install --upgrade pip + # CIBW_ENVIRONMENT_MACOS: MACOSX_DEPLOYMENT_TARGET=11.7 + CIBW_BUILD_VERBOSITY_MACOS: 0 + CIBW_BEFORE_ALL_WINDOWS: > + python -m pip install --upgrade pip + CIBW_TEST_COMMAND: > + python -m unittest discover -v -s {package} + + - name: Build ${{ matrix.os.name }} wheels and test (new) + uses: joerick/cibuildwheel@v2.22.0 + if: matrix.cibw.group == 'new' + with: + output-dir: dist + env: + CIBW_BUILD: ${{ matrix.cibw.build }} + # Skip 32-bit builds // NO + # CIBW_SKIP: '*-win32 *_i686' + CIBW_MANYLINUX_I686_IMAGE: manylinux2014 + CIBW_MANYLINUX_X86_64_IMAGE: manylinux2014 + CIBW_MANYLINUX_AARCH64_IMAGE: manylinux2014 + CIBW_MUSLLINUX_I686_IMAGE: musllinux_1_1 + CIBW_MUSLLINUX_X86_64_IMAGE: musllinux_1_1 + # Only build on x86 and arm64 for linux + CIBW_ARCHS_LINUX: auto aarch64 + CIBW_BEFORE_ALL_LINUX: > + python -m pip install --upgrade pip + # CIBW_ARCHS_MACOS: x86_64 arm64 universal2 + # Building two wheels for MacOS and skipping Universal + CIBW_ARCHS_MACOS: x86_64 arm64 + # Skip testing Apple Silicon until there are GH runners + CIBW_TEST_SKIP: '*_arm64 *_universal2:arm64' + CIBW_BEFORE_ALL_MACOS: > + python -m pip install --upgrade pip + # CIBW_ENVIRONMENT_MACOS: MACOSX_DEPLOYMENT_TARGET=11.7 + CIBW_BUILD_VERBOSITY_MACOS: 0 + CIBW_BEFORE_ALL_WINDOWS: > + python -m pip install --upgrade pip + CIBW_TEST_COMMAND: > + python -m unittest discover -v -s {package} + +# - name: Upload artifacts +# uses: actions/upload-artifact@v4 +# with: +# name: wheels +#. path: ./dist +# compression-level: 0 + + - name: Test for secrets access + id: check_secrets + # If a third party makes a pull request + # this allows automated steps below to be skipped + # and leave a clean PR CI run + shell: bash + run: | + unset HAS_SECRET + unset HAS_SECRET_TEST + if [ -n "$SECRET" ]; then HAS_SECRET='true' ; fi + if [ -n "$SECRET_TEST" ]; then HAS_SECRET_TEST='true' ; fi + echo ::set-output name=HAS_SECRET::${HAS_SECRET} + echo ::set-output name=HAS_SECRET_TEST::${HAS_SECRET_TEST} + env: + SECRET: "${{ secrets.pypi_password }}" + SECRET_TEST: "${{ secrets.test_pypi_password }}" + + - name: Install twine + run: pip install twine + + - name: Publish distribution to PyPI + if: > + startsWith(github.event.ref, 'refs/tags') && + steps.check_secrets.outputs.HAS_SECRET + env: + # If the PR/Push has secret access + # and PYPI_PASSWORD is in GH Secrets for this repo + # and this is a tag, publish to PyPI + TWINE_REPOSITORY_URL: https://upload.pypi.org/legacy/ + TWINE_USERNAME: "${{ secrets.pypi_username }}" + TWINE_NON_INTERACTIVE: 1 + TWINE_PASSWORD: "${{ secrets.pypi_password }}" + run: twine upload --non-interactive --skip-existing --verbose 'dist/*' + + - name: Publish distribution to Test PyPI + if: steps.check_secrets.outputs.HAS_SECRET + env: + # If the PR/Push has secret access + # and TEST_PYPI_PASSWORD is in GH Secrets for this repo + # then publish each build to test PyPI + TWINE_REPOSITORY_URL: https://test.pypi.org/legacy/ + TWINE_USERNAME: "${{ secrets.test_pypi_username }}" + TWINE_NON_INTERACTIVE: 1 + TWINE_PASSWORD: "${{ secrets.test_pypi_password }}" + run: twine upload --non-interactive --skip-existing --verbose 'dist/*' + From d83e05029f2e4d320c0ed0d602127b5f3caf9b19 Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Sat, 8 Feb 2025 18:51:42 +0300 Subject: [PATCH 141/353] Create Build_wheels_for_cpython36_x86_64.yml --- .../Build_wheels_for_cpython36_x86_64.yml | 232 ++++++++++++++++++ 1 file changed, 232 insertions(+) create mode 100644 .github/workflows/Build_wheels_for_cpython36_x86_64.yml diff --git a/.github/workflows/Build_wheels_for_cpython36_x86_64.yml b/.github/workflows/Build_wheels_for_cpython36_x86_64.yml new file mode 100644 index 000000000..5f5cb25f4 --- /dev/null +++ b/.github/workflows/Build_wheels_for_cpython36_x86_64.yml @@ -0,0 +1,232 @@ +name: Build wheels for CPython3.6 x86_64 + +on: [push, pull_request] + +concurrency: + group: ${{ github.ref }}-${{ github.workflow }}-${{ github.event_name }}-${{ github.ref == format('refs/heads/{0}', github.event.repository.default_branch) && github.sha || '' }} + cancel-in-progress: true + +jobs: + build_wheels: + name: Build wheel - ${{ matrix.os.name }} + runs-on: ${{ matrix.os.runs-on }} + strategy: + fail-fast: false + matrix: + os: + - name: Ubuntu 24+16 amd64 CPython 3.6 + runs-on: ubuntu-latest + matrix: linux + arch: i386 + tag_arch: x86_64 + release: xenial + mirror: http://azure.archive.ubuntu.com/ubuntu + version: 1.5.6.3 + pyver: "3.6" + getpipurl: https://bootstrap.pypa.io/pip/3.6/get-pip.py + pypkg: python3.6 + pyengine_tag: cp36-cp36m + libc_tag: manylinux_2_17 + steps: + - name: Checkout code + uses: actions/checkout@v4 + with: + submodules: 'recursive' + + - name: Update and upgrade Ubuntu 24 + if: matrix.os.matrix == 'linux' + run: | + sudo which apt + sudo apt update; + sudo apt purge -y firefox lxd snapd; + sudo apt install -y zram-config; + sudo apt list --upgradable; + sudo apt upgrade -y; + sudo apt install -f + + - name: Build source distribution with Ubuntu + if: matrix.os.matrix == 'linux' + run: | + sudo apt install -y devscripts debootstrap qemu-user; + pip install build; + python -m build --sdist --outdir dist . + + - name: Debootstrap Ubuntu ${{matrix.os.release}} ${{matrix.os.arch}} + if: matrix.os.matrix == 'linux' + run: | + sudo debootstrap --no-merged-usr --verbose --include=sudo,wget,curl,ca-certificates --arch=${{matrix.os.arch}} ${{matrix.os.release}} ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} ${{matrix.os.mirror}} || tail ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/debootstrap/debootstrap.log + + - name: Update and Upgrade Ubuntu ${{matrix.os.release}} + if: matrix.os.matrix == 'linux' + run: | + sudo mkdir -p ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel + 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 + 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' + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /usr/bin/apt update + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /usr/bin/apt upgrade -y + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /usr/bin/apt -fy install + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /usr/bin/apt upgrade -y + + + - 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 + + - 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}} /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'" + + - name: Pepare source and build wheel for ${{matrix.os.pypkg}} ${{matrix.os.arch}} + if: matrix.os.matrix == 'linux' + run: | + sudo mkdir -p ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel/ + sudo tar -xvf dist/zstd-${{matrix.os.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}} /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}} && ZSTD_ASM=1 _ZSTD_ASM_BMI2=1 ZSTD_THREADS=1 _ZSTD_EXTERNAL=0 python${{matrix.os.pyver}} setup.py bdist_wheel clean" + + - name: Test wheel for ${{matrix.os.pypkg}} ${{matrix.os.arch}} + if: matrix.os.matrix == 'linux' + run: | + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}} && python${{matrix.os.pyver}} setup.py test" + + - name: Pepare wheel for upload + if: matrix.os.matrix == 'linux' + run: | + sudo cp -v ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel/zstd-${{matrix.os.version}}/dist/* ./dist + sudo ls -lh ./dist/* + sudo mv -v ./dist/"zstd-${{matrix.os.version}}-${{matrix.os.pyengine_tag}}-linux_${{matrix.os.tag_arch}}.whl" ./dist/"zstd-${{matrix.os.version}}-${{matrix.os.pyengine_tag}}-${{matrix.os.libc_tag}}_${{matrix.os.tag_arch}}.whl" + sudo rm -vf ./dist/*.tar.gz + + - name: Build ${{ matrix.os.name }} wheels and test (old) + uses: pypa/cibuildwheel@v1.12.0 + if: matrix.cibw.group == 'old' + with: + output-dir: dist + env: + CIBW_BUILD: ${{ matrix.cibw.build }} + # Skip 32-bit builds // NO + # CIBW_SKIP: '*-win32 *_i686' + CIBW_MANYLINUX_I686_IMAGE: manylinux1 + CIBW_MANYLINUX_X86_64_IMAGE: manylinux1 + CIBW_MUSLLINUX_I686_IMAGE: musllinux_1_2 + CIBW_MUSLLINUX_X86_64_IMAGE: musllinux_1_2 + # Only build on x86 and arm64 for linux + CIBW_ARCHS_LINUX: i686 x86_64 + CIBW_BEFORE_ALL_LINUX: > + python -m pip install --upgrade pip + # CIBW_ARCHS_MACOS: x86_64 arm64 universal2 + # Building two wheels for MacOS and skipping Universal + CIBW_ARCHS_MACOS: x86_64 + # Skip testing Apple Silicon until there are GH runners + CIBW_TEST_SKIP: '*_arm64 *_universal2:arm64' + CIBW_BEFORE_ALL_MACOS: > + python -m pip install --upgrade pip + # CIBW_ENVIRONMENT_MACOS: MACOSX_DEPLOYMENT_TARGET=11.7 + CIBW_BUILD_VERBOSITY_MACOS: 0 + CIBW_BEFORE_ALL_WINDOWS: > + python -m pip install --upgrade pip + CIBW_TEST_COMMAND: > + python -m unittest discover -v -s {package} + + - name: Build ${{ matrix.os.name }} wheels and test (new) + uses: joerick/cibuildwheel@v2.22.0 + if: matrix.cibw.group == 'new' + with: + output-dir: dist + env: + CIBW_BUILD: ${{ matrix.cibw.build }} + # Skip 32-bit builds // NO + # CIBW_SKIP: '*-win32 *_i686' + CIBW_MANYLINUX_I686_IMAGE: manylinux2014 + CIBW_MANYLINUX_X86_64_IMAGE: manylinux2014 + CIBW_MANYLINUX_AARCH64_IMAGE: manylinux2014 + CIBW_MUSLLINUX_I686_IMAGE: musllinux_1_1 + CIBW_MUSLLINUX_X86_64_IMAGE: musllinux_1_1 + # Only build on x86 and arm64 for linux + CIBW_ARCHS_LINUX: auto aarch64 + CIBW_BEFORE_ALL_LINUX: > + python -m pip install --upgrade pip + # CIBW_ARCHS_MACOS: x86_64 arm64 universal2 + # Building two wheels for MacOS and skipping Universal + CIBW_ARCHS_MACOS: x86_64 arm64 + # Skip testing Apple Silicon until there are GH runners + CIBW_TEST_SKIP: '*_arm64 *_universal2:arm64' + CIBW_BEFORE_ALL_MACOS: > + python -m pip install --upgrade pip + # CIBW_ENVIRONMENT_MACOS: MACOSX_DEPLOYMENT_TARGET=11.7 + CIBW_BUILD_VERBOSITY_MACOS: 0 + CIBW_BEFORE_ALL_WINDOWS: > + python -m pip install --upgrade pip + CIBW_TEST_COMMAND: > + python -m unittest discover -v -s {package} + +# - name: Upload artifacts +# uses: actions/upload-artifact@v4 +# with: +# name: wheels +#. path: ./dist +# compression-level: 0 + + - name: Test for secrets access + id: check_secrets + # If a third party makes a pull request + # this allows automated steps below to be skipped + # and leave a clean PR CI run + shell: bash + run: | + unset HAS_SECRET + unset HAS_SECRET_TEST + if [ -n "$SECRET" ]; then HAS_SECRET='true' ; fi + if [ -n "$SECRET_TEST" ]; then HAS_SECRET_TEST='true' ; fi + echo ::set-output name=HAS_SECRET::${HAS_SECRET} + echo ::set-output name=HAS_SECRET_TEST::${HAS_SECRET_TEST} + env: + SECRET: "${{ secrets.pypi_password }}" + SECRET_TEST: "${{ secrets.test_pypi_password }}" + + - name: Install twine + run: pip install twine + + - name: Publish distribution to PyPI + if: > + startsWith(github.event.ref, 'refs/tags') && + steps.check_secrets.outputs.HAS_SECRET + env: + # If the PR/Push has secret access + # and PYPI_PASSWORD is in GH Secrets for this repo + # and this is a tag, publish to PyPI + TWINE_REPOSITORY_URL: https://upload.pypi.org/legacy/ + TWINE_USERNAME: "${{ secrets.pypi_username }}" + TWINE_NON_INTERACTIVE: 1 + TWINE_PASSWORD: "${{ secrets.pypi_password }}" + run: twine upload --non-interactive --skip-existing --verbose 'dist/*' + + - name: Publish distribution to Test PyPI + if: steps.check_secrets.outputs.HAS_SECRET + env: + # If the PR/Push has secret access + # and TEST_PYPI_PASSWORD is in GH Secrets for this repo + # then publish each build to test PyPI + TWINE_REPOSITORY_URL: https://test.pypi.org/legacy/ + TWINE_USERNAME: "${{ secrets.test_pypi_username }}" + TWINE_NON_INTERACTIVE: 1 + TWINE_PASSWORD: "${{ secrets.test_pypi_password }}" + run: twine upload --non-interactive --skip-existing --verbose 'dist/*' + From 0ddbf3d38347e41774f349d89b40d9cd3ecd81e5 Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Sat, 8 Feb 2025 20:45:05 +0300 Subject: [PATCH 142/353] Update Build_wheels_for_cpython35_x86_64.yml --- .github/workflows/Build_wheels_for_cpython35_x86_64.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/Build_wheels_for_cpython35_x86_64.yml b/.github/workflows/Build_wheels_for_cpython35_x86_64.yml index f59f06e08..619b6493e 100644 --- a/.github/workflows/Build_wheels_for_cpython35_x86_64.yml +++ b/.github/workflows/Build_wheels_for_cpython35_x86_64.yml @@ -17,7 +17,7 @@ jobs: - name: Ubuntu 24+16 amd64 CPython 3.5 runs-on: ubuntu-latest matrix: linux - arch: i386 + arch: amd64 tag_arch: x86_64 release: xenial mirror: http://azure.archive.ubuntu.com/ubuntu From 5cf4d8977e9d56bef18ccae7ef419f824b1699e3 Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Sat, 8 Feb 2025 20:45:52 +0300 Subject: [PATCH 143/353] Update Build_wheels_for_cpython36_x86_64.yml --- .github/workflows/Build_wheels_for_cpython36_x86_64.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/Build_wheels_for_cpython36_x86_64.yml b/.github/workflows/Build_wheels_for_cpython36_x86_64.yml index 5f5cb25f4..bb1c64e3b 100644 --- a/.github/workflows/Build_wheels_for_cpython36_x86_64.yml +++ b/.github/workflows/Build_wheels_for_cpython36_x86_64.yml @@ -17,7 +17,7 @@ jobs: - name: Ubuntu 24+16 amd64 CPython 3.6 runs-on: ubuntu-latest matrix: linux - arch: i386 + arch: amd64 tag_arch: x86_64 release: xenial mirror: http://azure.archive.ubuntu.com/ubuntu From 8df6bd547d2c647875b96d4d53e917e2bcf73671 Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Sat, 8 Feb 2025 20:57:20 +0300 Subject: [PATCH 144/353] Update README.rst --- README.rst | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/README.rst b/README.rst index 43c010591..d5ec229ad 100644 --- a/README.rst +++ b/README.rst @@ -26,6 +26,12 @@ python-zstd .. |cpython35x64| image:: https://github.com/sergey-dryabzhinsky/python-zstd/actions/workflows/Build_wheels_for_cpython35_x86_64.yml/badge.svg :target: https://github.com/sergey-dryabzhinsky/python-zstd/actions/workflows/Build_wheels_for_cpython35_x86_64.yml +.. |cpython36x86| image:: https://github.com/sergey-dryabzhinsky/python-zstd/actions/workflows/Build_wheels_for_cpython36_x86.yml/badge.svg + :target: https://github.com/sergey-dryabzhinsky/python-zstd/actions/workflows/Build_wheels_for_cpython36_x86.yml + +.. |cpython36x64| image:: https://github.com/sergey-dryabzhinsky/python-zstd/actions/workflows/Build_wheels_for_cpython36_x86_64.yml/badge.svg + :target: https://github.com/sergey-dryabzhinsky/python-zstd/actions/workflows/Build_wheels_for_cpython36_x86_64.yml + +------------+---------------------+ | wheels for | status | +=================+================+ @@ -41,6 +47,10 @@ python-zstd +-----------------+----------------+ | cpython 3.5 x64 | |cpython35x64| | +-----------------+----------------+ +| cpython 3.6 x86 | |cpython36x86| | ++-----------------+----------------+ +| cpython 3.6 x64 | |cpython36x64| | ++-----------------+----------------+ | Release | |releaseW| | | 1.5.6.2 | | +-----------------+----------------+ From a8a0b125c571ed3a94eff9511e76d1337dd08f7d Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Sat, 8 Feb 2025 21:31:47 +0300 Subject: [PATCH 145/353] Update Build_wheels_for_cpython34_x86_64.yml --- .github/workflows/Build_wheels_for_cpython34_x86_64.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/Build_wheels_for_cpython34_x86_64.yml b/.github/workflows/Build_wheels_for_cpython34_x86_64.yml index e5688bbcc..3db202fe2 100644 --- a/.github/workflows/Build_wheels_for_cpython34_x86_64.yml +++ b/.github/workflows/Build_wheels_for_cpython34_x86_64.yml @@ -17,7 +17,7 @@ jobs: - name: Ubuntu 24+16 amd64 CPython 3.4 runs-on: ubuntu-latest matrix: linux - arch: i386 + arch: amd64 tag_arch: x86_64 release: xenial mirror: http://azure.archive.ubuntu.com/ubuntu From 6a49e1f84c303c8f1833993ab6c845c2c1608e39 Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Sat, 8 Feb 2025 21:54:18 +0300 Subject: [PATCH 146/353] Update Build_wheels_for_cpython36_x86.yml --- .github/workflows/Build_wheels_for_cpython36_x86.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/Build_wheels_for_cpython36_x86.yml b/.github/workflows/Build_wheels_for_cpython36_x86.yml index c6e5c507c..6169e9812 100644 --- a/.github/workflows/Build_wheels_for_cpython36_x86.yml +++ b/.github/workflows/Build_wheels_for_cpython36_x86.yml @@ -25,6 +25,7 @@ jobs: pyver: "3.6" getpipurl: https://bootstrap.pypa.io/pip/3.6/get-pip.py pypkg: python3.6 + pypkgadd: python3.6-distutils pyengine_tag: cp36-cp36m libc_tag: manylinux_2_17 steps: From 7d5bf87d0dd25a20993b5406590d35bebb5a73a2 Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Sat, 8 Feb 2025 21:55:15 +0300 Subject: [PATCH 147/353] Update Build_wheels_for_cpython36_x86_64.yml --- .github/workflows/Build_wheels_for_cpython36_x86_64.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/Build_wheels_for_cpython36_x86_64.yml b/.github/workflows/Build_wheels_for_cpython36_x86_64.yml index bb1c64e3b..b9d4d1042 100644 --- a/.github/workflows/Build_wheels_for_cpython36_x86_64.yml +++ b/.github/workflows/Build_wheels_for_cpython36_x86_64.yml @@ -25,6 +25,7 @@ jobs: pyver: "3.6" getpipurl: https://bootstrap.pypa.io/pip/3.6/get-pip.py pypkg: python3.6 + pypkgadd: python3.6-distutils pyengine_tag: cp36-cp36m libc_tag: manylinux_2_17 steps: From 883624879bd8e79f1f85cd1668f0c2058bfa62d7 Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Sun, 9 Feb 2025 10:43:17 +0300 Subject: [PATCH 148/353] Update debug_build-wheels.yml --- .github/workflows/debug_build-wheels.yml | 15 --------------- 1 file changed, 15 deletions(-) diff --git a/.github/workflows/debug_build-wheels.yml b/.github/workflows/debug_build-wheels.yml index d5191d609..bd9586e10 100644 --- a/.github/workflows/debug_build-wheels.yml +++ b/.github/workflows/debug_build-wheels.yml @@ -303,21 +303,6 @@ jobs: with: submodules: 'recursive' - - uses: actions/setup-python@v5 - name: Install Python - with: - python-version: '3.12' - - - name: Prepare python - run: | - python -m pip install --upgrade pip - - - name: Set up QEMU - if: matrix.os.matrix == 'linux' - uses: docker/setup-qemu-action@v1 - with: - platforms: 'arm64' - - name: Update and upgrade Ubuntu 24 if: matrix.os.matrix == 'linux' run: | From 707b953771110f5003d6a0cc99dab7925b210aa5 Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Sun, 9 Feb 2025 10:49:44 +0300 Subject: [PATCH 149/353] Update Build_wheels_for_cpython36_x86.yml --- .../Build_wheels_for_cpython36_x86.yml | 62 ------------------- 1 file changed, 62 deletions(-) diff --git a/.github/workflows/Build_wheels_for_cpython36_x86.yml b/.github/workflows/Build_wheels_for_cpython36_x86.yml index 6169e9812..9bb3fd740 100644 --- a/.github/workflows/Build_wheels_for_cpython36_x86.yml +++ b/.github/workflows/Build_wheels_for_cpython36_x86.yml @@ -115,68 +115,6 @@ jobs: sudo mv -v ./dist/"zstd-${{matrix.os.version}}-${{matrix.os.pyengine_tag}}-linux_${{matrix.os.tag_arch}}.whl" ./dist/"zstd-${{matrix.os.version}}-${{matrix.os.pyengine_tag}}-${{matrix.os.libc_tag}}_${{matrix.os.tag_arch}}.whl" sudo rm -vf ./dist/*.tar.gz - - name: Build ${{ matrix.os.name }} wheels and test (old) - uses: pypa/cibuildwheel@v1.12.0 - if: matrix.cibw.group == 'old' - with: - output-dir: dist - env: - CIBW_BUILD: ${{ matrix.cibw.build }} - # Skip 32-bit builds // NO - # CIBW_SKIP: '*-win32 *_i686' - CIBW_MANYLINUX_I686_IMAGE: manylinux1 - CIBW_MANYLINUX_X86_64_IMAGE: manylinux1 - CIBW_MUSLLINUX_I686_IMAGE: musllinux_1_2 - CIBW_MUSLLINUX_X86_64_IMAGE: musllinux_1_2 - # Only build on x86 and arm64 for linux - CIBW_ARCHS_LINUX: i686 x86_64 - CIBW_BEFORE_ALL_LINUX: > - python -m pip install --upgrade pip - # CIBW_ARCHS_MACOS: x86_64 arm64 universal2 - # Building two wheels for MacOS and skipping Universal - CIBW_ARCHS_MACOS: x86_64 - # Skip testing Apple Silicon until there are GH runners - CIBW_TEST_SKIP: '*_arm64 *_universal2:arm64' - CIBW_BEFORE_ALL_MACOS: > - python -m pip install --upgrade pip - # CIBW_ENVIRONMENT_MACOS: MACOSX_DEPLOYMENT_TARGET=11.7 - CIBW_BUILD_VERBOSITY_MACOS: 0 - CIBW_BEFORE_ALL_WINDOWS: > - python -m pip install --upgrade pip - CIBW_TEST_COMMAND: > - python -m unittest discover -v -s {package} - - - name: Build ${{ matrix.os.name }} wheels and test (new) - uses: joerick/cibuildwheel@v2.22.0 - if: matrix.cibw.group == 'new' - with: - output-dir: dist - env: - CIBW_BUILD: ${{ matrix.cibw.build }} - # Skip 32-bit builds // NO - # CIBW_SKIP: '*-win32 *_i686' - CIBW_MANYLINUX_I686_IMAGE: manylinux2014 - CIBW_MANYLINUX_X86_64_IMAGE: manylinux2014 - CIBW_MANYLINUX_AARCH64_IMAGE: manylinux2014 - CIBW_MUSLLINUX_I686_IMAGE: musllinux_1_1 - CIBW_MUSLLINUX_X86_64_IMAGE: musllinux_1_1 - # Only build on x86 and arm64 for linux - CIBW_ARCHS_LINUX: auto aarch64 - CIBW_BEFORE_ALL_LINUX: > - python -m pip install --upgrade pip - # CIBW_ARCHS_MACOS: x86_64 arm64 universal2 - # Building two wheels for MacOS and skipping Universal - CIBW_ARCHS_MACOS: x86_64 arm64 - # Skip testing Apple Silicon until there are GH runners - CIBW_TEST_SKIP: '*_arm64 *_universal2:arm64' - CIBW_BEFORE_ALL_MACOS: > - python -m pip install --upgrade pip - # CIBW_ENVIRONMENT_MACOS: MACOSX_DEPLOYMENT_TARGET=11.7 - CIBW_BUILD_VERBOSITY_MACOS: 0 - CIBW_BEFORE_ALL_WINDOWS: > - python -m pip install --upgrade pip - CIBW_TEST_COMMAND: > - python -m unittest discover -v -s {package} # - name: Upload artifacts # uses: actions/upload-artifact@v4 From 0a3a16058d95dfe87d8da0bd83a163c761286f3c Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Sun, 9 Feb 2025 10:52:06 +0300 Subject: [PATCH 150/353] Update setup.py --- setup.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/setup.py b/setup.py index cef417406..c57f11c7c 100644 --- a/setup.py +++ b/setup.py @@ -4,7 +4,7 @@ import sys #debug -print("\ncmdline: %r" % (sys.argv,)) +# print("\ncmdline: %r" % (sys.argv,)) import subprocess import platform @@ -93,7 +93,8 @@ # And probably library paths by option: --library-dirs /usr/lib/i386-linux-gnu # We need pkg-config here! if os.path.exists(pkgconf): - print("pkg-config exists") + #debug + #print("pkg-config exists") cmd = [pkgconf, "libzstd", "--modversion"] if sys.hexversion >= 0x03000000: VERSION_STR=b'' @@ -269,6 +270,7 @@ def my_test_suite(): test_suite = unittest.TestSuite() test_suite.addTest(unittest.defaultTestLoader.loadTestsFromName("tests.test_compress")) test_suite.addTest(unittest.defaultTestLoader.loadTestsFromName("tests.test_version")) + test_suite.addTest(unittest.defaultTestLoader.loadTestsFromName("tests.test_speed")) return test_suite test_func_name = "setup.my_test_suite" From 9548301c2da93a0c89a01b02c5d7ed1c53e8b7c7 Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Sun, 9 Feb 2025 10:57:13 +0300 Subject: [PATCH 151/353] Update test_speed.py --- tests/test_speed.py | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/tests/test_speed.py b/tests/test_speed.py index 68f0d21e2..022da96bc 100644 --- a/tests/test_speed.py +++ b/tests/test_speed.py @@ -10,29 +10,29 @@ def test_00_system_info(self): log.info("Bundled libzstd uses threads? :%r" % zstd.ZSTD_with_threads()) def test_compression_speed(self): - log.info("\nWait 60 seconds...") - sec = 60 + wait = 30 + log.info("\nWait %d seconds..." % wait) sum = 0 l=len(tDATA) tbegin = time() - while time()-tbegin Date: Sun, 9 Feb 2025 11:35:28 +0300 Subject: [PATCH 152/353] Update test_speed.py --- tests/test_speed.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/tests/test_speed.py b/tests/test_speed.py index 022da96bc..80a0c1c21 100644 --- a/tests/test_speed.py +++ b/tests/test_speed.py @@ -35,17 +35,17 @@ def test_decompression_speed(self): log.info("Decompression speed average =%6f Mb/sec" % (1.0*sum/1024/1024/wait,)) def test_check_speed(self): - log.info("\nWait 60 seconds...") - sec = 60 + wait = 30 + log.info("\nWait %d seconds..." % wait) sum = 0 cdata = zstd.compress(tDATA) l=len(cdata) tbegin = time() - while time()-tbegin Date: Sun, 9 Feb 2025 11:37:31 +0300 Subject: [PATCH 153/353] Update debug_build-wheels.yml --- .github/workflows/debug_build-wheels.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/debug_build-wheels.yml b/.github/workflows/debug_build-wheels.yml index bd9586e10..071d26feb 100644 --- a/.github/workflows/debug_build-wheels.yml +++ b/.github/workflows/debug_build-wheels.yml @@ -369,7 +369,7 @@ jobs: sudo tar -xvf dist/zstd-${{matrix.os.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}} /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}} && ZSTD_ASM=1 _ZSTD_ASM_BMI2=1 ZSTD_THREADS=1 _ZSTD_EXTERNAL=0 python${{matrix.os.pyver}} setup.py bdist_wheel clean" + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}} && ZSTD_ASM=1 ZSTD_LEGACY=1 _ZSTD_ASM_BMI2=1 ZSTD_THREADS=1 _ZSTD_EXTERNAL=0 python${{matrix.os.pyver}} setup.py bdist_wheel clean" - name: Test wheel for ${{matrix.os.pypkg}} ${{matrix.os.arch}} if: matrix.os.matrix == 'linux' From cf7e346077d0fbd95baf30fd80fc9d61386397ca Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Sun, 9 Feb 2025 11:45:33 +0300 Subject: [PATCH 154/353] Update python-zstd.c --- src/python-zstd.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/python-zstd.c b/src/python-zstd.c index 084b95f05..c76983c05 100644 --- a/src/python-zstd.c +++ b/src/python-zstd.c @@ -302,6 +302,14 @@ static PyObject *py_zstd_library_version_int(PyObject* self, PyObject *args) return Py_BuildValue("i", ZSTD_VERSION_NUMBER); } +/** + * Returns ZSTD library legacy formats support + */ +static PyObject *py_zstd_library_legacy_format_support(PyObject* self, PyObject *args) +{ + return Py_BuildValue("i", ZSTD_LEGACY_SUPPORT); +} + /** * Returns 0 or 1 if ZSTD library build as external */ @@ -386,6 +394,7 @@ static PyMethodDef ZstdMethods[] = { {"ZSTD_max_compression_level", py_zstd_max_compression_level, METH_NOARGS, ZSTD_MAX_COMPRESSION_LEVEL_DOCSTRING}, {"ZSTD_external", py_zstd_library_external, METH_NOARGS, ZSTD_EXTERNAL_DOCSTRING}, + {"ZSTD_legacy_support", py_zstd_library_legacy_format_support, METH_NOARGS, ZSTD_LEGACY_DOCSTRING}, {"ZSTD_with_threads", py_zstd_with_threads, METH_NOARGS, ZSTD_WITH_THREADS_DOCSTRING}, {"ZSTD_with_asm", py_zstd_with_asm, METH_NOARGS, ZSTD_WITH_ASM_DOCSTRING}, {NULL, NULL, 0, NULL} From fea703075059b06db93dd7065d3ec64cbfbe2481 Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Sun, 9 Feb 2025 11:50:48 +0300 Subject: [PATCH 155/353] Update python-zstd.h --- src/python-zstd.h | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/python-zstd.h b/src/python-zstd.h index 5bec59845..40dae914d 100644 --- a/src/python-zstd.h +++ b/src/python-zstd.h @@ -52,6 +52,11 @@ #define ZSTD_MULTITHREAD 1 #endif +/*-===== Do you build legacy format support? =====-*/ +#ifndef ZSTD_LEGACY_SUPPORT +#define ZSTD_LEGACY_SUPPORT 0 +#endif + /*-===== Pre-defined compression levels =====-*/ #ifndef ZSTD_CLEVEL_DEFAULT #define ZSTD_CLEVEL_DEFAULT 3 @@ -117,6 +122,7 @@ Raises a zstd.Error exception if any error occurs." #define ZSTD_VERSION_DOCSTRING "ZSTD_version(): string -- Returns ZSTD library version as string." #define ZSTD_INT_VERSION_DOCSTRING "ZSTD_version_number(): int -- Returns ZSTD library version as integer.\n Format of the number is: major * 100*100 + minor * 100 + release." #define ZSTD_EXTERNAL_DOCSTRING "ZSTD_external(): int -- Returns 0 or 1 if ZSTD library build as external." +#define ZSTD_LEGACY_DOCSTRING "ZSTD_legacy_support(): int -- Returns 0 or 1 if ZSTD library build with legacy formats support." #define ZSTD_WITH_THREADS_DOCSTRING "ZSTD_with_threads(): int -- Returns 0 or 1 if ZSTD library build with threads support." #define ZSTD_WITH_ASM_DOCSTRING "ZSTD_with_asm(): int -- Returns 0 or 1 if ZSTD library build with assembler support." #define ZSTD_THREADS_COUNT_DOCSTRING "ZSTD_threads_count(): int -- Returns ZSTD determined CPU cores count in integer." From 96ea0b47d0e9aa8a447889a333ec5d8528d875c6 Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Sun, 9 Feb 2025 11:53:15 +0300 Subject: [PATCH 156/353] Update base.py --- tests/base.py | 1 + 1 file changed, 1 insertion(+) diff --git a/tests/base.py b/tests/base.py index 8c1bd421f..62fa43f99 100644 --- a/tests/base.py +++ b/tests/base.py @@ -23,6 +23,7 @@ def raise_skip(msg): log.info("Python version: %s" % sys.version) log.info("Machine:%s; processor:%s; system:%r; release:%r" % ( platform.machine(), platform.processor(), platform.system(), platform.release())) log.info("libzstd linked external:%r"% zstd.ZSTD_external()) +log.info("libzstd built with legacy formats support:%r"% zstd.ZSTD_legacy_support()) log.info("zstd max number of threads:%r"% zstd.ZSTD_max_threads_count()) log.info("zstd max compression level:%r"% zstd.ZSTD_max_compression_level()) log.info("zstd min compression level:%r"% zstd.ZSTD_min_compression_level()) From ebcbdd72be489115901b72e00c7e3fb08379124d Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Sun, 9 Feb 2025 11:55:59 +0300 Subject: [PATCH 157/353] Update README.rst --- README.rst | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/README.rst b/README.rst index d5ec229ad..18a096e08 100644 --- a/README.rst +++ b/README.rst @@ -304,6 +304,11 @@ ZSTD_external (): int Since: 1.5.0.2 +ZSTD_legacy_support (): int + Returns 0 of 1 if ZSTD library built with legacy formats support. + + Since: 1.5.6.3 + ZSTD_with_threads (): int Returns 0 of 1 if bundled ZSTD library build with threads support. From b54bd457679c8e8ecfc3733823b8912ce2f3bd52 Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Sun, 9 Feb 2025 12:02:54 +0300 Subject: [PATCH 158/353] Update README.rst --- README.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.rst b/README.rst index 18a096e08..4291de611 100644 --- a/README.rst +++ b/README.rst @@ -32,8 +32,8 @@ python-zstd .. |cpython36x64| image:: https://github.com/sergey-dryabzhinsky/python-zstd/actions/workflows/Build_wheels_for_cpython36_x86_64.yml/badge.svg :target: https://github.com/sergey-dryabzhinsky/python-zstd/actions/workflows/Build_wheels_for_cpython36_x86_64.yml -+------------+---------------------+ -| wheels for | status | ++-----------------+----------------+ +| wheels for: | status | +=================+================+ | cpython 2.7 x86 | |cpython27x86| | +-----------------+----------------+ From a1da2d4e8776959b133be9bc173779c7bfc71b34 Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Sun, 9 Feb 2025 13:07:50 +0300 Subject: [PATCH 159/353] Update base.py --- tests/base.py | 1 + 1 file changed, 1 insertion(+) diff --git a/tests/base.py b/tests/base.py index 62fa43f99..17eb9b00e 100644 --- a/tests/base.py +++ b/tests/base.py @@ -25,6 +25,7 @@ def raise_skip(msg): log.info("libzstd linked external:%r"% zstd.ZSTD_external()) log.info("libzstd built with legacy formats support:%r"% zstd.ZSTD_legacy_support()) log.info("zstd max number of threads:%r"% zstd.ZSTD_max_threads_count()) +log.info("zstd found CPU cores :%r"% zstd.ZSTD_threads_count()) log.info("zstd max compression level:%r"% zstd.ZSTD_max_compression_level()) log.info("zstd min compression level:%r"% zstd.ZSTD_min_compression_level()) log.info("pyzstd module version: %r"% zstd.version()) From 5bb91840f07727ac03527168ce696e5e8e4a3a72 Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Sun, 9 Feb 2025 14:05:12 +0300 Subject: [PATCH 160/353] Update Build_wheels_for_cpython36_x86.yml --- .github/workflows/Build_wheels_for_cpython36_x86.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/Build_wheels_for_cpython36_x86.yml b/.github/workflows/Build_wheels_for_cpython36_x86.yml index 9bb3fd740..924aed8bd 100644 --- a/.github/workflows/Build_wheels_for_cpython36_x86.yml +++ b/.github/workflows/Build_wheels_for_cpython36_x86.yml @@ -92,7 +92,9 @@ 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.0'" - + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "${{matrix.os.pypkg}} -m pip install -U pkginfo" + + - name: Pepare source and build wheel for ${{matrix.os.pypkg}} ${{matrix.os.arch}} if: matrix.os.matrix == 'linux' run: | From 9317820682ac1e92af19604e9a5bc42bc73ca711 Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Sun, 9 Feb 2025 14:42:57 +0300 Subject: [PATCH 161/353] Update Build_wheels_for_cpython36_x86.yml --- .github/workflows/Build_wheels_for_cpython36_x86.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/Build_wheels_for_cpython36_x86.yml b/.github/workflows/Build_wheels_for_cpython36_x86.yml index 924aed8bd..33c714592 100644 --- a/.github/workflows/Build_wheels_for_cpython36_x86.yml +++ b/.github/workflows/Build_wheels_for_cpython36_x86.yml @@ -143,7 +143,7 @@ jobs: SECRET_TEST: "${{ secrets.test_pypi_password }}" - name: Install twine - run: pip install twine + run: pip install 'twine<=6.0.1' - name: Publish distribution to PyPI if: > From 662e2f1115b41677e0b0c8ceb9b29adc9433bc70 Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Sun, 9 Feb 2025 15:41:40 +0300 Subject: [PATCH 162/353] Update Build_wheels_for_cpython36_x86_64.yml --- .../Build_wheels_for_cpython36_x86_64.yml | 66 +------------------ 1 file changed, 2 insertions(+), 64 deletions(-) diff --git a/.github/workflows/Build_wheels_for_cpython36_x86_64.yml b/.github/workflows/Build_wheels_for_cpython36_x86_64.yml index b9d4d1042..ac6f7ce23 100644 --- a/.github/workflows/Build_wheels_for_cpython36_x86_64.yml +++ b/.github/workflows/Build_wheels_for_cpython36_x86_64.yml @@ -114,70 +114,8 @@ jobs: sudo ls -lh ./dist/* sudo mv -v ./dist/"zstd-${{matrix.os.version}}-${{matrix.os.pyengine_tag}}-linux_${{matrix.os.tag_arch}}.whl" ./dist/"zstd-${{matrix.os.version}}-${{matrix.os.pyengine_tag}}-${{matrix.os.libc_tag}}_${{matrix.os.tag_arch}}.whl" sudo rm -vf ./dist/*.tar.gz - - - name: Build ${{ matrix.os.name }} wheels and test (old) - uses: pypa/cibuildwheel@v1.12.0 - if: matrix.cibw.group == 'old' - with: - output-dir: dist - env: - CIBW_BUILD: ${{ matrix.cibw.build }} - # Skip 32-bit builds // NO - # CIBW_SKIP: '*-win32 *_i686' - CIBW_MANYLINUX_I686_IMAGE: manylinux1 - CIBW_MANYLINUX_X86_64_IMAGE: manylinux1 - CIBW_MUSLLINUX_I686_IMAGE: musllinux_1_2 - CIBW_MUSLLINUX_X86_64_IMAGE: musllinux_1_2 - # Only build on x86 and arm64 for linux - CIBW_ARCHS_LINUX: i686 x86_64 - CIBW_BEFORE_ALL_LINUX: > - python -m pip install --upgrade pip - # CIBW_ARCHS_MACOS: x86_64 arm64 universal2 - # Building two wheels for MacOS and skipping Universal - CIBW_ARCHS_MACOS: x86_64 - # Skip testing Apple Silicon until there are GH runners - CIBW_TEST_SKIP: '*_arm64 *_universal2:arm64' - CIBW_BEFORE_ALL_MACOS: > - python -m pip install --upgrade pip - # CIBW_ENVIRONMENT_MACOS: MACOSX_DEPLOYMENT_TARGET=11.7 - CIBW_BUILD_VERBOSITY_MACOS: 0 - CIBW_BEFORE_ALL_WINDOWS: > - python -m pip install --upgrade pip - CIBW_TEST_COMMAND: > - python -m unittest discover -v -s {package} - - name: Build ${{ matrix.os.name }} wheels and test (new) - uses: joerick/cibuildwheel@v2.22.0 - if: matrix.cibw.group == 'new' - with: - output-dir: dist - env: - CIBW_BUILD: ${{ matrix.cibw.build }} - # Skip 32-bit builds // NO - # CIBW_SKIP: '*-win32 *_i686' - CIBW_MANYLINUX_I686_IMAGE: manylinux2014 - CIBW_MANYLINUX_X86_64_IMAGE: manylinux2014 - CIBW_MANYLINUX_AARCH64_IMAGE: manylinux2014 - CIBW_MUSLLINUX_I686_IMAGE: musllinux_1_1 - CIBW_MUSLLINUX_X86_64_IMAGE: musllinux_1_1 - # Only build on x86 and arm64 for linux - CIBW_ARCHS_LINUX: auto aarch64 - CIBW_BEFORE_ALL_LINUX: > - python -m pip install --upgrade pip - # CIBW_ARCHS_MACOS: x86_64 arm64 universal2 - # Building two wheels for MacOS and skipping Universal - CIBW_ARCHS_MACOS: x86_64 arm64 - # Skip testing Apple Silicon until there are GH runners - CIBW_TEST_SKIP: '*_arm64 *_universal2:arm64' - CIBW_BEFORE_ALL_MACOS: > - python -m pip install --upgrade pip - # CIBW_ENVIRONMENT_MACOS: MACOSX_DEPLOYMENT_TARGET=11.7 - CIBW_BUILD_VERBOSITY_MACOS: 0 - CIBW_BEFORE_ALL_WINDOWS: > - python -m pip install --upgrade pip - CIBW_TEST_COMMAND: > - python -m unittest discover -v -s {package} - + # - name: Upload artifacts # uses: actions/upload-artifact@v4 # with: @@ -203,7 +141,7 @@ jobs: SECRET_TEST: "${{ secrets.test_pypi_password }}" - name: Install twine - run: pip install twine + run: pip install 'twine<=6.0.1' - name: Publish distribution to PyPI if: > From 1e39d94f8ee69962b2359fc9e719be2c1aaa98b3 Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Sun, 9 Feb 2025 15:43:49 +0300 Subject: [PATCH 163/353] Update Build_wheels_for_cpython27_x86.yml --- .../Build_wheels_for_cpython27_x86.yml | 65 +------------------ 1 file changed, 1 insertion(+), 64 deletions(-) diff --git a/.github/workflows/Build_wheels_for_cpython27_x86.yml b/.github/workflows/Build_wheels_for_cpython27_x86.yml index 7ab16f798..1f0bd7bdc 100644 --- a/.github/workflows/Build_wheels_for_cpython27_x86.yml +++ b/.github/workflows/Build_wheels_for_cpython27_x86.yml @@ -113,70 +113,7 @@ jobs: sudo ls -lh ./dist/* sudo mv -v ./dist/"zstd-${{matrix.os.version}}-${{matrix.os.pyengine_tag}}-linux_${{matrix.os.tag_arch}}.whl" ./dist/"zstd-${{matrix.os.version}}-${{matrix.os.pyengine_tag}}-${{matrix.os.libc_tag}}_${{matrix.os.tag_arch}}.whl" sudo rm -vf ./dist/*.tar.gz - - - name: Build ${{ matrix.os.name }} wheels and test (old) - uses: pypa/cibuildwheel@v1.12.0 - if: matrix.cibw.group == 'old' - with: - output-dir: dist - env: - CIBW_BUILD: ${{ matrix.cibw.build }} - # Skip 32-bit builds // NO - # CIBW_SKIP: '*-win32 *_i686' - CIBW_MANYLINUX_I686_IMAGE: manylinux1 - CIBW_MANYLINUX_X86_64_IMAGE: manylinux1 - CIBW_MUSLLINUX_I686_IMAGE: musllinux_1_2 - CIBW_MUSLLINUX_X86_64_IMAGE: musllinux_1_2 - # Only build on x86 and arm64 for linux - CIBW_ARCHS_LINUX: i686 x86_64 - CIBW_BEFORE_ALL_LINUX: > - python -m pip install --upgrade pip - # CIBW_ARCHS_MACOS: x86_64 arm64 universal2 - # Building two wheels for MacOS and skipping Universal - CIBW_ARCHS_MACOS: x86_64 - # Skip testing Apple Silicon until there are GH runners - CIBW_TEST_SKIP: '*_arm64 *_universal2:arm64' - CIBW_BEFORE_ALL_MACOS: > - python -m pip install --upgrade pip - # CIBW_ENVIRONMENT_MACOS: MACOSX_DEPLOYMENT_TARGET=11.7 - CIBW_BUILD_VERBOSITY_MACOS: 0 - CIBW_BEFORE_ALL_WINDOWS: > - python -m pip install --upgrade pip - CIBW_TEST_COMMAND: > - python -m unittest discover -v -s {package} - - name: Build ${{ matrix.os.name }} wheels and test (new) - uses: joerick/cibuildwheel@v2.22.0 - if: matrix.cibw.group == 'new' - with: - output-dir: dist - env: - CIBW_BUILD: ${{ matrix.cibw.build }} - # Skip 32-bit builds // NO - # CIBW_SKIP: '*-win32 *_i686' - CIBW_MANYLINUX_I686_IMAGE: manylinux2014 - CIBW_MANYLINUX_X86_64_IMAGE: manylinux2014 - CIBW_MANYLINUX_AARCH64_IMAGE: manylinux2014 - CIBW_MUSLLINUX_I686_IMAGE: musllinux_1_1 - CIBW_MUSLLINUX_X86_64_IMAGE: musllinux_1_1 - # Only build on x86 and arm64 for linux - CIBW_ARCHS_LINUX: auto aarch64 - CIBW_BEFORE_ALL_LINUX: > - python -m pip install --upgrade pip - # CIBW_ARCHS_MACOS: x86_64 arm64 universal2 - # Building two wheels for MacOS and skipping Universal - CIBW_ARCHS_MACOS: x86_64 arm64 - # Skip testing Apple Silicon until there are GH runners - CIBW_TEST_SKIP: '*_arm64 *_universal2:arm64' - CIBW_BEFORE_ALL_MACOS: > - python -m pip install --upgrade pip - # CIBW_ENVIRONMENT_MACOS: MACOSX_DEPLOYMENT_TARGET=11.7 - CIBW_BUILD_VERBOSITY_MACOS: 0 - CIBW_BEFORE_ALL_WINDOWS: > - python -m pip install --upgrade pip - CIBW_TEST_COMMAND: > - python -m unittest discover -v -s {package} - # - name: Upload artifacts # uses: actions/upload-artifact@v4 # with: @@ -202,7 +139,7 @@ jobs: SECRET_TEST: "${{ secrets.test_pypi_password }}" - name: Install twine - run: pip install twine + run: pip install 'twine<=6.0.1' - name: Publish distribution to PyPI if: > From 801ab495156f1e27c6fa99ec507f66a6908ca187 Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Sun, 9 Feb 2025 15:46:34 +0300 Subject: [PATCH 164/353] Update Build_wheels_for_cpython27_x86_64.yml --- .../Build_wheels_for_cpython27_x86_64.yml | 64 +------------------ 1 file changed, 1 insertion(+), 63 deletions(-) diff --git a/.github/workflows/Build_wheels_for_cpython27_x86_64.yml b/.github/workflows/Build_wheels_for_cpython27_x86_64.yml index dff7146cb..4c5e0c444 100644 --- a/.github/workflows/Build_wheels_for_cpython27_x86_64.yml +++ b/.github/workflows/Build_wheels_for_cpython27_x86_64.yml @@ -114,69 +114,7 @@ jobs: sudo mv -v ./dist/"zstd-${{matrix.os.version}}-${{matrix.os.pyengine_tag}}-linux_${{matrix.os.tag_arch}}.whl" ./dist/"zstd-${{matrix.os.version}}-${{matrix.os.pyengine_tag}}-${{matrix.os.libc_tag}}_${{matrix.os.tag_arch}}.whl" sudo rm -vf ./dist/*.tar.gz - - name: Build ${{ matrix.os.name }} wheels and test (old) - uses: pypa/cibuildwheel@v1.12.0 - if: matrix.cibw.group == 'old' - with: - output-dir: dist - env: - CIBW_BUILD: ${{ matrix.cibw.build }} - # Skip 32-bit builds // NO - # CIBW_SKIP: '*-win32 *_i686' - CIBW_MANYLINUX_I686_IMAGE: manylinux1 - CIBW_MANYLINUX_X86_64_IMAGE: manylinux1 - CIBW_MUSLLINUX_I686_IMAGE: musllinux_1_2 - CIBW_MUSLLINUX_X86_64_IMAGE: musllinux_1_2 - # Only build on x86 and arm64 for linux - CIBW_ARCHS_LINUX: i686 x86_64 - CIBW_BEFORE_ALL_LINUX: > - python -m pip install --upgrade pip - # CIBW_ARCHS_MACOS: x86_64 arm64 universal2 - # Building two wheels for MacOS and skipping Universal - CIBW_ARCHS_MACOS: x86_64 - # Skip testing Apple Silicon until there are GH runners - CIBW_TEST_SKIP: '*_arm64 *_universal2:arm64' - CIBW_BEFORE_ALL_MACOS: > - python -m pip install --upgrade pip - # CIBW_ENVIRONMENT_MACOS: MACOSX_DEPLOYMENT_TARGET=11.7 - CIBW_BUILD_VERBOSITY_MACOS: 0 - CIBW_BEFORE_ALL_WINDOWS: > - python -m pip install --upgrade pip - CIBW_TEST_COMMAND: > - python -m unittest discover -v -s {package} - - name: Build ${{ matrix.os.name }} wheels and test (new) - uses: joerick/cibuildwheel@v2.22.0 - if: matrix.cibw.group == 'new' - with: - output-dir: dist - env: - CIBW_BUILD: ${{ matrix.cibw.build }} - # Skip 32-bit builds // NO - # CIBW_SKIP: '*-win32 *_i686' - CIBW_MANYLINUX_I686_IMAGE: manylinux2014 - CIBW_MANYLINUX_X86_64_IMAGE: manylinux2014 - CIBW_MANYLINUX_AARCH64_IMAGE: manylinux2014 - CIBW_MUSLLINUX_I686_IMAGE: musllinux_1_1 - CIBW_MUSLLINUX_X86_64_IMAGE: musllinux_1_1 - # Only build on x86 and arm64 for linux - CIBW_ARCHS_LINUX: auto aarch64 - CIBW_BEFORE_ALL_LINUX: > - python -m pip install --upgrade pip - # CIBW_ARCHS_MACOS: x86_64 arm64 universal2 - # Building two wheels for MacOS and skipping Universal - CIBW_ARCHS_MACOS: x86_64 arm64 - # Skip testing Apple Silicon until there are GH runners - CIBW_TEST_SKIP: '*_arm64 *_universal2:arm64' - CIBW_BEFORE_ALL_MACOS: > - python -m pip install --upgrade pip - # CIBW_ENVIRONMENT_MACOS: MACOSX_DEPLOYMENT_TARGET=11.7 - CIBW_BUILD_VERBOSITY_MACOS: 0 - CIBW_BEFORE_ALL_WINDOWS: > - python -m pip install --upgrade pip - CIBW_TEST_COMMAND: > - python -m unittest discover -v -s {package} - # - name: Upload artifacts # uses: actions/upload-artifact@v4 # with: @@ -202,7 +140,7 @@ jobs: SECRET_TEST: "${{ secrets.test_pypi_password }}" - name: Install twine - run: pip install twine + run: pip install 'twine<=6.0.1' - name: Publish distribution to PyPI if: > From fffce0f94b24e2b878c26f27e8e30a2623170d5d Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Sun, 9 Feb 2025 16:08:02 +0300 Subject: [PATCH 165/353] Create Build_wheels_for_cpython37_x86.yml --- .../Build_wheels_for_cpython37_x86.yml | 173 ++++++++++++++++++ 1 file changed, 173 insertions(+) create mode 100644 .github/workflows/Build_wheels_for_cpython37_x86.yml diff --git a/.github/workflows/Build_wheels_for_cpython37_x86.yml b/.github/workflows/Build_wheels_for_cpython37_x86.yml new file mode 100644 index 000000000..6bfdc9f15 --- /dev/null +++ b/.github/workflows/Build_wheels_for_cpython37_x86.yml @@ -0,0 +1,173 @@ +name: Build wheels for CPython3.7 x86 + +on: [push, pull_request] + +concurrency: + group: ${{ github.ref }}-${{ github.workflow }}-${{ github.event_name }}-${{ github.ref == format('refs/heads/{0}', github.event.repository.default_branch) && github.sha || '' }} + cancel-in-progress: true + +jobs: + build_wheels: + name: Build wheel - ${{ matrix.os.name }} + runs-on: ${{ matrix.os.runs-on }} + strategy: + fail-fast: false + matrix: + os: + - name: Ubuntu 24+16 i386 CPython 3.7 + runs-on: ubuntu-latest + matrix: linux + arch: i386 + tag_arch: i686 + release: xenial + mirror: http://azure.archive.ubuntu.com/ubuntu + version: 1.5.6.3 + pyver: "3.7" + getpipurl: https://bootstrap.pypa.io/pip/3.7/get-pip.py + pypkg: python3.7 + pypkgadd: python3.7-distutils + pyengine_tag: cp37-cp37m + libc_tag: manylinux_2_17 + steps: + - name: Checkout code + uses: actions/checkout@v4 + with: + submodules: 'recursive' + + - name: Update and upgrade Ubuntu 24 + if: matrix.os.matrix == 'linux' + run: | + sudo which apt + sudo apt update; + sudo apt purge -y firefox lxd snapd; + sudo apt install -y zram-config; + sudo apt list --upgradable; + sudo apt upgrade -y; + sudo apt install -f + + - name: Build source distribution with Ubuntu + if: matrix.os.matrix == 'linux' + run: | + sudo apt install -y devscripts debootstrap qemu-user; + pip install build; + python -m build --sdist --outdir dist . + + - name: Debootstrap Ubuntu ${{matrix.os.release}} ${{matrix.os.arch}} + if: matrix.os.matrix == 'linux' + run: | + sudo debootstrap --no-merged-usr --verbose --include=sudo,wget,curl,ca-certificates --arch=${{matrix.os.arch}} ${{matrix.os.release}} ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} ${{matrix.os.mirror}} || tail ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/debootstrap/debootstrap.log + + - name: Update and Upgrade Ubuntu ${{matrix.os.release}} + if: matrix.os.matrix == 'linux' + run: | + sudo mkdir -p ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel + 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 + 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' + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /usr/bin/apt update + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /usr/bin/apt upgrade -y + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /usr/bin/apt -fy install + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /usr/bin/apt upgrade -y + + + - 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 + + - 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}} /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'" + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "${{matrix.os.pypkg}} -m pip install -U pkginfo" + + + - name: Pepare source and build wheel for ${{matrix.os.pypkg}} ${{matrix.os.arch}} + if: matrix.os.matrix == 'linux' + run: | + sudo mkdir -p ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel/ + sudo tar -xvf dist/zstd-${{matrix.os.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}} /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}} && ZSTD_ASM=1 _ZSTD_ASM_BMI2=1 ZSTD_THREADS=1 _ZSTD_EXTERNAL=0 python${{matrix.os.pyver}} setup.py bdist_wheel clean" + + - name: Test wheel for ${{matrix.os.pypkg}} ${{matrix.os.arch}} + if: matrix.os.matrix == 'linux' + run: | + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}} && python${{matrix.os.pyver}} setup.py test" + + - name: Pepare wheel for upload + if: matrix.os.matrix == 'linux' + run: | + sudo cp -v ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel/zstd-${{matrix.os.version}}/dist/* ./dist + sudo ls -lh ./dist/* + sudo mv -v ./dist/"zstd-${{matrix.os.version}}-${{matrix.os.pyengine_tag}}-linux_${{matrix.os.tag_arch}}.whl" ./dist/"zstd-${{matrix.os.version}}-${{matrix.os.pyengine_tag}}-${{matrix.os.libc_tag}}_${{matrix.os.tag_arch}}.whl" + sudo rm -vf ./dist/*.tar.gz + + +# - name: Upload artifacts +# uses: actions/upload-artifact@v4 +# with: +# name: wheels +#. path: ./dist +# compression-level: 0 + + - name: Test for secrets access + id: check_secrets + # If a third party makes a pull request + # this allows automated steps below to be skipped + # and leave a clean PR CI run + shell: bash + run: | + unset HAS_SECRET + unset HAS_SECRET_TEST + if [ -n "$SECRET" ]; then HAS_SECRET='true' ; fi + if [ -n "$SECRET_TEST" ]; then HAS_SECRET_TEST='true' ; fi + echo ::set-output name=HAS_SECRET::${HAS_SECRET} + echo ::set-output name=HAS_SECRET_TEST::${HAS_SECRET_TEST} + env: + SECRET: "${{ secrets.pypi_password }}" + SECRET_TEST: "${{ secrets.test_pypi_password }}" + + - name: Install twine + run: pip install 'twine<=6.0.1' + + - name: Publish distribution to PyPI + if: > + startsWith(github.event.ref, 'refs/tags') && + steps.check_secrets.outputs.HAS_SECRET + env: + # If the PR/Push has secret access + # and PYPI_PASSWORD is in GH Secrets for this repo + # and this is a tag, publish to PyPI + TWINE_REPOSITORY_URL: https://upload.pypi.org/legacy/ + TWINE_USERNAME: "${{ secrets.pypi_username }}" + TWINE_NON_INTERACTIVE: 1 + TWINE_PASSWORD: "${{ secrets.pypi_password }}" + run: twine upload --non-interactive --skip-existing --verbose 'dist/*' + + - name: Publish distribution to Test PyPI + if: steps.check_secrets.outputs.HAS_SECRET + env: + # If the PR/Push has secret access + # and TEST_PYPI_PASSWORD is in GH Secrets for this repo + # then publish each build to test PyPI + TWINE_REPOSITORY_URL: https://test.pypi.org/legacy/ + TWINE_USERNAME: "${{ secrets.test_pypi_username }}" + TWINE_NON_INTERACTIVE: 1 + TWINE_PASSWORD: "${{ secrets.test_pypi_password }}" + run: twine upload --non-interactive --skip-existing --verbose 'dist/*' + From e52e68b68a070d03736200892a7609bb54036b73 Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Sun, 9 Feb 2025 16:20:56 +0300 Subject: [PATCH 166/353] Create Build_wheels_for_cpython37_x86_64.yml --- .../Build_wheels_for_cpython37_x86_64.yml | 171 ++++++++++++++++++ 1 file changed, 171 insertions(+) create mode 100644 .github/workflows/Build_wheels_for_cpython37_x86_64.yml diff --git a/.github/workflows/Build_wheels_for_cpython37_x86_64.yml b/.github/workflows/Build_wheels_for_cpython37_x86_64.yml new file mode 100644 index 000000000..dc12f3f76 --- /dev/null +++ b/.github/workflows/Build_wheels_for_cpython37_x86_64.yml @@ -0,0 +1,171 @@ +name: Build wheels for CPython3.7 x86_64 + +on: [push, pull_request] + +concurrency: + group: ${{ github.ref }}-${{ github.workflow }}-${{ github.event_name }}-${{ github.ref == format('refs/heads/{0}', github.event.repository.default_branch) && github.sha || '' }} + cancel-in-progress: true + +jobs: + build_wheels: + name: Build wheel - ${{ matrix.os.name }} + runs-on: ${{ matrix.os.runs-on }} + strategy: + fail-fast: false + matrix: + os: + - name: Ubuntu 24+16 amd64 CPython 3.7 + runs-on: ubuntu-latest + matrix: linux + arch: amd64 + tag_arch: x86_64 + release: xenial + mirror: http://azure.archive.ubuntu.com/ubuntu + version: 1.5.6.3 + pyver: "3.7" + getpipurl: https://bootstrap.pypa.io/pip/3.7/get-pip.py + pypkg: python3.7 + pypkgadd: python3.7-distutils + pyengine_tag: cp37-cp37m + libc_tag: manylinux_2_17 + steps: + - name: Checkout code + uses: actions/checkout@v4 + with: + submodules: 'recursive' + + - name: Update and upgrade Ubuntu 24 + if: matrix.os.matrix == 'linux' + run: | + sudo which apt + sudo apt update; + sudo apt purge -y firefox lxd snapd; + sudo apt install -y zram-config; + sudo apt list --upgradable; + sudo apt upgrade -y; + sudo apt install -f + + - name: Build source distribution with Ubuntu + if: matrix.os.matrix == 'linux' + run: | + sudo apt install -y devscripts debootstrap qemu-user; + pip install build; + python -m build --sdist --outdir dist . + + - name: Debootstrap Ubuntu ${{matrix.os.release}} ${{matrix.os.arch}} + if: matrix.os.matrix == 'linux' + run: | + sudo debootstrap --no-merged-usr --verbose --include=sudo,wget,curl,ca-certificates --arch=${{matrix.os.arch}} ${{matrix.os.release}} ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} ${{matrix.os.mirror}} || tail ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/debootstrap/debootstrap.log + + - name: Update and Upgrade Ubuntu ${{matrix.os.release}} + if: matrix.os.matrix == 'linux' + run: | + sudo mkdir -p ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel + 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 + 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' + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /usr/bin/apt update + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /usr/bin/apt upgrade -y + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /usr/bin/apt -fy install + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /usr/bin/apt upgrade -y + + + - 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 + + - 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}} /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'" + + - name: Pepare source and build wheel for ${{matrix.os.pypkg}} ${{matrix.os.arch}} + if: matrix.os.matrix == 'linux' + run: | + sudo mkdir -p ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel/ + sudo tar -xvf dist/zstd-${{matrix.os.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}} /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}} && ZSTD_ASM=1 _ZSTD_ASM_BMI2=1 ZSTD_THREADS=1 _ZSTD_EXTERNAL=0 python${{matrix.os.pyver}} setup.py bdist_wheel clean" + + - name: Test wheel for ${{matrix.os.pypkg}} ${{matrix.os.arch}} + if: matrix.os.matrix == 'linux' + run: | + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}} && python${{matrix.os.pyver}} setup.py test" + + - name: Pepare wheel for upload + if: matrix.os.matrix == 'linux' + run: | + sudo cp -v ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel/zstd-${{matrix.os.version}}/dist/* ./dist + sudo ls -lh ./dist/* + sudo mv -v ./dist/"zstd-${{matrix.os.version}}-${{matrix.os.pyengine_tag}}-linux_${{matrix.os.tag_arch}}.whl" ./dist/"zstd-${{matrix.os.version}}-${{matrix.os.pyengine_tag}}-${{matrix.os.libc_tag}}_${{matrix.os.tag_arch}}.whl" + sudo rm -vf ./dist/*.tar.gz + + +# - name: Upload artifacts +# uses: actions/upload-artifact@v4 +# with: +# name: wheels +#. path: ./dist +# compression-level: 0 + + - name: Test for secrets access + id: check_secrets + # If a third party makes a pull request + # this allows automated steps below to be skipped + # and leave a clean PR CI run + shell: bash + run: | + unset HAS_SECRET + unset HAS_SECRET_TEST + if [ -n "$SECRET" ]; then HAS_SECRET='true' ; fi + if [ -n "$SECRET_TEST" ]; then HAS_SECRET_TEST='true' ; fi + echo ::set-output name=HAS_SECRET::${HAS_SECRET} + echo ::set-output name=HAS_SECRET_TEST::${HAS_SECRET_TEST} + env: + SECRET: "${{ secrets.pypi_password }}" + SECRET_TEST: "${{ secrets.test_pypi_password }}" + + - name: Install twine + run: pip install 'twine<=6.0.1' + + - name: Publish distribution to PyPI + if: > + startsWith(github.event.ref, 'refs/tags') && + steps.check_secrets.outputs.HAS_SECRET + env: + # If the PR/Push has secret access + # and PYPI_PASSWORD is in GH Secrets for this repo + # and this is a tag, publish to PyPI + TWINE_REPOSITORY_URL: https://upload.pypi.org/legacy/ + TWINE_USERNAME: "${{ secrets.pypi_username }}" + TWINE_NON_INTERACTIVE: 1 + TWINE_PASSWORD: "${{ secrets.pypi_password }}" + run: twine upload --non-interactive --skip-existing --verbose 'dist/*' + + - name: Publish distribution to Test PyPI + if: steps.check_secrets.outputs.HAS_SECRET + env: + # If the PR/Push has secret access + # and TEST_PYPI_PASSWORD is in GH Secrets for this repo + # then publish each build to test PyPI + TWINE_REPOSITORY_URL: https://test.pypi.org/legacy/ + TWINE_USERNAME: "${{ secrets.test_pypi_username }}" + TWINE_NON_INTERACTIVE: 1 + TWINE_PASSWORD: "${{ secrets.test_pypi_password }}" + run: twine upload --non-interactive --skip-existing --verbose 'dist/*' + From 44703d06a0d6c608757b5e28a21a2142cd99ba4f Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Sun, 9 Feb 2025 16:23:44 +0300 Subject: [PATCH 167/353] Update README.rst --- README.rst | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/README.rst b/README.rst index 4291de611..202719769 100644 --- a/README.rst +++ b/README.rst @@ -32,6 +32,12 @@ python-zstd .. |cpython36x64| image:: https://github.com/sergey-dryabzhinsky/python-zstd/actions/workflows/Build_wheels_for_cpython36_x86_64.yml/badge.svg :target: https://github.com/sergey-dryabzhinsky/python-zstd/actions/workflows/Build_wheels_for_cpython36_x86_64.yml +.. |cpython37x86| image:: https://github.com/sergey-dryabzhinsky/python-zstd/actions/workflows/Build_wheels_for_cpython37_x86.yml/badge.svg + :target: https://github.com/sergey-dryabzhinsky/python-zstd/actions/workflows/Build_wheels_for_cpython37_x86.yml + +.. |cpython37x64| image:: https://github.com/sergey-dryabzhinsky/python-zstd/actions/workflows/Build_wheels_for_cpython37_x86_64.yml/badge.svg + :target: https://github.com/sergey-dryabzhinsky/python-zstd/actions/workflows/Build_wheels_for_cpython37_x86_64.yml + +-----------------+----------------+ | wheels for: | status | +=================+================+ @@ -51,6 +57,10 @@ python-zstd +-----------------+----------------+ | cpython 3.6 x64 | |cpython36x64| | +-----------------+----------------+ +| cpython 3.7 x86 | |cpython37x86| | ++-----------------+----------------+ +| cpython 3.7 x64 | |cpython37x64| | ++-----------------+----------------+ | Release | |releaseW| | | 1.5.6.2 | | +-----------------+----------------+ From 42723a8a243f09e7a20b95d26b14afe9a38cef4d Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Sun, 9 Feb 2025 17:15:04 +0300 Subject: [PATCH 168/353] Update python-zstd.c --- src/python-zstd.c | 1 + 1 file changed, 1 insertion(+) diff --git a/src/python-zstd.c b/src/python-zstd.c index c76983c05..77041b5dd 100644 --- a/src/python-zstd.c +++ b/src/python-zstd.c @@ -378,6 +378,7 @@ static PyMethodDef ZstdMethods[] = { {"ZSTD_uncompress", py_zstd_uncompress, METH_VARARGS, UNCOMPRESS_DOCSTRING}, {"ZSTD_check", py_zstd_check, METH_VARARGS, CHECK_DOCSTRING}, {"check", py_zstd_check, METH_VARARGS, CHECK_DOCSTRING}, + {"verify", py_zstd_check, METH_VARARGS, CHECK_DOCSTRING}, {"compress", py_zstd_compress_mt, METH_VARARGS, COMPRESS_DOCSTRING}, {"uncompress", py_zstd_uncompress, METH_VARARGS, UNCOMPRESS_DOCSTRING}, {"encode", py_zstd_compress_mt, METH_VARARGS, COMPRESS_DOCSTRING}, From 3f5ad82e9752053a8011ca5f54054180d138a666 Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Sun, 9 Feb 2025 17:16:51 +0300 Subject: [PATCH 169/353] Update README.rst --- README.rst | 1 + 1 file changed, 1 insertion(+) diff --git a/README.rst b/README.rst index 202719769..214250baf 100644 --- a/README.rst +++ b/README.rst @@ -268,6 +268,7 @@ ZSTD_check (data): int Aliases: - *check(...)*, + - *verify(...)* since: 1.5.6.3 Since: 1.5.6.2 From 6f58c63c42ef1172027119ca97a6b013eeab2b9f Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Sun, 9 Feb 2025 17:18:58 +0300 Subject: [PATCH 170/353] Create Build_wheels_for_cpython38_x86.yml --- .../Build_wheels_for_cpython38_x86.yml | 173 ++++++++++++++++++ 1 file changed, 173 insertions(+) create mode 100644 .github/workflows/Build_wheels_for_cpython38_x86.yml diff --git a/.github/workflows/Build_wheels_for_cpython38_x86.yml b/.github/workflows/Build_wheels_for_cpython38_x86.yml new file mode 100644 index 000000000..80995200f --- /dev/null +++ b/.github/workflows/Build_wheels_for_cpython38_x86.yml @@ -0,0 +1,173 @@ +name: Build wheels for CPython3.8 x86 + +on: [push, pull_request] + +concurrency: + group: ${{ github.ref }}-${{ github.workflow }}-${{ github.event_name }}-${{ github.ref == format('refs/heads/{0}', github.event.repository.default_branch) && github.sha || '' }} + cancel-in-progress: true + +jobs: + build_wheels: + name: Build wheel - ${{ matrix.os.name }} + runs-on: ${{ matrix.os.runs-on }} + strategy: + fail-fast: false + matrix: + os: + - name: Ubuntu 24+16 i386 CPython 3.8 + runs-on: ubuntu-latest + matrix: linux + arch: i386 + tag_arch: i686 + release: xenial + mirror: http://azure.archive.ubuntu.com/ubuntu + version: 1.5.6.3 + pyver: "3.8" + getpipurl: https://bootstrap.pypa.io/pip/get-pip.py + pypkg: python3.8 + pypkgadd: python3.8-distutils + pyengine_tag: cp38-cp38m + libc_tag: manylinux_2_17 + steps: + - name: Checkout code + uses: actions/checkout@v4 + with: + submodules: 'recursive' + + - name: Update and upgrade Ubuntu 24 + if: matrix.os.matrix == 'linux' + run: | + sudo which apt + sudo apt update; + sudo apt purge -y firefox lxd snapd; + sudo apt install -y zram-config; + sudo apt list --upgradable; + sudo apt upgrade -y; + sudo apt install -f + + - name: Build source distribution with Ubuntu + if: matrix.os.matrix == 'linux' + run: | + sudo apt install -y devscripts debootstrap qemu-user; + pip install build; + python -m build --sdist --outdir dist . + + - name: Debootstrap Ubuntu ${{matrix.os.release}} ${{matrix.os.arch}} + if: matrix.os.matrix == 'linux' + run: | + sudo debootstrap --no-merged-usr --verbose --include=sudo,wget,curl,ca-certificates --arch=${{matrix.os.arch}} ${{matrix.os.release}} ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} ${{matrix.os.mirror}} || tail ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/debootstrap/debootstrap.log + + - name: Update and Upgrade Ubuntu ${{matrix.os.release}} + if: matrix.os.matrix == 'linux' + run: | + sudo mkdir -p ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel + 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 + 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' + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /usr/bin/apt update + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /usr/bin/apt upgrade -y + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /usr/bin/apt -fy install + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /usr/bin/apt upgrade -y + + + - 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 + + - 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}} /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'" + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "${{matrix.os.pypkg}} -m pip install -U pkginfo" + + + - name: Pepare source and build wheel for ${{matrix.os.pypkg}} ${{matrix.os.arch}} + if: matrix.os.matrix == 'linux' + run: | + sudo mkdir -p ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel/ + sudo tar -xvf dist/zstd-${{matrix.os.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}} /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}} && ZSTD_ASM=1 _ZSTD_ASM_BMI2=1 ZSTD_THREADS=1 _ZSTD_EXTERNAL=0 python${{matrix.os.pyver}} setup.py bdist_wheel clean" + + - name: Test wheel for ${{matrix.os.pypkg}} ${{matrix.os.arch}} + if: matrix.os.matrix == 'linux' + run: | + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}} && python${{matrix.os.pyver}} setup.py test" + + - name: Pepare wheel for upload + if: matrix.os.matrix == 'linux' + run: | + sudo cp -v ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel/zstd-${{matrix.os.version}}/dist/* ./dist + sudo ls -lh ./dist/* + sudo mv -v ./dist/"zstd-${{matrix.os.version}}-${{matrix.os.pyengine_tag}}-linux_${{matrix.os.tag_arch}}.whl" ./dist/"zstd-${{matrix.os.version}}-${{matrix.os.pyengine_tag}}-${{matrix.os.libc_tag}}_${{matrix.os.tag_arch}}.whl" + sudo rm -vf ./dist/*.tar.gz + + +# - name: Upload artifacts +# uses: actions/upload-artifact@v4 +# with: +# name: wheels +#. path: ./dist +# compression-level: 0 + + - name: Test for secrets access + id: check_secrets + # If a third party makes a pull request + # this allows automated steps below to be skipped + # and leave a clean PR CI run + shell: bash + run: | + unset HAS_SECRET + unset HAS_SECRET_TEST + if [ -n "$SECRET" ]; then HAS_SECRET='true' ; fi + if [ -n "$SECRET_TEST" ]; then HAS_SECRET_TEST='true' ; fi + echo ::set-output name=HAS_SECRET::${HAS_SECRET} + echo ::set-output name=HAS_SECRET_TEST::${HAS_SECRET_TEST} + env: + SECRET: "${{ secrets.pypi_password }}" + SECRET_TEST: "${{ secrets.test_pypi_password }}" + + - name: Install twine + run: pip install 'twine<=6.0.1' + + - name: Publish distribution to PyPI + if: > + startsWith(github.event.ref, 'refs/tags') && + steps.check_secrets.outputs.HAS_SECRET + env: + # If the PR/Push has secret access + # and PYPI_PASSWORD is in GH Secrets for this repo + # and this is a tag, publish to PyPI + TWINE_REPOSITORY_URL: https://upload.pypi.org/legacy/ + TWINE_USERNAME: "${{ secrets.pypi_username }}" + TWINE_NON_INTERACTIVE: 1 + TWINE_PASSWORD: "${{ secrets.pypi_password }}" + run: twine upload --non-interactive --skip-existing --verbose 'dist/*' + + - name: Publish distribution to Test PyPI + if: steps.check_secrets.outputs.HAS_SECRET + env: + # If the PR/Push has secret access + # and TEST_PYPI_PASSWORD is in GH Secrets for this repo + # then publish each build to test PyPI + TWINE_REPOSITORY_URL: https://test.pypi.org/legacy/ + TWINE_USERNAME: "${{ secrets.test_pypi_username }}" + TWINE_NON_INTERACTIVE: 1 + TWINE_PASSWORD: "${{ secrets.test_pypi_password }}" + run: twine upload --non-interactive --skip-existing --verbose 'dist/*' + From 3b88cd80e4a11f630299c37faf6f06164f94ab57 Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Sun, 9 Feb 2025 17:20:51 +0300 Subject: [PATCH 171/353] Update debug_build-wheels.yml --- .github/workflows/debug_build-wheels.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/debug_build-wheels.yml b/.github/workflows/debug_build-wheels.yml index 071d26feb..6a94783ef 100644 --- a/.github/workflows/debug_build-wheels.yml +++ b/.github/workflows/debug_build-wheels.yml @@ -369,7 +369,7 @@ jobs: sudo tar -xvf dist/zstd-${{matrix.os.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}} /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}} && ZSTD_ASM=1 ZSTD_LEGACY=1 _ZSTD_ASM_BMI2=1 ZSTD_THREADS=1 _ZSTD_EXTERNAL=0 python${{matrix.os.pyver}} setup.py bdist_wheel clean" + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}} && ZSTD_ASM=1 _ZSTD_LEGACY=1 _ZSTD_ASM_BMI2=1 ZSTD_THREADS=1 _ZSTD_EXTERNAL=0 python${{matrix.os.pyver}} setup.py bdist_wheel clean" - name: Test wheel for ${{matrix.os.pypkg}} ${{matrix.os.arch}} if: matrix.os.matrix == 'linux' From 8c535933dd6c4d9d06930c7229305c82f573e68e Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Sun, 9 Feb 2025 17:23:55 +0300 Subject: [PATCH 172/353] Create Build_wheels_for_cpython38_x86_64.yml --- .../Build_wheels_for_cpython38_x86_64.yml | 171 ++++++++++++++++++ 1 file changed, 171 insertions(+) create mode 100644 .github/workflows/Build_wheels_for_cpython38_x86_64.yml diff --git a/.github/workflows/Build_wheels_for_cpython38_x86_64.yml b/.github/workflows/Build_wheels_for_cpython38_x86_64.yml new file mode 100644 index 000000000..c950f21ac --- /dev/null +++ b/.github/workflows/Build_wheels_for_cpython38_x86_64.yml @@ -0,0 +1,171 @@ +name: Build wheels for CPython3.8 x86_64 + +on: [push, pull_request] + +concurrency: + group: ${{ github.ref }}-${{ github.workflow }}-${{ github.event_name }}-${{ github.ref == format('refs/heads/{0}', github.event.repository.default_branch) && github.sha || '' }} + cancel-in-progress: true + +jobs: + build_wheels: + name: Build wheel - ${{ matrix.os.name }} + runs-on: ${{ matrix.os.runs-on }} + strategy: + fail-fast: false + matrix: + os: + - name: Ubuntu 24+16 amd64 CPython 3.8 + runs-on: ubuntu-latest + matrix: linux + arch: amd64 + tag_arch: x86_64 + release: xenial + mirror: http://azure.archive.ubuntu.com/ubuntu + version: 1.5.6.3 + pyver: "3.8" + getpipurl: https://bootstrap.pypa.io/pip/get-pip.py + pypkg: python3.8 + pypkgadd: python3.8-distutils + pyengine_tag: cp38-cp38m + libc_tag: manylinux_2_17 + steps: + - name: Checkout code + uses: actions/checkout@v4 + with: + submodules: 'recursive' + + - name: Update and upgrade Ubuntu 24 + if: matrix.os.matrix == 'linux' + run: | + sudo which apt + sudo apt update; + sudo apt purge -y firefox lxd snapd; + sudo apt install -y zram-config; + sudo apt list --upgradable; + sudo apt upgrade -y; + sudo apt install -f + + - name: Build source distribution with Ubuntu + if: matrix.os.matrix == 'linux' + run: | + sudo apt install -y devscripts debootstrap qemu-user; + pip install build; + python -m build --sdist --outdir dist . + + - name: Debootstrap Ubuntu ${{matrix.os.release}} ${{matrix.os.arch}} + if: matrix.os.matrix == 'linux' + run: | + sudo debootstrap --no-merged-usr --verbose --include=sudo,wget,curl,ca-certificates --arch=${{matrix.os.arch}} ${{matrix.os.release}} ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} ${{matrix.os.mirror}} || tail ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/debootstrap/debootstrap.log + + - name: Update and Upgrade Ubuntu ${{matrix.os.release}} + if: matrix.os.matrix == 'linux' + run: | + sudo mkdir -p ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel + 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 + 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' + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /usr/bin/apt update + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /usr/bin/apt upgrade -y + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /usr/bin/apt -fy install + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /usr/bin/apt upgrade -y + + + - 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 + + - 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}} /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'" + + - name: Pepare source and build wheel for ${{matrix.os.pypkg}} ${{matrix.os.arch}} + if: matrix.os.matrix == 'linux' + run: | + sudo mkdir -p ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel/ + sudo tar -xvf dist/zstd-${{matrix.os.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}} /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}} && ZSTD_ASM=1 _ZSTD_ASM_BMI2=1 ZSTD_THREADS=1 _ZSTD_EXTERNAL=0 python${{matrix.os.pyver}} setup.py bdist_wheel clean" + + - name: Test wheel for ${{matrix.os.pypkg}} ${{matrix.os.arch}} + if: matrix.os.matrix == 'linux' + run: | + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}} && python${{matrix.os.pyver}} setup.py test" + + - name: Pepare wheel for upload + if: matrix.os.matrix == 'linux' + run: | + sudo cp -v ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel/zstd-${{matrix.os.version}}/dist/* ./dist + sudo ls -lh ./dist/* + sudo mv -v ./dist/"zstd-${{matrix.os.version}}-${{matrix.os.pyengine_tag}}-linux_${{matrix.os.tag_arch}}.whl" ./dist/"zstd-${{matrix.os.version}}-${{matrix.os.pyengine_tag}}-${{matrix.os.libc_tag}}_${{matrix.os.tag_arch}}.whl" + sudo rm -vf ./dist/*.tar.gz + + +# - name: Upload artifacts +# uses: actions/upload-artifact@v4 +# with: +# name: wheels +#. path: ./dist +# compression-level: 0 + + - name: Test for secrets access + id: check_secrets + # If a third party makes a pull request + # this allows automated steps below to be skipped + # and leave a clean PR CI run + shell: bash + run: | + unset HAS_SECRET + unset HAS_SECRET_TEST + if [ -n "$SECRET" ]; then HAS_SECRET='true' ; fi + if [ -n "$SECRET_TEST" ]; then HAS_SECRET_TEST='true' ; fi + echo ::set-output name=HAS_SECRET::${HAS_SECRET} + echo ::set-output name=HAS_SECRET_TEST::${HAS_SECRET_TEST} + env: + SECRET: "${{ secrets.pypi_password }}" + SECRET_TEST: "${{ secrets.test_pypi_password }}" + + - name: Install twine + run: pip install 'twine<=6.0.1' + + - name: Publish distribution to PyPI + if: > + startsWith(github.event.ref, 'refs/tags') && + steps.check_secrets.outputs.HAS_SECRET + env: + # If the PR/Push has secret access + # and PYPI_PASSWORD is in GH Secrets for this repo + # and this is a tag, publish to PyPI + TWINE_REPOSITORY_URL: https://upload.pypi.org/legacy/ + TWINE_USERNAME: "${{ secrets.pypi_username }}" + TWINE_NON_INTERACTIVE: 1 + TWINE_PASSWORD: "${{ secrets.pypi_password }}" + run: twine upload --non-interactive --skip-existing --verbose 'dist/*' + + - name: Publish distribution to Test PyPI + if: steps.check_secrets.outputs.HAS_SECRET + env: + # If the PR/Push has secret access + # and TEST_PYPI_PASSWORD is in GH Secrets for this repo + # then publish each build to test PyPI + TWINE_REPOSITORY_URL: https://test.pypi.org/legacy/ + TWINE_USERNAME: "${{ secrets.test_pypi_username }}" + TWINE_NON_INTERACTIVE: 1 + TWINE_PASSWORD: "${{ secrets.test_pypi_password }}" + run: twine upload --non-interactive --skip-existing --verbose 'dist/*' + From 2204a4f390871cc82ef47aff1920f1fc2cff2e8a Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Sun, 9 Feb 2025 17:26:55 +0300 Subject: [PATCH 173/353] Update README.rst --- README.rst | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/README.rst b/README.rst index 214250baf..8a8e018f2 100644 --- a/README.rst +++ b/README.rst @@ -38,6 +38,12 @@ python-zstd .. |cpython37x64| image:: https://github.com/sergey-dryabzhinsky/python-zstd/actions/workflows/Build_wheels_for_cpython37_x86_64.yml/badge.svg :target: https://github.com/sergey-dryabzhinsky/python-zstd/actions/workflows/Build_wheels_for_cpython37_x86_64.yml +.. |cpython38x86| image:: https://github.com/sergey-dryabzhinsky/python-zstd/actions/workflows/Build_wheels_for_cpython38_x86.yml/badge.svg + :target: https://github.com/sergey-dryabzhinsky/python-zstd/actions/workflows/Build_wheels_for_cpython38_x86.yml + +.. |cpython38x64| image:: https://github.com/sergey-dryabzhinsky/python-zstd/actions/workflows/Build_wheels_for_cpython38_x86_64.yml/badge.svg + :target: https://github.com/sergey-dryabzhinsky/python-zstd/actions/workflows/Build_wheels_for_cpython38_x86_64.yml + +-----------------+----------------+ | wheels for: | status | +=================+================+ @@ -61,6 +67,10 @@ python-zstd +-----------------+----------------+ | cpython 3.7 x64 | |cpython37x64| | +-----------------+----------------+ +| cpython 3.8 x86 | |cpython38x86| | ++-----------------+----------------+ +| cpython 3.8 x64 | |cpython38x64| | ++-----------------+----------------+ | Release | |releaseW| | | 1.5.6.2 | | +-----------------+----------------+ From 21e0e4f0939b4e9bf3eaa3444db0f2584017e00c Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Sun, 9 Feb 2025 19:03:25 +0300 Subject: [PATCH 174/353] Update Build_wheels_for_cpython38_x86.yml --- .github/workflows/Build_wheels_for_cpython38_x86.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/Build_wheels_for_cpython38_x86.yml b/.github/workflows/Build_wheels_for_cpython38_x86.yml index 80995200f..1a693a432 100644 --- a/.github/workflows/Build_wheels_for_cpython38_x86.yml +++ b/.github/workflows/Build_wheels_for_cpython38_x86.yml @@ -26,7 +26,7 @@ jobs: getpipurl: https://bootstrap.pypa.io/pip/get-pip.py pypkg: python3.8 pypkgadd: python3.8-distutils - pyengine_tag: cp38-cp38m + pyengine_tag: cp38-cp38 libc_tag: manylinux_2_17 steps: - name: Checkout code From 0a54e0e2ace85e7d77bbc4355ce46bd242f6721b Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Sun, 9 Feb 2025 19:03:46 +0300 Subject: [PATCH 175/353] Update Build_wheels_for_cpython38_x86_64.yml --- .github/workflows/Build_wheels_for_cpython38_x86_64.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/Build_wheels_for_cpython38_x86_64.yml b/.github/workflows/Build_wheels_for_cpython38_x86_64.yml index c950f21ac..2ed08005e 100644 --- a/.github/workflows/Build_wheels_for_cpython38_x86_64.yml +++ b/.github/workflows/Build_wheels_for_cpython38_x86_64.yml @@ -26,7 +26,7 @@ jobs: getpipurl: https://bootstrap.pypa.io/pip/get-pip.py pypkg: python3.8 pypkgadd: python3.8-distutils - pyengine_tag: cp38-cp38m + pyengine_tag: cp38-cp38 libc_tag: manylinux_2_17 steps: - name: Checkout code From 95f38f32a44f5ca447ed4cc5ae8fa45ac73b76e2 Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Sun, 9 Feb 2025 19:36:33 +0300 Subject: [PATCH 176/353] Update debug_build-wheels.yml --- .github/workflows/debug_build-wheels.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/debug_build-wheels.yml b/.github/workflows/debug_build-wheels.yml index 6a94783ef..57d48552b 100644 --- a/.github/workflows/debug_build-wheels.yml +++ b/.github/workflows/debug_build-wheels.yml @@ -260,11 +260,11 @@ jobs: getpipurl: https://bootstrap.pypa.io/pip/get-pip.py pyengine_tag: cp311-cp311 libc_tag: manylinux_2_19 - - name: Ubuntu 24+16 armhf CPython 2.7 + - name: Ubuntu 24+18 armhf CPython 2.7 runs-on: ubuntu-latest matrix: linux arch: armhf - release: xenial + release: bionic mirror: http://ports.ubuntu.com/ubuntu-ports version: 1.5.6.3 pypkg: python2.7 @@ -272,11 +272,11 @@ jobs: getpipurl: https://bootstrap.pypa.io/pip/2.7/get-pip.py pyengine_tag: cp27-cp27mu libc_tag: manylinux_2_17 - - name: Ubuntu 24+16 arm64 CPython 2.7 + - name: Ubuntu 24+18 arm64 CPython 2.7 runs-on: ubuntu-latest matrix: linux arch: arm64 - release: xenial + release: bionic mirror: http://ports.ubuntu.com/ubuntu-ports version: 1.5.6.3 pypkg: python2.7 From b2ebeea5a487f6fb5bc6386e0a5553527ee1d1fa Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Sun, 9 Feb 2025 19:53:34 +0300 Subject: [PATCH 177/353] Create Build_wheels_for_cpython39_x86_64.yml --- Build_wheels_for_cpython39_x86_64.yml | 171 ++++++++++++++++++++++++++ 1 file changed, 171 insertions(+) create mode 100644 Build_wheels_for_cpython39_x86_64.yml diff --git a/Build_wheels_for_cpython39_x86_64.yml b/Build_wheels_for_cpython39_x86_64.yml new file mode 100644 index 000000000..5d232437c --- /dev/null +++ b/Build_wheels_for_cpython39_x86_64.yml @@ -0,0 +1,171 @@ +name: Build wheels for CPython3.9 x86_64 + +on: [push, pull_request] + +concurrency: + group: ${{ github.ref }}-${{ github.workflow }}-${{ github.event_name }}-${{ github.ref == format('refs/heads/{0}', github.event.repository.default_branch) && github.sha || '' }} + cancel-in-progress: true + +jobs: + build_wheels: + name: Build wheel - ${{ matrix.os.name }} + runs-on: ${{ matrix.os.runs-on }} + strategy: + fail-fast: false + matrix: + os: + - name: Ubuntu 24+16 amd64 CPython 3.9 + runs-on: ubuntu-latest + matrix: linux + arch: amd64 + tag_arch: x86_64 + release: xenial + mirror: http://azure.archive.ubuntu.com/ubuntu + version: 1.5.6.3 + pyver: "3.9" + getpipurl: https://bootstrap.pypa.io/pip/get-pip.py + pypkg: python3.9 + pypkgadd: python3.9-distutils + pyengine_tag: cp39-cp39 + libc_tag: manylinux_2_17 + steps: + - name: Checkout code + uses: actions/checkout@v4 + with: + submodules: 'recursive' + + - name: Update and upgrade Ubuntu 24 + if: matrix.os.matrix == 'linux' + run: | + sudo which apt + sudo apt update; + sudo apt purge -y firefox lxd snapd; + sudo apt install -y zram-config; + sudo apt list --upgradable; + sudo apt upgrade -y; + sudo apt install -f + + - name: Build source distribution with Ubuntu + if: matrix.os.matrix == 'linux' + run: | + sudo apt install -y devscripts debootstrap qemu-user; + pip install build; + python -m build --sdist --outdir dist . + + - name: Debootstrap Ubuntu ${{matrix.os.release}} ${{matrix.os.arch}} + if: matrix.os.matrix == 'linux' + run: | + sudo debootstrap --no-merged-usr --verbose --include=sudo,wget,curl,ca-certificates --arch=${{matrix.os.arch}} ${{matrix.os.release}} ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} ${{matrix.os.mirror}} || tail ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/debootstrap/debootstrap.log + + - name: Update and Upgrade Ubuntu ${{matrix.os.release}} + if: matrix.os.matrix == 'linux' + run: | + sudo mkdir -p ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel + 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 + 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' + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /usr/bin/apt update + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /usr/bin/apt upgrade -y + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /usr/bin/apt -fy install + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /usr/bin/apt upgrade -y + + + - 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 + + - 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}} /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'" + + - name: Pepare source and build wheel for ${{matrix.os.pypkg}} ${{matrix.os.arch}} + if: matrix.os.matrix == 'linux' + run: | + sudo mkdir -p ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel/ + sudo tar -xvf dist/zstd-${{matrix.os.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}} /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}} && ZSTD_ASM=1 _ZSTD_ASM_BMI2=1 ZSTD_THREADS=1 _ZSTD_EXTERNAL=0 python${{matrix.os.pyver}} setup.py bdist_wheel clean" + + - name: Test wheel for ${{matrix.os.pypkg}} ${{matrix.os.arch}} + if: matrix.os.matrix == 'linux' + run: | + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}} && python${{matrix.os.pyver}} setup.py test" + + - name: Pepare wheel for upload + if: matrix.os.matrix == 'linux' + run: | + sudo cp -v ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel/zstd-${{matrix.os.version}}/dist/* ./dist + sudo ls -lh ./dist/* + sudo mv -v ./dist/"zstd-${{matrix.os.version}}-${{matrix.os.pyengine_tag}}-linux_${{matrix.os.tag_arch}}.whl" ./dist/"zstd-${{matrix.os.version}}-${{matrix.os.pyengine_tag}}-${{matrix.os.libc_tag}}_${{matrix.os.tag_arch}}.whl" + sudo rm -vf ./dist/*.tar.gz + + +# - name: Upload artifacts +# uses: actions/upload-artifact@v4 +# with: +# name: wheels +#. path: ./dist +# compression-level: 0 + + - name: Test for secrets access + id: check_secrets + # If a third party makes a pull request + # this allows automated steps below to be skipped + # and leave a clean PR CI run + shell: bash + run: | + unset HAS_SECRET + unset HAS_SECRET_TEST + if [ -n "$SECRET" ]; then HAS_SECRET='true' ; fi + if [ -n "$SECRET_TEST" ]; then HAS_SECRET_TEST='true' ; fi + echo ::set-output name=HAS_SECRET::${HAS_SECRET} + echo ::set-output name=HAS_SECRET_TEST::${HAS_SECRET_TEST} + env: + SECRET: "${{ secrets.pypi_password }}" + SECRET_TEST: "${{ secrets.test_pypi_password }}" + + - name: Install twine + run: pip install 'twine<=6.0.1' + + - name: Publish distribution to PyPI + if: > + startsWith(github.event.ref, 'refs/tags') && + steps.check_secrets.outputs.HAS_SECRET + env: + # If the PR/Push has secret access + # and PYPI_PASSWORD is in GH Secrets for this repo + # and this is a tag, publish to PyPI + TWINE_REPOSITORY_URL: https://upload.pypi.org/legacy/ + TWINE_USERNAME: "${{ secrets.pypi_username }}" + TWINE_NON_INTERACTIVE: 1 + TWINE_PASSWORD: "${{ secrets.pypi_password }}" + run: twine upload --non-interactive --skip-existing --verbose 'dist/*' + + - name: Publish distribution to Test PyPI + if: steps.check_secrets.outputs.HAS_SECRET + env: + # If the PR/Push has secret access + # and TEST_PYPI_PASSWORD is in GH Secrets for this repo + # then publish each build to test PyPI + TWINE_REPOSITORY_URL: https://test.pypi.org/legacy/ + TWINE_USERNAME: "${{ secrets.test_pypi_username }}" + TWINE_NON_INTERACTIVE: 1 + TWINE_PASSWORD: "${{ secrets.test_pypi_password }}" + run: twine upload --non-interactive --skip-existing --verbose 'dist/*' + From 2ca14b75c4c318546db7cd66320a3fae05e85cfd Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Sun, 9 Feb 2025 19:58:40 +0300 Subject: [PATCH 178/353] Create Build_wheels_for_cpython39_x86_64.yml --- .../Build_wheels_for_cpython39_x86_64.yml | 171 ++++++++++++++++++ 1 file changed, 171 insertions(+) create mode 100644 .github/workflows/Build_wheels_for_cpython39_x86_64.yml diff --git a/.github/workflows/Build_wheels_for_cpython39_x86_64.yml b/.github/workflows/Build_wheels_for_cpython39_x86_64.yml new file mode 100644 index 000000000..5d232437c --- /dev/null +++ b/.github/workflows/Build_wheels_for_cpython39_x86_64.yml @@ -0,0 +1,171 @@ +name: Build wheels for CPython3.9 x86_64 + +on: [push, pull_request] + +concurrency: + group: ${{ github.ref }}-${{ github.workflow }}-${{ github.event_name }}-${{ github.ref == format('refs/heads/{0}', github.event.repository.default_branch) && github.sha || '' }} + cancel-in-progress: true + +jobs: + build_wheels: + name: Build wheel - ${{ matrix.os.name }} + runs-on: ${{ matrix.os.runs-on }} + strategy: + fail-fast: false + matrix: + os: + - name: Ubuntu 24+16 amd64 CPython 3.9 + runs-on: ubuntu-latest + matrix: linux + arch: amd64 + tag_arch: x86_64 + release: xenial + mirror: http://azure.archive.ubuntu.com/ubuntu + version: 1.5.6.3 + pyver: "3.9" + getpipurl: https://bootstrap.pypa.io/pip/get-pip.py + pypkg: python3.9 + pypkgadd: python3.9-distutils + pyengine_tag: cp39-cp39 + libc_tag: manylinux_2_17 + steps: + - name: Checkout code + uses: actions/checkout@v4 + with: + submodules: 'recursive' + + - name: Update and upgrade Ubuntu 24 + if: matrix.os.matrix == 'linux' + run: | + sudo which apt + sudo apt update; + sudo apt purge -y firefox lxd snapd; + sudo apt install -y zram-config; + sudo apt list --upgradable; + sudo apt upgrade -y; + sudo apt install -f + + - name: Build source distribution with Ubuntu + if: matrix.os.matrix == 'linux' + run: | + sudo apt install -y devscripts debootstrap qemu-user; + pip install build; + python -m build --sdist --outdir dist . + + - name: Debootstrap Ubuntu ${{matrix.os.release}} ${{matrix.os.arch}} + if: matrix.os.matrix == 'linux' + run: | + sudo debootstrap --no-merged-usr --verbose --include=sudo,wget,curl,ca-certificates --arch=${{matrix.os.arch}} ${{matrix.os.release}} ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} ${{matrix.os.mirror}} || tail ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/debootstrap/debootstrap.log + + - name: Update and Upgrade Ubuntu ${{matrix.os.release}} + if: matrix.os.matrix == 'linux' + run: | + sudo mkdir -p ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel + 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 + 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' + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /usr/bin/apt update + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /usr/bin/apt upgrade -y + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /usr/bin/apt -fy install + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /usr/bin/apt upgrade -y + + + - 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 + + - 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}} /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'" + + - name: Pepare source and build wheel for ${{matrix.os.pypkg}} ${{matrix.os.arch}} + if: matrix.os.matrix == 'linux' + run: | + sudo mkdir -p ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel/ + sudo tar -xvf dist/zstd-${{matrix.os.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}} /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}} && ZSTD_ASM=1 _ZSTD_ASM_BMI2=1 ZSTD_THREADS=1 _ZSTD_EXTERNAL=0 python${{matrix.os.pyver}} setup.py bdist_wheel clean" + + - name: Test wheel for ${{matrix.os.pypkg}} ${{matrix.os.arch}} + if: matrix.os.matrix == 'linux' + run: | + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}} && python${{matrix.os.pyver}} setup.py test" + + - name: Pepare wheel for upload + if: matrix.os.matrix == 'linux' + run: | + sudo cp -v ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel/zstd-${{matrix.os.version}}/dist/* ./dist + sudo ls -lh ./dist/* + sudo mv -v ./dist/"zstd-${{matrix.os.version}}-${{matrix.os.pyengine_tag}}-linux_${{matrix.os.tag_arch}}.whl" ./dist/"zstd-${{matrix.os.version}}-${{matrix.os.pyengine_tag}}-${{matrix.os.libc_tag}}_${{matrix.os.tag_arch}}.whl" + sudo rm -vf ./dist/*.tar.gz + + +# - name: Upload artifacts +# uses: actions/upload-artifact@v4 +# with: +# name: wheels +#. path: ./dist +# compression-level: 0 + + - name: Test for secrets access + id: check_secrets + # If a third party makes a pull request + # this allows automated steps below to be skipped + # and leave a clean PR CI run + shell: bash + run: | + unset HAS_SECRET + unset HAS_SECRET_TEST + if [ -n "$SECRET" ]; then HAS_SECRET='true' ; fi + if [ -n "$SECRET_TEST" ]; then HAS_SECRET_TEST='true' ; fi + echo ::set-output name=HAS_SECRET::${HAS_SECRET} + echo ::set-output name=HAS_SECRET_TEST::${HAS_SECRET_TEST} + env: + SECRET: "${{ secrets.pypi_password }}" + SECRET_TEST: "${{ secrets.test_pypi_password }}" + + - name: Install twine + run: pip install 'twine<=6.0.1' + + - name: Publish distribution to PyPI + if: > + startsWith(github.event.ref, 'refs/tags') && + steps.check_secrets.outputs.HAS_SECRET + env: + # If the PR/Push has secret access + # and PYPI_PASSWORD is in GH Secrets for this repo + # and this is a tag, publish to PyPI + TWINE_REPOSITORY_URL: https://upload.pypi.org/legacy/ + TWINE_USERNAME: "${{ secrets.pypi_username }}" + TWINE_NON_INTERACTIVE: 1 + TWINE_PASSWORD: "${{ secrets.pypi_password }}" + run: twine upload --non-interactive --skip-existing --verbose 'dist/*' + + - name: Publish distribution to Test PyPI + if: steps.check_secrets.outputs.HAS_SECRET + env: + # If the PR/Push has secret access + # and TEST_PYPI_PASSWORD is in GH Secrets for this repo + # then publish each build to test PyPI + TWINE_REPOSITORY_URL: https://test.pypi.org/legacy/ + TWINE_USERNAME: "${{ secrets.test_pypi_username }}" + TWINE_NON_INTERACTIVE: 1 + TWINE_PASSWORD: "${{ secrets.test_pypi_password }}" + run: twine upload --non-interactive --skip-existing --verbose 'dist/*' + From ff821b084727f40d4733c8568288391754b5e341 Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Sun, 9 Feb 2025 20:02:41 +0300 Subject: [PATCH 179/353] Create Build_wheels_for_cpython39_x86.yml --- .../Build_wheels_for_cpython39_x86.yml | 173 ++++++++++++++++++ 1 file changed, 173 insertions(+) create mode 100644 .github/workflows/Build_wheels_for_cpython39_x86.yml diff --git a/.github/workflows/Build_wheels_for_cpython39_x86.yml b/.github/workflows/Build_wheels_for_cpython39_x86.yml new file mode 100644 index 000000000..9d20c280b --- /dev/null +++ b/.github/workflows/Build_wheels_for_cpython39_x86.yml @@ -0,0 +1,173 @@ +name: Build wheels for CPython3.9 x86 + +on: [push, pull_request] + +concurrency: + group: ${{ github.ref }}-${{ github.workflow }}-${{ github.event_name }}-${{ github.ref == format('refs/heads/{0}', github.event.repository.default_branch) && github.sha || '' }} + cancel-in-progress: true + +jobs: + build_wheels: + name: Build wheel - ${{ matrix.os.name }} + runs-on: ${{ matrix.os.runs-on }} + strategy: + fail-fast: false + matrix: + os: + - name: Ubuntu 24+16 i386 CPython 3.9 + runs-on: ubuntu-latest + matrix: linux + arch: i386 + tag_arch: i686 + release: xenial + mirror: http://azure.archive.ubuntu.com/ubuntu + version: 1.5.6.3 + pyver: "3.9" + getpipurl: https://bootstrap.pypa.io/pip/get-pip.py + pypkg: python3.9 + pypkgadd: python3.9-distutils + pyengine_tag: cp39-cp39 + libc_tag: manylinux_2_17 + steps: + - name: Checkout code + uses: actions/checkout@v4 + with: + submodules: 'recursive' + + - name: Update and upgrade Ubuntu 24 + if: matrix.os.matrix == 'linux' + run: | + sudo which apt + sudo apt update; + sudo apt purge -y firefox lxd snapd; + sudo apt install -y zram-config; + sudo apt list --upgradable; + sudo apt upgrade -y; + sudo apt install -f + + - name: Build source distribution with Ubuntu + if: matrix.os.matrix == 'linux' + run: | + sudo apt install -y devscripts debootstrap qemu-user; + pip install build; + python -m build --sdist --outdir dist . + + - name: Debootstrap Ubuntu ${{matrix.os.release}} ${{matrix.os.arch}} + if: matrix.os.matrix == 'linux' + run: | + sudo debootstrap --no-merged-usr --verbose --include=sudo,wget,curl,ca-certificates --arch=${{matrix.os.arch}} ${{matrix.os.release}} ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} ${{matrix.os.mirror}} || tail ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/debootstrap/debootstrap.log + + - name: Update and Upgrade Ubuntu ${{matrix.os.release}} + if: matrix.os.matrix == 'linux' + run: | + sudo mkdir -p ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel + 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 + 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' + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /usr/bin/apt update + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /usr/bin/apt upgrade -y + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /usr/bin/apt -fy install + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /usr/bin/apt upgrade -y + + + - 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 + + - 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}} /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'" + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "${{matrix.os.pypkg}} -m pip install -U pkginfo" + + + - name: Pepare source and build wheel for ${{matrix.os.pypkg}} ${{matrix.os.arch}} + if: matrix.os.matrix == 'linux' + run: | + sudo mkdir -p ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel/ + sudo tar -xvf dist/zstd-${{matrix.os.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}} /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}} && ZSTD_ASM=1 _ZSTD_ASM_BMI2=1 ZSTD_THREADS=1 _ZSTD_EXTERNAL=0 python${{matrix.os.pyver}} setup.py bdist_wheel clean" + + - name: Test wheel for ${{matrix.os.pypkg}} ${{matrix.os.arch}} + if: matrix.os.matrix == 'linux' + run: | + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}} && python${{matrix.os.pyver}} setup.py test" + + - name: Pepare wheel for upload + if: matrix.os.matrix == 'linux' + run: | + sudo cp -v ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel/zstd-${{matrix.os.version}}/dist/* ./dist + sudo ls -lh ./dist/* + sudo mv -v ./dist/"zstd-${{matrix.os.version}}-${{matrix.os.pyengine_tag}}-linux_${{matrix.os.tag_arch}}.whl" ./dist/"zstd-${{matrix.os.version}}-${{matrix.os.pyengine_tag}}-${{matrix.os.libc_tag}}_${{matrix.os.tag_arch}}.whl" + sudo rm -vf ./dist/*.tar.gz + + +# - name: Upload artifacts +# uses: actions/upload-artifact@v4 +# with: +# name: wheels +#. path: ./dist +# compression-level: 0 + + - name: Test for secrets access + id: check_secrets + # If a third party makes a pull request + # this allows automated steps below to be skipped + # and leave a clean PR CI run + shell: bash + run: | + unset HAS_SECRET + unset HAS_SECRET_TEST + if [ -n "$SECRET" ]; then HAS_SECRET='true' ; fi + if [ -n "$SECRET_TEST" ]; then HAS_SECRET_TEST='true' ; fi + echo ::set-output name=HAS_SECRET::${HAS_SECRET} + echo ::set-output name=HAS_SECRET_TEST::${HAS_SECRET_TEST} + env: + SECRET: "${{ secrets.pypi_password }}" + SECRET_TEST: "${{ secrets.test_pypi_password }}" + + - name: Install twine + run: pip install 'twine<=6.0.1' + + - name: Publish distribution to PyPI + if: > + startsWith(github.event.ref, 'refs/tags') && + steps.check_secrets.outputs.HAS_SECRET + env: + # If the PR/Push has secret access + # and PYPI_PASSWORD is in GH Secrets for this repo + # and this is a tag, publish to PyPI + TWINE_REPOSITORY_URL: https://upload.pypi.org/legacy/ + TWINE_USERNAME: "${{ secrets.pypi_username }}" + TWINE_NON_INTERACTIVE: 1 + TWINE_PASSWORD: "${{ secrets.pypi_password }}" + run: twine upload --non-interactive --skip-existing --verbose 'dist/*' + + - name: Publish distribution to Test PyPI + if: steps.check_secrets.outputs.HAS_SECRET + env: + # If the PR/Push has secret access + # and TEST_PYPI_PASSWORD is in GH Secrets for this repo + # then publish each build to test PyPI + TWINE_REPOSITORY_URL: https://test.pypi.org/legacy/ + TWINE_USERNAME: "${{ secrets.test_pypi_username }}" + TWINE_NON_INTERACTIVE: 1 + TWINE_PASSWORD: "${{ secrets.test_pypi_password }}" + run: twine upload --non-interactive --skip-existing --verbose 'dist/*' + From 3fa26350abc6ff934bc71a161f65fac284ef1693 Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Sun, 9 Feb 2025 20:06:15 +0300 Subject: [PATCH 180/353] Update README.rst --- README.rst | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/README.rst b/README.rst index 8a8e018f2..85aef7942 100644 --- a/README.rst +++ b/README.rst @@ -44,6 +44,12 @@ python-zstd .. |cpython38x64| image:: https://github.com/sergey-dryabzhinsky/python-zstd/actions/workflows/Build_wheels_for_cpython38_x86_64.yml/badge.svg :target: https://github.com/sergey-dryabzhinsky/python-zstd/actions/workflows/Build_wheels_for_cpython38_x86_64.yml +.. |cpython39x86| image:: https://github.com/sergey-dryabzhinsky/python-zstd/actions/workflows/Build_wheels_for_cpython39_x86.yml/badge.svg + :target: https://github.com/sergey-dryabzhinsky/python-zstd/actions/workflows/Build_wheels_for_cpython39_x86.yml + +.. |cpython39x64| image:: https://github.com/sergey-dryabzhinsky/python-zstd/actions/workflows/Build_wheels_for_cpython39_x86_64.yml/badge.svg + :target: https://github.com/sergey-dryabzhinsky/python-zstd/actions/workflows/Build_wheels_for_cpython39_x86_64.yml + +-----------------+----------------+ | wheels for: | status | +=================+================+ @@ -71,6 +77,10 @@ python-zstd +-----------------+----------------+ | cpython 3.8 x64 | |cpython38x64| | +-----------------+----------------+ +| cpython 3.9 x86 | |cpython39x86| | ++-----------------+----------------+ +| cpython 3.9 x64 | |cpython39x64| | ++-----------------+----------------+ | Release | |releaseW| | | 1.5.6.2 | | +-----------------+----------------+ From 93114c4fa984417e3e9646496e872ab3b91f8518 Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Sun, 9 Feb 2025 21:45:53 +0300 Subject: [PATCH 181/353] Update Build_wheels_for_cpython27_x86.yml --- .github/workflows/Build_wheels_for_cpython27_x86.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/Build_wheels_for_cpython27_x86.yml b/.github/workflows/Build_wheels_for_cpython27_x86.yml index 1f0bd7bdc..90c5af036 100644 --- a/.github/workflows/Build_wheels_for_cpython27_x86.yml +++ b/.github/workflows/Build_wheels_for_cpython27_x86.yml @@ -97,7 +97,8 @@ jobs: run: | sudo mkdir -p ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel/ sudo tar -xvf dist/zstd-${{matrix.os.version}}.tar.gz -C ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel/ - false && sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} env + false && sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} env + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} find/build_wheel/ sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} pkg-config libzstd --modversion sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}} && ZSTD_ASM=1 _ZSTD_ASM_BMI2=1 ZSTD_THREADS=1 _ZSTD_EXTERNAL=0 python${{matrix.os.pyver}} setup.py bdist_wheel clean" From 6b166cfd8c5bff1387189783521f817ea326d255 Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Sun, 9 Feb 2025 21:55:59 +0300 Subject: [PATCH 182/353] Update Build_wheels_for_cpython27_x86.yml --- .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 90c5af036..bcc0f6a22 100644 --- a/.github/workflows/Build_wheels_for_cpython27_x86.yml +++ b/.github/workflows/Build_wheels_for_cpython27_x86.yml @@ -98,7 +98,7 @@ jobs: sudo mkdir -p ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel/ sudo tar -xvf dist/zstd-${{matrix.os.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}} find/build_wheel/ + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} find /build_wheel/ sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} pkg-config libzstd --modversion sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}} && ZSTD_ASM=1 _ZSTD_ASM_BMI2=1 ZSTD_THREADS=1 _ZSTD_EXTERNAL=0 python${{matrix.os.pyver}} setup.py bdist_wheel clean" From 2f06ec8ae19235651d8f422d66b184bae231cf77 Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Mon, 10 Feb 2025 12:21:46 +0300 Subject: [PATCH 183/353] Update Build_wheels_for_cpython27_x86.yml --- .github/workflows/Build_wheels_for_cpython27_x86.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/Build_wheels_for_cpython27_x86.yml b/.github/workflows/Build_wheels_for_cpython27_x86.yml index bcc0f6a22..f46f49cf9 100644 --- a/.github/workflows/Build_wheels_for_cpython27_x86.yml +++ b/.github/workflows/Build_wheels_for_cpython27_x86.yml @@ -98,13 +98,15 @@ jobs: sudo mkdir -p ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel/ sudo tar -xvf dist/zstd-${{matrix.os.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}} find /build_wheel/ + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} pkg-config libzstd --modversion sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}} && ZSTD_ASM=1 _ZSTD_ASM_BMI2=1 ZSTD_THREADS=1 _ZSTD_EXTERNAL=0 python${{matrix.os.pyver}} setup.py bdist_wheel clean" - name: Test wheel for ${{matrix.os.pypkg}} ${{matrix.os.arch}} if: matrix.os.matrix == 'linux' run: | + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} find /build_wheel/ + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /buil_wheel/ && ldd zstd.so" sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}} && python${{matrix.os.pyver}} setup.py test" - name: Pepare wheel for upload From f623ead968b835bfc90ee6df18ceb51557e20df5 Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Mon, 10 Feb 2025 12:47:45 +0300 Subject: [PATCH 184/353] Update Build_wheels_for_cpython27_x86.yml --- .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 f46f49cf9..d01447f20 100644 --- a/.github/workflows/Build_wheels_for_cpython27_x86.yml +++ b/.github/workflows/Build_wheels_for_cpython27_x86.yml @@ -106,7 +106,7 @@ jobs: if: matrix.os.matrix == 'linux' run: | sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} find /build_wheel/ - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /buil_wheel/ && ldd zstd.so" + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/ && ldd zstd.so" sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}} && python${{matrix.os.pyver}} setup.py test" - name: Pepare wheel for upload From 07e377d15d9804740c4ce55265f28cfc331d3e2c Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Mon, 10 Feb 2025 12:49:43 +0300 Subject: [PATCH 185/353] Update Build_wheels_for_cpython27_x86.yml --- .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 d01447f20..c4b3131ca 100644 --- a/.github/workflows/Build_wheels_for_cpython27_x86.yml +++ b/.github/workflows/Build_wheels_for_cpython27_x86.yml @@ -100,7 +100,7 @@ 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}} /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}} && ZSTD_ASM=1 _ZSTD_ASM_BMI2=1 ZSTD_THREADS=1 _ZSTD_EXTERNAL=0 python${{matrix.os.pyver}} setup.py bdist_wheel clean" + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}} && ZSTD_ASM=1 _ZSTD_ASM_BMI2=1 ZSTD_THREADS=1 _ZSTD_EXTERNAL=0 python${{matrix.os.pyver}} setup.py bdist_wheel " - name: Test wheel for ${{matrix.os.pypkg}} ${{matrix.os.arch}} if: matrix.os.matrix == 'linux' From 18b992595c0872a4d432c04a8bddf75721e158a8 Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Mon, 10 Feb 2025 13:16:06 +0300 Subject: [PATCH 186/353] Create Build_wheels_for_cpython310_x86.yml --- .../Build_wheels_for_cpython310_x86.yml | 173 ++++++++++++++++++ 1 file changed, 173 insertions(+) create mode 100644 .github/workflows/Build_wheels_for_cpython310_x86.yml diff --git a/.github/workflows/Build_wheels_for_cpython310_x86.yml b/.github/workflows/Build_wheels_for_cpython310_x86.yml new file mode 100644 index 000000000..5cb8beb91 --- /dev/null +++ b/.github/workflows/Build_wheels_for_cpython310_x86.yml @@ -0,0 +1,173 @@ +name: Build wheels for CPython3.10 x86 + +on: [push, pull_request] + +concurrency: + group: ${{ github.ref }}-${{ github.workflow }}-${{ github.event_name }}-${{ github.ref == format('refs/heads/{0}', github.event.repository.default_branch) && github.sha || '' }} + cancel-in-progress: true + +jobs: + build_wheels: + name: Build wheel - ${{ matrix.os.name }} + runs-on: ${{ matrix.os.runs-on }} + strategy: + fail-fast: false + matrix: + os: + - name: Ubuntu 24+16 i386 CPython 3.10 + runs-on: ubuntu-latest + matrix: linux + arch: i386 + tag_arch: i686 + release: xenial + mirror: http://azure.archive.ubuntu.com/ubuntu + version: 1.5.6.3 + pyver: "3.10" + getpipurl: https://bootstrap.pypa.io/pip/get-pip.py + pypkg: python3.10 + pypkgadd: python3.10-distutils + pyengine_tag: cp310-cp310 + libc_tag: manylinux_2_17 + steps: + - name: Checkout code + uses: actions/checkout@v4 + with: + submodules: 'recursive' + + - name: Update and upgrade Ubuntu 24 + if: matrix.os.matrix == 'linux' + run: | + sudo which apt + sudo apt update; + sudo apt purge -y firefox lxd snapd; + sudo apt install -y zram-config; + sudo apt list --upgradable; + sudo apt upgrade -y; + sudo apt install -f + + - name: Build source distribution with Ubuntu + if: matrix.os.matrix == 'linux' + run: | + sudo apt install -y devscripts debootstrap qemu-user; + pip install build; + python -m build --sdist --outdir dist . + + - name: Debootstrap Ubuntu ${{matrix.os.release}} ${{matrix.os.arch}} + if: matrix.os.matrix == 'linux' + run: | + sudo debootstrap --no-merged-usr --verbose --include=sudo,wget,curl,ca-certificates --arch=${{matrix.os.arch}} ${{matrix.os.release}} ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} ${{matrix.os.mirror}} || tail ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/debootstrap/debootstrap.log + + - name: Update and Upgrade Ubuntu ${{matrix.os.release}} + if: matrix.os.matrix == 'linux' + run: | + sudo mkdir -p ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel + 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 + 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' + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /usr/bin/apt update + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /usr/bin/apt upgrade -y + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /usr/bin/apt -fy install + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /usr/bin/apt upgrade -y + + + - 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 + + - 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}} /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'" + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "${{matrix.os.pypkg}} -m pip install -U pkginfo" + + + - name: Pepare source and build wheel for ${{matrix.os.pypkg}} ${{matrix.os.arch}} + if: matrix.os.matrix == 'linux' + run: | + sudo mkdir -p ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel/ + sudo tar -xvf dist/zstd-${{matrix.os.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}} /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}} && ZSTD_ASM=1 _ZSTD_ASM_BMI2=1 ZSTD_THREADS=1 _ZSTD_EXTERNAL=0 python${{matrix.os.pyver}} setup.py bdist_wheel clean" + + - name: Test wheel for ${{matrix.os.pypkg}} ${{matrix.os.arch}} + if: matrix.os.matrix == 'linux' + run: | + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}} && python${{matrix.os.pyver}} setup.py test" + + - name: Pepare wheel for upload + if: matrix.os.matrix == 'linux' + run: | + sudo cp -v ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel/zstd-${{matrix.os.version}}/dist/* ./dist + sudo ls -lh ./dist/* + sudo mv -v ./dist/"zstd-${{matrix.os.version}}-${{matrix.os.pyengine_tag}}-linux_${{matrix.os.tag_arch}}.whl" ./dist/"zstd-${{matrix.os.version}}-${{matrix.os.pyengine_tag}}-${{matrix.os.libc_tag}}_${{matrix.os.tag_arch}}.whl" + sudo rm -vf ./dist/*.tar.gz + + +# - name: Upload artifacts +# uses: actions/upload-artifact@v4 +# with: +# name: wheels +#. path: ./dist +# compression-level: 0 + + - name: Test for secrets access + id: check_secrets + # If a third party makes a pull request + # this allows automated steps below to be skipped + # and leave a clean PR CI run + shell: bash + run: | + unset HAS_SECRET + unset HAS_SECRET_TEST + if [ -n "$SECRET" ]; then HAS_SECRET='true' ; fi + if [ -n "$SECRET_TEST" ]; then HAS_SECRET_TEST='true' ; fi + echo ::set-output name=HAS_SECRET::${HAS_SECRET} + echo ::set-output name=HAS_SECRET_TEST::${HAS_SECRET_TEST} + env: + SECRET: "${{ secrets.pypi_password }}" + SECRET_TEST: "${{ secrets.test_pypi_password }}" + + - name: Install twine + run: pip install 'twine<=6.0.1' + + - name: Publish distribution to PyPI + if: > + startsWith(github.event.ref, 'refs/tags') && + steps.check_secrets.outputs.HAS_SECRET + env: + # If the PR/Push has secret access + # and PYPI_PASSWORD is in GH Secrets for this repo + # and this is a tag, publish to PyPI + TWINE_REPOSITORY_URL: https://upload.pypi.org/legacy/ + TWINE_USERNAME: "${{ secrets.pypi_username }}" + TWINE_NON_INTERACTIVE: 1 + TWINE_PASSWORD: "${{ secrets.pypi_password }}" + run: twine upload --non-interactive --skip-existing --verbose 'dist/*' + + - name: Publish distribution to Test PyPI + if: steps.check_secrets.outputs.HAS_SECRET + env: + # If the PR/Push has secret access + # and TEST_PYPI_PASSWORD is in GH Secrets for this repo + # then publish each build to test PyPI + TWINE_REPOSITORY_URL: https://test.pypi.org/legacy/ + TWINE_USERNAME: "${{ secrets.test_pypi_username }}" + TWINE_NON_INTERACTIVE: 1 + TWINE_PASSWORD: "${{ secrets.test_pypi_password }}" + run: twine upload --non-interactive --skip-existing --verbose 'dist/*' + From d4c66bb2b92c5cb074b5ff5572bf5a410f9c2086 Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Mon, 10 Feb 2025 14:17:29 +0300 Subject: [PATCH 187/353] Update Build_wheels_for_cpython27_x86.yml --- .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 c4b3131ca..57d2606cd 100644 --- a/.github/workflows/Build_wheels_for_cpython27_x86.yml +++ b/.github/workflows/Build_wheels_for_cpython27_x86.yml @@ -106,7 +106,7 @@ jobs: if: matrix.os.matrix == 'linux' run: | sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} find /build_wheel/ - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/ && ldd zstd.so" + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/ && ldd /build/*/zstd.so" sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}} && python${{matrix.os.pyver}} setup.py test" - name: Pepare wheel for upload From eeb2a1605c46cc189ed3370088d4eeca4983e55d Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Mon, 10 Feb 2025 14:19:03 +0300 Subject: [PATCH 188/353] Update Build_wheels_for_cpython27_x86.yml --- .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 57d2606cd..f41a765f9 100644 --- a/.github/workflows/Build_wheels_for_cpython27_x86.yml +++ b/.github/workflows/Build_wheels_for_cpython27_x86.yml @@ -106,7 +106,7 @@ jobs: if: matrix.os.matrix == 'linux' run: | sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} find /build_wheel/ - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/ && ldd /build/*/zstd.so" + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/ && ldd /zstd-${{matrix.os.version}}/build/*/zstd.so" sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}} && python${{matrix.os.pyver}} setup.py test" - name: Pepare wheel for upload From f053e460a89f55de84c9f15a9113909707242b16 Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Mon, 10 Feb 2025 14:21:46 +0300 Subject: [PATCH 189/353] Create Build_wheels_for_cpython310_x86_64.yml --- .../Build_wheels_for_cpython310_x86_64.yml | 171 ++++++++++++++++++ 1 file changed, 171 insertions(+) create mode 100644 .github/workflows/Build_wheels_for_cpython310_x86_64.yml diff --git a/.github/workflows/Build_wheels_for_cpython310_x86_64.yml b/.github/workflows/Build_wheels_for_cpython310_x86_64.yml new file mode 100644 index 000000000..29f286720 --- /dev/null +++ b/.github/workflows/Build_wheels_for_cpython310_x86_64.yml @@ -0,0 +1,171 @@ +name: Build wheels for CPython3.10 x86_64 + +on: [push, pull_request] + +concurrency: + group: ${{ github.ref }}-${{ github.workflow }}-${{ github.event_name }}-${{ github.ref == format('refs/heads/{0}', github.event.repository.default_branch) && github.sha || '' }} + cancel-in-progress: true + +jobs: + build_wheels: + name: Build wheel - ${{ matrix.os.name }} + runs-on: ${{ matrix.os.runs-on }} + strategy: + fail-fast: false + matrix: + os: + - name: Ubuntu 24+16 amd64 CPython 3.10 + runs-on: ubuntu-latest + matrix: linux + arch: amd64 + tag_arch: x86_64 + release: xenial + mirror: http://azure.archive.ubuntu.com/ubuntu + version: 1.5.6.3 + pyver: "3.10" + getpipurl: https://bootstrap.pypa.io/pip/get-pip.py + pypkg: python3.10 + pypkgadd: python3.10-distutils + pyengine_tag: cp310-cp310 + libc_tag: manylinux_2_17 + steps: + - name: Checkout code + uses: actions/checkout@v4 + with: + submodules: 'recursive' + + - name: Update and upgrade Ubuntu 24 + if: matrix.os.matrix == 'linux' + run: | + sudo which apt + sudo apt update; + sudo apt purge -y firefox lxd snapd; + sudo apt install -y zram-config; + sudo apt list --upgradable; + sudo apt upgrade -y; + sudo apt install -f + + - name: Build source distribution with Ubuntu + if: matrix.os.matrix == 'linux' + run: | + sudo apt install -y devscripts debootstrap qemu-user; + pip install build; + python -m build --sdist --outdir dist . + + - name: Debootstrap Ubuntu ${{matrix.os.release}} ${{matrix.os.arch}} + if: matrix.os.matrix == 'linux' + run: | + sudo debootstrap --no-merged-usr --verbose --include=sudo,wget,curl,ca-certificates --arch=${{matrix.os.arch}} ${{matrix.os.release}} ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} ${{matrix.os.mirror}} || tail ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/debootstrap/debootstrap.log + + - name: Update and Upgrade Ubuntu ${{matrix.os.release}} + if: matrix.os.matrix == 'linux' + run: | + sudo mkdir -p ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel + 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 + 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' + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /usr/bin/apt update + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /usr/bin/apt upgrade -y + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /usr/bin/apt -fy install + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /usr/bin/apt upgrade -y + + + - 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 + + - 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}} /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'" + + - name: Pepare source and build wheel for ${{matrix.os.pypkg}} ${{matrix.os.arch}} + if: matrix.os.matrix == 'linux' + run: | + sudo mkdir -p ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel/ + sudo tar -xvf dist/zstd-${{matrix.os.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}} /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}} && ZSTD_ASM=1 _ZSTD_ASM_BMI2=1 ZSTD_THREADS=1 _ZSTD_EXTERNAL=0 python${{matrix.os.pyver}} setup.py bdist_wheel clean" + + - name: Test wheel for ${{matrix.os.pypkg}} ${{matrix.os.arch}} + if: matrix.os.matrix == 'linux' + run: | + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}} && python${{matrix.os.pyver}} setup.py test" + + - name: Pepare wheel for upload + if: matrix.os.matrix == 'linux' + run: | + sudo cp -v ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel/zstd-${{matrix.os.version}}/dist/* ./dist + sudo ls -lh ./dist/* + sudo mv -v ./dist/"zstd-${{matrix.os.version}}-${{matrix.os.pyengine_tag}}-linux_${{matrix.os.tag_arch}}.whl" ./dist/"zstd-${{matrix.os.version}}-${{matrix.os.pyengine_tag}}-${{matrix.os.libc_tag}}_${{matrix.os.tag_arch}}.whl" + sudo rm -vf ./dist/*.tar.gz + + +# - name: Upload artifacts +# uses: actions/upload-artifact@v4 +# with: +# name: wheels +#. path: ./dist +# compression-level: 0 + + - name: Test for secrets access + id: check_secrets + # If a third party makes a pull request + # this allows automated steps below to be skipped + # and leave a clean PR CI run + shell: bash + run: | + unset HAS_SECRET + unset HAS_SECRET_TEST + if [ -n "$SECRET" ]; then HAS_SECRET='true' ; fi + if [ -n "$SECRET_TEST" ]; then HAS_SECRET_TEST='true' ; fi + echo ::set-output name=HAS_SECRET::${HAS_SECRET} + echo ::set-output name=HAS_SECRET_TEST::${HAS_SECRET_TEST} + env: + SECRET: "${{ secrets.pypi_password }}" + SECRET_TEST: "${{ secrets.test_pypi_password }}" + + - name: Install twine + run: pip install 'twine<=6.0.1' + + - name: Publish distribution to PyPI + if: > + startsWith(github.event.ref, 'refs/tags') && + steps.check_secrets.outputs.HAS_SECRET + env: + # If the PR/Push has secret access + # and PYPI_PASSWORD is in GH Secrets for this repo + # and this is a tag, publish to PyPI + TWINE_REPOSITORY_URL: https://upload.pypi.org/legacy/ + TWINE_USERNAME: "${{ secrets.pypi_username }}" + TWINE_NON_INTERACTIVE: 1 + TWINE_PASSWORD: "${{ secrets.pypi_password }}" + run: twine upload --non-interactive --skip-existing --verbose 'dist/*' + + - name: Publish distribution to Test PyPI + if: steps.check_secrets.outputs.HAS_SECRET + env: + # If the PR/Push has secret access + # and TEST_PYPI_PASSWORD is in GH Secrets for this repo + # then publish each build to test PyPI + TWINE_REPOSITORY_URL: https://test.pypi.org/legacy/ + TWINE_USERNAME: "${{ secrets.test_pypi_username }}" + TWINE_NON_INTERACTIVE: 1 + TWINE_PASSWORD: "${{ secrets.test_pypi_password }}" + run: twine upload --non-interactive --skip-existing --verbose 'dist/*' + From 22364fa7c539b836fc97085f077427514f586e1f Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Mon, 10 Feb 2025 14:23:16 +0300 Subject: [PATCH 190/353] Update Build_wheels_for_cpython310_x86.yml --- .github/workflows/Build_wheels_for_cpython310_x86.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/Build_wheels_for_cpython310_x86.yml b/.github/workflows/Build_wheels_for_cpython310_x86.yml index 5cb8beb91..9fcb123c0 100644 --- a/.github/workflows/Build_wheels_for_cpython310_x86.yml +++ b/.github/workflows/Build_wheels_for_cpython310_x86.yml @@ -19,7 +19,7 @@ jobs: matrix: linux arch: i386 tag_arch: i686 - release: xenial + release: focal mirror: http://azure.archive.ubuntu.com/ubuntu version: 1.5.6.3 pyver: "3.10" @@ -64,7 +64,7 @@ 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 + false && 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 From eb899a54fb25a036e45420d9fc442264e91a84d7 Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Mon, 10 Feb 2025 14:26:18 +0300 Subject: [PATCH 191/353] Update README.rst --- README.rst | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/README.rst b/README.rst index 85aef7942..fdfcfe238 100644 --- a/README.rst +++ b/README.rst @@ -50,6 +50,12 @@ python-zstd .. |cpython39x64| image:: https://github.com/sergey-dryabzhinsky/python-zstd/actions/workflows/Build_wheels_for_cpython39_x86_64.yml/badge.svg :target: https://github.com/sergey-dryabzhinsky/python-zstd/actions/workflows/Build_wheels_for_cpython39_x86_64.yml +.. |cpython310x86| image:: https://github.com/sergey-dryabzhinsky/python-zstd/actions/workflows/Build_wheels_for_cpython310_x86.yml/badge.svg + :target: https://github.com/sergey-dryabzhinsky/python-zstd/actions/workflows/Build_wheels_for_cpython310_x86.yml + +.. |cpython310x64| image:: https://github.com/sergey-dryabzhinsky/python-zstd/actions/workflows/Build_wheels_for_cpython310_x86_64.yml/badge.svg + :target: https://github.com/sergey-dryabzhinsky/python-zstd/actions/workflows/Build_wheels_for_cpython310_x86_64.yml + +-----------------+----------------+ | wheels for: | status | +=================+================+ @@ -81,6 +87,10 @@ python-zstd +-----------------+----------------+ | cpython 3.9 x64 | |cpython39x64| | +-----------------+----------------+ +| cpython 3.10 x86 | |cpython310x86| | ++-----------------+----------------+ +| cpython 3.10 x64 | |cpython310x64| | ++-----------------+----------------+ | Release | |releaseW| | | 1.5.6.2 | | +-----------------+----------------+ From 44012d0975226aeba538b6da874fccca22e2c197 Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Mon, 10 Feb 2025 14:28:14 +0300 Subject: [PATCH 192/353] Update README.rst --- README.rst | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/README.rst b/README.rst index fdfcfe238..d300f646b 100644 --- a/README.rst +++ b/README.rst @@ -86,11 +86,11 @@ python-zstd | cpython 3.9 x86 | |cpython39x86| | +-----------------+----------------+ | cpython 3.9 x64 | |cpython39x64| | -+-----------------+----------------+ -| cpython 3.10 x86 | |cpython310x86| | -+-----------------+----------------+ -| cpython 3.10 x64 | |cpython310x64| | -+-----------------+----------------+ ++------------------+-------------------+ +| cpython 3.10 x86 | |cpython310x86 | | ++------------------+-------------------+ +| cpython 3.10 x64 | |cpy-thon310x64 | | ++------------------+-------------------+ | Release | |releaseW| | | 1.5.6.2 | | +-----------------+----------------+ From 1f23d766c6bf4a0ed3a07ad60704d503ad5e9e2b Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Mon, 10 Feb 2025 14:33:21 +0300 Subject: [PATCH 193/353] Create Build_wheels_for_cpython27_armhf.yml --- .../Build_wheels_for_cpython27_armhf.yml | 171 ++++++++++++++++++ 1 file changed, 171 insertions(+) create mode 100644 .github/workflows/Build_wheels_for_cpython27_armhf.yml diff --git a/.github/workflows/Build_wheels_for_cpython27_armhf.yml b/.github/workflows/Build_wheels_for_cpython27_armhf.yml new file mode 100644 index 000000000..16e7e865d --- /dev/null +++ b/.github/workflows/Build_wheels_for_cpython27_armhf.yml @@ -0,0 +1,171 @@ +name: Build wheels for CPython2.7 armhf + +on: [push, pull_request] + +concurrency: + group: ${{ github.ref }}-${{ github.workflow }}-${{ github.event_name }}-${{ github.ref == format('refs/heads/{0}', github.event.repository.default_branch) && github.sha || '' }} + cancel-in-progress: true + +jobs: + build_wheels: + name: Build wheel - ${{ matrix.os.name }} + runs-on: ${{ matrix.os.runs-on }} + strategy: + fail-fast: false + matrix: + os: + - name: Ubuntu 24+16 i386 CPython 2.7 + runs-on: ubuntu-latest + matrix: linux + arch: armhf + tag_arch: armhf + release: xenial + mirror: http://azure.archive.ubuntu.com/ubuntu + version: 1.5.6.3 + pyver: "2.7" + getpipurl: https://bootstrap.pypa.io/pip/2.7/get-pip.py + pypkg: python2.7 + pyengine_tag: cp27-cp27mu + libc_tag: manylinux_2_17 + steps: + - name: Checkout code + uses: actions/checkout@v4 + with: + submodules: 'recursive' + + - name: Update and upgrade Ubuntu 24 + if: matrix.os.matrix == 'linux' + run: | + sudo which apt + sudo apt update; + sudo apt purge -y firefox lxd snapd; + sudo apt install -y zram-config; + sudo apt list --upgradable; + sudo apt upgrade -y; + sudo apt install -f + + - name: Build source distribution with Ubuntu + if: matrix.os.matrix == 'linux' + run: | + sudo apt install -y debootstrap qemu-user; + pip install build; + python -m build --sdist --outdir dist . + + - name: Debootstrap Ubuntu ${{matrix.os.release}} ${{matrix.os.arch}} + if: matrix.os.matrix == 'linux' + run: | + sudo debootstrap --no-merged-usr --verbose --include=sudo,wget,curl,ca-certificates --arch=${{matrix.os.arch}} ${{matrix.os.release}} ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} ${{matrix.os.mirror}} || tail ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/debootstrap/debootstrap.log + + - name: Update and Upgrade Ubuntu ${{matrix.os.release}} + if: matrix.os.matrix == 'linux' + run: | + sudo mkdir -p ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel + 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 + false && 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 + 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' + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /usr/bin/apt update + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /usr/bin/apt upgrade -y + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /usr/bin/apt -fy install + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /usr/bin/apt upgrade -y + + + - 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 + + - 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}} /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'" + + - name: Pepare source and build wheel for ${{matrix.os.pypkg}} ${{matrix.os.arch}} + if: matrix.os.matrix == 'linux' + run: | + sudo mkdir -p ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel/ + sudo tar -xvf dist/zstd-${{matrix.os.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}} /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}} && ZSTD_ASM=1 _ZSTD_ASM_BMI2=1 ZSTD_THREADS=1 _ZSTD_EXTERNAL=0 python${{matrix.os.pyver}} setup.py bdist_wheel " + + - name: Test wheel for ${{matrix.os.pypkg}} ${{matrix.os.arch}} + if: matrix.os.matrix == 'linux' + run: | + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} find /build_wheel/ + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/ && ldd /zstd-${{matrix.os.version}}/build/*/zstd.so" + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}} && python${{matrix.os.pyver}} setup.py test" + + - name: Pepare wheel for upload + if: matrix.os.matrix == 'linux' + run: | + sudo cp -v ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel/zstd-${{matrix.os.version}}/dist/* ./dist + sudo ls -lh ./dist/* + sudo mv -v ./dist/"zstd-${{matrix.os.version}}-${{matrix.os.pyengine_tag}}-linux_${{matrix.os.tag_arch}}.whl" ./dist/"zstd-${{matrix.os.version}}-${{matrix.os.pyengine_tag}}-${{matrix.os.libc_tag}}_${{matrix.os.tag_arch}}.whl" + sudo rm -vf ./dist/*.tar.gz + +# - name: Upload artifacts +# uses: actions/upload-artifact@v4 +# with: +# name: wheels +#. path: ./dist +# compression-level: 0 + + - name: Test for secrets access + id: check_secrets + # If a third party makes a pull request + # this allows automated steps below to be skipped + # and leave a clean PR CI run + shell: bash + run: | + unset HAS_SECRET + unset HAS_SECRET_TEST + if [ -n "$SECRET" ]; then HAS_SECRET='true' ; fi + if [ -n "$SECRET_TEST" ]; then HAS_SECRET_TEST='true' ; fi + echo ::set-output name=HAS_SECRET::${HAS_SECRET} + echo ::set-output name=HAS_SECRET_TEST::${HAS_SECRET_TEST} + env: + SECRET: "${{ secrets.pypi_password }}" + SECRET_TEST: "${{ secrets.test_pypi_password }}" + + - name: Install twine + run: pip install 'twine<=6.0.1' + + - name: Publish distribution to PyPI + if: > + startsWith(github.event.ref, 'refs/tags') && + steps.check_secrets.outputs.HAS_SECRET + env: + # If the PR/Push has secret access + # and PYPI_PASSWORD is in GH Secrets for this repo + # and this is a tag, publish to PyPI + TWINE_REPOSITORY_URL: https://upload.pypi.org/legacy/ + TWINE_USERNAME: "${{ secrets.pypi_username }}" + TWINE_NON_INTERACTIVE: 1 + TWINE_PASSWORD: "${{ secrets.pypi_password }}" + run: twine upload --non-interactive --skip-existing --verbose 'dist/*' + + - name: Publish distribution to Test PyPI + if: steps.check_secrets.outputs.HAS_SECRET + env: + # If the PR/Push has secret access + # and TEST_PYPI_PASSWORD is in GH Secrets for this repo + # then publish each build to test PyPI + TWINE_REPOSITORY_URL: https://test.pypi.org/legacy/ + TWINE_USERNAME: "${{ secrets.test_pypi_username }}" + TWINE_NON_INTERACTIVE: 1 + TWINE_PASSWORD: "${{ secrets.test_pypi_password }}" + run: twine upload --non-interactive --skip-existing --verbose 'dist/*' From 7ddaab4ae5f5790887d8bc29ffed914e33c876aa Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Mon, 10 Feb 2025 15:19:27 +0300 Subject: [PATCH 194/353] Update Build_wheels_for_cpython310_x86.yml --- .github/workflows/Build_wheels_for_cpython310_x86.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/Build_wheels_for_cpython310_x86.yml b/.github/workflows/Build_wheels_for_cpython310_x86.yml index 9fcb123c0..dc8658c6a 100644 --- a/.github/workflows/Build_wheels_for_cpython310_x86.yml +++ b/.github/workflows/Build_wheels_for_cpython310_x86.yml @@ -55,7 +55,7 @@ jobs: - name: Debootstrap Ubuntu ${{matrix.os.release}} ${{matrix.os.arch}} if: matrix.os.matrix == 'linux' run: | - sudo debootstrap --no-merged-usr --verbose --include=sudo,wget,curl,ca-certificates --arch=${{matrix.os.arch}} ${{matrix.os.release}} ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} ${{matrix.os.mirror}} || tail ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/debootstrap/debootstrap.log + sudo debootstrap --no-merged-usr --verbose --include=sudo,wget,curl,gnupg,ca-certificates --arch=${{matrix.os.arch}} ${{matrix.os.release}} ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} ${{matrix.os.mirror}} || tail ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/debootstrap/debootstrap.log - name: Update and Upgrade Ubuntu ${{matrix.os.release}} if: matrix.os.matrix == 'linux' From e9768eaf9937790666ca6cb54b77f8e512a4f260 Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Mon, 10 Feb 2025 15:21:14 +0300 Subject: [PATCH 195/353] Update Build_wheels_for_cpython27_armhf.yml --- .github/workflows/Build_wheels_for_cpython27_armhf.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/Build_wheels_for_cpython27_armhf.yml b/.github/workflows/Build_wheels_for_cpython27_armhf.yml index 16e7e865d..78db55177 100644 --- a/.github/workflows/Build_wheels_for_cpython27_armhf.yml +++ b/.github/workflows/Build_wheels_for_cpython27_armhf.yml @@ -20,7 +20,7 @@ jobs: arch: armhf tag_arch: armhf release: xenial - mirror: http://azure.archive.ubuntu.com/ubuntu + mirror: http://ports.ubuntu.com/ubuntu version: 1.5.6.3 pyver: "2.7" getpipurl: https://bootstrap.pypa.io/pip/2.7/get-pip.py From 683106a8d059572353d1d5197da3b24affccfa6b Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Mon, 10 Feb 2025 15:50:49 +0300 Subject: [PATCH 196/353] Update README.rst --- README.rst | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/README.rst b/README.rst index d300f646b..fa4c49656 100644 --- a/README.rst +++ b/README.rst @@ -1,4 +1,4 @@ -============= +hi============= python-zstd ============= @@ -86,11 +86,11 @@ python-zstd | cpython 3.9 x86 | |cpython39x86| | +-----------------+----------------+ | cpython 3.9 x64 | |cpython39x64| | -+------------------+-------------------+ -| cpython 3.10 x86 | |cpython310x86 | | -+------------------+-------------------+ -| cpython 3.10 x64 | |cpy-thon310x64 | | -+------------------+-------------------+ ++------------------+-----------------+ +| cpython 3.10 x86 | |cpython310x86| | ++------------------+-----------------+ +| cpython 3.10 x64 | |cpython310x64| | ++------------------+-----------------+ | Release | |releaseW| | | 1.5.6.2 | | +-----------------+----------------+ From 113c6f24b129a4897bc5168c1483f313b0de90c6 Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Mon, 10 Feb 2025 15:51:20 +0300 Subject: [PATCH 197/353] Update README.rst --- README.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.rst b/README.rst index fa4c49656..b374af996 100644 --- a/README.rst +++ b/README.rst @@ -1,4 +1,4 @@ -hi============= +============= python-zstd ============= From 680949fa757e1ea759103d5400e81c40a09683c0 Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Mon, 10 Feb 2025 15:57:59 +0300 Subject: [PATCH 198/353] Update README.rst --- README.rst | 60 +++++++++++++++++++++++++++--------------------------- 1 file changed, 30 insertions(+), 30 deletions(-) diff --git a/README.rst b/README.rst index b374af996..4385f2218 100644 --- a/README.rst +++ b/README.rst @@ -56,36 +56,36 @@ python-zstd .. |cpython310x64| image:: https://github.com/sergey-dryabzhinsky/python-zstd/actions/workflows/Build_wheels_for_cpython310_x86_64.yml/badge.svg :target: https://github.com/sergey-dryabzhinsky/python-zstd/actions/workflows/Build_wheels_for_cpython310_x86_64.yml -+-----------------+----------------+ -| wheels for: | status | -+=================+================+ -| cpython 2.7 x86 | |cpython27x86| | -+-----------------+----------------+ -| cpython 2.7 x64 | |cpython27x64| | -+-----------------+----------------+ -| cpython 3.4 x86 | |cpython34x86| | -+-----------------+----------------+ -| cpython 3.4 x64 | |cpython34x64| | -+-----------------+----------------+ -| cpython 3.5 x86 | |cpython35x86| | -+-----------------+----------------+ -| cpython 3.5 x64 | |cpython35x64| | -+-----------------+----------------+ -| cpython 3.6 x86 | |cpython36x86| | -+-----------------+----------------+ -| cpython 3.6 x64 | |cpython36x64| | -+-----------------+----------------+ -| cpython 3.7 x86 | |cpython37x86| | -+-----------------+----------------+ -| cpython 3.7 x64 | |cpython37x64| | -+-----------------+----------------+ -| cpython 3.8 x86 | |cpython38x86| | -+-----------------+----------------+ -| cpython 3.8 x64 | |cpython38x64| | -+-----------------+----------------+ -| cpython 3.9 x86 | |cpython39x86| | -+-----------------+----------------+ -| cpython 3.9 x64 | |cpython39x64| | ++------------------+-----------------+ +| wheels for: | status | ++==================+=================+ +| cpython 2.7 x86 | |cpython27x86| | ++------------------+-----------------+ +| cpython 2.7 x64 | |cpython27x64| | ++------------------+-----------------+ +| cpython 3.4 x86 | |cpython34x86| | ++------------------+-----------------+ +| cpython 3.4 x64 | |cpython34x64| | ++------------------+-----------------+ +| cpython 3.5 x86 | |cpython35x86| | ++------------------+-----------------+ +| cpython 3.5 x64 | |cpython35x64| | ++------------------+-----------------+ +| cpython 3.6 x86 | |cpython36x86| | ++------------------+-----------------+ +| cpython 3.6 x64 | |cpython36x64| | ++------------------+-----------------+ +| cpython 3.7 x86 | |cpython37x86| | ++------------------+-----------------+ +| cpython 3.7 x64 | |cpython37x64| | ++------------------+-----------------+ +| cpython 3.8 x86 | |cpython38x86| | ++------------------+-----------------+ +| cpython 3.8 x64 | |cpython38x64| | ++------------------+-----------------+ +| cpython 3.9 x86 | |cpython39x86| | ++------------------+-----------------+ +| cpython 3.9 x64 | |cpython39x64| | +------------------+-----------------+ | cpython 3.10 x86 | |cpython310x86| | +------------------+-----------------+ From 3e14079b894c78b799c455321ad4a2d714a1ba79 Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Mon, 10 Feb 2025 15:59:42 +0300 Subject: [PATCH 199/353] Update README.rst --- README.rst | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/README.rst b/README.rst index 4385f2218..d21570b8e 100644 --- a/README.rst +++ b/README.rst @@ -91,11 +91,11 @@ python-zstd +------------------+-----------------+ | cpython 3.10 x64 | |cpython310x64| | +------------------+-----------------+ -| Release | |releaseW| | -| 1.5.6.2 | | -+-----------------+----------------+ -| Master | |masterW| | -+-----------------+----------------+ +| Release | |releaseW| | +| 1.5.6.2 | | ++------------------+-----------------+ +| Master | |masterW| | ++------------------+-----------------+ Simple python bindings to Yann Collet ZSTD compression library. From c175eb2c680dfdcaf36bfe8d0579f0aae79cf691 Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Mon, 10 Feb 2025 16:00:24 +0300 Subject: [PATCH 200/353] Update README.rst --- README.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.rst b/README.rst index d21570b8e..6ae1770f6 100644 --- a/README.rst +++ b/README.rst @@ -2,7 +2,7 @@ python-zstd ============= -.. |releaseW| image:: https://github.com/sergey-dryabzhinsky/python-zstd/actions/workflows/build-wheels.yml/badge.svg?tag=v1.5.6.2 +.. |releaseW| image:: https://github.com/sergey-dryabzhinsky/python-zstd/actions/workflows/build-wheels.yml/badge.svg?tag=v1.5.6.3 :target: https://github.com/sergey-dryabzhinsky/python-zstd/actions/workflows/build-wheels.yml .. |masterW| image:: https://github.com/sergey-dryabzhinsky/python-zstd/actions/workflows/build-wheels.yml/badge.svg @@ -92,7 +92,7 @@ python-zstd | cpython 3.10 x64 | |cpython310x64| | +------------------+-----------------+ | Release | |releaseW| | -| 1.5.6.2 | | +| 1.5.6.3 | | +------------------+-----------------+ | Master | |masterW| | +------------------+-----------------+ From da3334c2ac9522e9649a2db6536f4687384afcc8 Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Mon, 10 Feb 2025 17:16:34 +0300 Subject: [PATCH 201/353] Update Build_wheels_for_cpython27_x86.yml --- .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 f41a765f9..3f3a08ed9 100644 --- a/.github/workflows/Build_wheels_for_cpython27_x86.yml +++ b/.github/workflows/Build_wheels_for_cpython27_x86.yml @@ -106,7 +106,7 @@ jobs: if: matrix.os.matrix == 'linux' run: | sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} find /build_wheel/ - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/ && ldd /zstd-${{matrix.os.version}}/build/*/zstd.so" + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}}/ ls -lh build/*/zstd.so; ldd build/*/zstd.so" sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}} && python${{matrix.os.pyver}} setup.py test" - name: Pepare wheel for upload From b21edc059cc56a52efe7ab6d54ff85ae1772ee6d Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Mon, 10 Feb 2025 17:21:08 +0300 Subject: [PATCH 202/353] Update Build_wheels_for_cpython310_x86.yml --- .github/workflows/Build_wheels_for_cpython310_x86.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/Build_wheels_for_cpython310_x86.yml b/.github/workflows/Build_wheels_for_cpython310_x86.yml index dc8658c6a..84a170361 100644 --- a/.github/workflows/Build_wheels_for_cpython310_x86.yml +++ b/.github/workflows/Build_wheels_for_cpython310_x86.yml @@ -14,7 +14,7 @@ jobs: fail-fast: false matrix: os: - - name: Ubuntu 24+16 i386 CPython 3.10 + - name: Ubuntu 24+20 i386 CPython 3.10 runs-on: ubuntu-latest matrix: linux arch: i386 @@ -42,7 +42,7 @@ jobs: sudo apt purge -y firefox lxd snapd; sudo apt install -y zram-config; sudo apt list --upgradable; - sudo apt upgrade -y; + sudo apt dist-upgrade -y; sudo apt install -f - name: Build source distribution with Ubuntu @@ -76,7 +76,7 @@ jobs: 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' sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /usr/bin/apt update - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /usr/bin/apt upgrade -y + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /usr/bin/apt dist-upgrade -y sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /usr/bin/apt -fy install sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /usr/bin/apt upgrade -y From 57ce918e12ab3ed0a8a5a8b923383f8b35f6200d Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Mon, 10 Feb 2025 18:05:11 +0300 Subject: [PATCH 203/353] Update Build_wheels_for_cpython27_x86.yml --- .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 3f3a08ed9..fad5a3f10 100644 --- a/.github/workflows/Build_wheels_for_cpython27_x86.yml +++ b/.github/workflows/Build_wheels_for_cpython27_x86.yml @@ -106,7 +106,7 @@ jobs: if: matrix.os.matrix == 'linux' run: | sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} find /build_wheel/ - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}}/ ls -lh build/*/zstd.so; ldd build/*/zstd.so" + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}}/ ls -lh build/*/zstd.so; ldd build/*/zstd.so; wget https://gist.githubusercontent.com/fasterthanlime/17e002a8f5e0f189861c/raw/09e8866f1df83a51aa579e7dc425405ce93be7ab/glibc-check.sh; chod +x glibc-check.sh;./glibc-check.sh build/*/zstd.so" sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}} && python${{matrix.os.pyver}} setup.py test" - name: Pepare wheel for upload From 6ba69a60401c7cd1eeeb163348b0713d9eaf8ae4 Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Mon, 10 Feb 2025 18:07:04 +0300 Subject: [PATCH 204/353] Update Build_wheels_for_cpython310_x86.yml --- .github/workflows/Build_wheels_for_cpython310_x86.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/Build_wheels_for_cpython310_x86.yml b/.github/workflows/Build_wheels_for_cpython310_x86.yml index 84a170361..9f72a0c95 100644 --- a/.github/workflows/Build_wheels_for_cpython310_x86.yml +++ b/.github/workflows/Build_wheels_for_cpython310_x86.yml @@ -76,7 +76,7 @@ jobs: 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' sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /usr/bin/apt update - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /usr/bin/apt dist-upgrade -y + false && sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /usr/bin/apt dist-upgrade -y sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /usr/bin/apt -fy install sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /usr/bin/apt upgrade -y From 34f789ef58034fcd55fd5e195df1941ac3d1a88f Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Mon, 10 Feb 2025 18:22:55 +0300 Subject: [PATCH 205/353] Update Build_wheels_for_cpython27_x86.yml --- .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 fad5a3f10..7b0fb0974 100644 --- a/.github/workflows/Build_wheels_for_cpython27_x86.yml +++ b/.github/workflows/Build_wheels_for_cpython27_x86.yml @@ -106,7 +106,7 @@ jobs: if: matrix.os.matrix == 'linux' run: | sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} find /build_wheel/ - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}}/ ls -lh build/*/zstd.so; ldd build/*/zstd.so; wget https://gist.githubusercontent.com/fasterthanlime/17e002a8f5e0f189861c/raw/09e8866f1df83a51aa579e7dc425405ce93be7ab/glibc-check.sh; chod +x glibc-check.sh;./glibc-check.sh build/*/zstd.so" + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}}/ ls -lh build/*/zstd.so; ldd build/*/zstd.so; wget https://gist.githubusercontent.com/fasterthanlime/17e002a8f5e0f189861c/raw/09e8866f1df83a51aa579e7dc425405ce93be7ab/glibc-check.sh; bash ./glibc-check.sh build/*/zstd.so" sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}} && python${{matrix.os.pyver}} setup.py test" - name: Pepare wheel for upload From 689773a478aeb4c4ffc842032be07f5ca2fcdf92 Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Mon, 10 Feb 2025 18:36:51 +0300 Subject: [PATCH 206/353] Update Build_wheels_for_cpython27_x86.yml --- .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 7b0fb0974..dae655dc7 100644 --- a/.github/workflows/Build_wheels_for_cpython27_x86.yml +++ b/.github/workflows/Build_wheels_for_cpython27_x86.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_17 + libc_tag: manylinux_2_4 steps: - name: Checkout code uses: actions/checkout@v4 From 84f499c7a8da99225470944d51d74b2aae6920c1 Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Mon, 10 Feb 2025 18:37:46 +0300 Subject: [PATCH 207/353] Update Build_wheels_for_cpython310_x86.yml --- .github/workflows/Build_wheels_for_cpython310_x86.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/Build_wheels_for_cpython310_x86.yml b/.github/workflows/Build_wheels_for_cpython310_x86.yml index 9f72a0c95..6f56c38e7 100644 --- a/.github/workflows/Build_wheels_for_cpython310_x86.yml +++ b/.github/workflows/Build_wheels_for_cpython310_x86.yml @@ -107,6 +107,8 @@ jobs: - name: Test wheel for ${{matrix.os.pypkg}} ${{matrix.os.arch}} if: matrix.os.matrix == 'linux' run: | + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} find /build_wheel/ + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}}/ ls -lh build/*/zstd.so; ldd build/*/zstd.so; wget https://gist.githubusercontent.com/fasterthanlime/17e002a8f5e0f189861c/raw/09e8866f1df83a51aa579e7dc425405ce93be7ab/glibc-check.sh; bash ./glibc-check.sh build/*/zstd.so" sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}} && python${{matrix.os.pyver}} setup.py test" - name: Pepare wheel for upload From a1d4e35270c68ed9287ed86cd9f1945d56489784 Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Mon, 10 Feb 2025 19:03:21 +0300 Subject: [PATCH 208/353] Update Build_wheels_for_cpython310_x86.yml --- .github/workflows/Build_wheels_for_cpython310_x86.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/Build_wheels_for_cpython310_x86.yml b/.github/workflows/Build_wheels_for_cpython310_x86.yml index 6f56c38e7..fdc3af781 100644 --- a/.github/workflows/Build_wheels_for_cpython310_x86.yml +++ b/.github/workflows/Build_wheels_for_cpython310_x86.yml @@ -14,8 +14,8 @@ jobs: fail-fast: false matrix: os: - - name: Ubuntu 24+20 i386 CPython 3.10 - runs-on: ubuntu-latest + - name: Ubuntu 20+20 i386 CPython 3.10 + runs-on: ubuntu-20.04 matrix: linux arch: i386 tag_arch: i686 From 9367252558544ae99c38e2c811a804d1351d4499 Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Mon, 10 Feb 2025 19:06:15 +0300 Subject: [PATCH 209/353] Update Build_wheels_for_cpython310_x86.yml --- .github/workflows/Build_wheels_for_cpython310_x86.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/Build_wheels_for_cpython310_x86.yml b/.github/workflows/Build_wheels_for_cpython310_x86.yml index fdc3af781..260cd22c8 100644 --- a/.github/workflows/Build_wheels_for_cpython310_x86.yml +++ b/.github/workflows/Build_wheels_for_cpython310_x86.yml @@ -34,7 +34,7 @@ jobs: with: submodules: 'recursive' - - name: Update and upgrade Ubuntu 24 + - name: Update and upgrade Ubuntu 20 if: matrix.os.matrix == 'linux' run: | sudo which apt From 9d9c10f2760909a9c8558cea9cb9d91aa40ba49d Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Mon, 10 Feb 2025 20:03:39 +0300 Subject: [PATCH 210/353] Update Build_wheels_for_cpython310_x86.yml --- .github/workflows/Build_wheels_for_cpython310_x86.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/Build_wheels_for_cpython310_x86.yml b/.github/workflows/Build_wheels_for_cpython310_x86.yml index 260cd22c8..2bd543508 100644 --- a/.github/workflows/Build_wheels_for_cpython310_x86.yml +++ b/.github/workflows/Build_wheels_for_cpython310_x86.yml @@ -64,11 +64,11 @@ 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 - false && 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/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 find ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} -iname apt + 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 From afec7f3c4686ebfe8e5c7ee2c820187565ce17a2 Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Mon, 10 Feb 2025 20:58:56 +0300 Subject: [PATCH 211/353] Create Build_wheels_for_cpython311_x86_64.yml --- .../Build_wheels_for_cpython311_x86_64.yml | 171 ++++++++++++++++++ 1 file changed, 171 insertions(+) create mode 100644 .github/workflows/Build_wheels_for_cpython311_x86_64.yml diff --git a/.github/workflows/Build_wheels_for_cpython311_x86_64.yml b/.github/workflows/Build_wheels_for_cpython311_x86_64.yml new file mode 100644 index 000000000..29f286720 --- /dev/null +++ b/.github/workflows/Build_wheels_for_cpython311_x86_64.yml @@ -0,0 +1,171 @@ +name: Build wheels for CPython3.10 x86_64 + +on: [push, pull_request] + +concurrency: + group: ${{ github.ref }}-${{ github.workflow }}-${{ github.event_name }}-${{ github.ref == format('refs/heads/{0}', github.event.repository.default_branch) && github.sha || '' }} + cancel-in-progress: true + +jobs: + build_wheels: + name: Build wheel - ${{ matrix.os.name }} + runs-on: ${{ matrix.os.runs-on }} + strategy: + fail-fast: false + matrix: + os: + - name: Ubuntu 24+16 amd64 CPython 3.10 + runs-on: ubuntu-latest + matrix: linux + arch: amd64 + tag_arch: x86_64 + release: xenial + mirror: http://azure.archive.ubuntu.com/ubuntu + version: 1.5.6.3 + pyver: "3.10" + getpipurl: https://bootstrap.pypa.io/pip/get-pip.py + pypkg: python3.10 + pypkgadd: python3.10-distutils + pyengine_tag: cp310-cp310 + libc_tag: manylinux_2_17 + steps: + - name: Checkout code + uses: actions/checkout@v4 + with: + submodules: 'recursive' + + - name: Update and upgrade Ubuntu 24 + if: matrix.os.matrix == 'linux' + run: | + sudo which apt + sudo apt update; + sudo apt purge -y firefox lxd snapd; + sudo apt install -y zram-config; + sudo apt list --upgradable; + sudo apt upgrade -y; + sudo apt install -f + + - name: Build source distribution with Ubuntu + if: matrix.os.matrix == 'linux' + run: | + sudo apt install -y devscripts debootstrap qemu-user; + pip install build; + python -m build --sdist --outdir dist . + + - name: Debootstrap Ubuntu ${{matrix.os.release}} ${{matrix.os.arch}} + if: matrix.os.matrix == 'linux' + run: | + sudo debootstrap --no-merged-usr --verbose --include=sudo,wget,curl,ca-certificates --arch=${{matrix.os.arch}} ${{matrix.os.release}} ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} ${{matrix.os.mirror}} || tail ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/debootstrap/debootstrap.log + + - name: Update and Upgrade Ubuntu ${{matrix.os.release}} + if: matrix.os.matrix == 'linux' + run: | + sudo mkdir -p ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel + 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 + 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' + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /usr/bin/apt update + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /usr/bin/apt upgrade -y + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /usr/bin/apt -fy install + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /usr/bin/apt upgrade -y + + + - 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 + + - 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}} /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'" + + - name: Pepare source and build wheel for ${{matrix.os.pypkg}} ${{matrix.os.arch}} + if: matrix.os.matrix == 'linux' + run: | + sudo mkdir -p ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel/ + sudo tar -xvf dist/zstd-${{matrix.os.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}} /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}} && ZSTD_ASM=1 _ZSTD_ASM_BMI2=1 ZSTD_THREADS=1 _ZSTD_EXTERNAL=0 python${{matrix.os.pyver}} setup.py bdist_wheel clean" + + - name: Test wheel for ${{matrix.os.pypkg}} ${{matrix.os.arch}} + if: matrix.os.matrix == 'linux' + run: | + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}} && python${{matrix.os.pyver}} setup.py test" + + - name: Pepare wheel for upload + if: matrix.os.matrix == 'linux' + run: | + sudo cp -v ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel/zstd-${{matrix.os.version}}/dist/* ./dist + sudo ls -lh ./dist/* + sudo mv -v ./dist/"zstd-${{matrix.os.version}}-${{matrix.os.pyengine_tag}}-linux_${{matrix.os.tag_arch}}.whl" ./dist/"zstd-${{matrix.os.version}}-${{matrix.os.pyengine_tag}}-${{matrix.os.libc_tag}}_${{matrix.os.tag_arch}}.whl" + sudo rm -vf ./dist/*.tar.gz + + +# - name: Upload artifacts +# uses: actions/upload-artifact@v4 +# with: +# name: wheels +#. path: ./dist +# compression-level: 0 + + - name: Test for secrets access + id: check_secrets + # If a third party makes a pull request + # this allows automated steps below to be skipped + # and leave a clean PR CI run + shell: bash + run: | + unset HAS_SECRET + unset HAS_SECRET_TEST + if [ -n "$SECRET" ]; then HAS_SECRET='true' ; fi + if [ -n "$SECRET_TEST" ]; then HAS_SECRET_TEST='true' ; fi + echo ::set-output name=HAS_SECRET::${HAS_SECRET} + echo ::set-output name=HAS_SECRET_TEST::${HAS_SECRET_TEST} + env: + SECRET: "${{ secrets.pypi_password }}" + SECRET_TEST: "${{ secrets.test_pypi_password }}" + + - name: Install twine + run: pip install 'twine<=6.0.1' + + - name: Publish distribution to PyPI + if: > + startsWith(github.event.ref, 'refs/tags') && + steps.check_secrets.outputs.HAS_SECRET + env: + # If the PR/Push has secret access + # and PYPI_PASSWORD is in GH Secrets for this repo + # and this is a tag, publish to PyPI + TWINE_REPOSITORY_URL: https://upload.pypi.org/legacy/ + TWINE_USERNAME: "${{ secrets.pypi_username }}" + TWINE_NON_INTERACTIVE: 1 + TWINE_PASSWORD: "${{ secrets.pypi_password }}" + run: twine upload --non-interactive --skip-existing --verbose 'dist/*' + + - name: Publish distribution to Test PyPI + if: steps.check_secrets.outputs.HAS_SECRET + env: + # If the PR/Push has secret access + # and TEST_PYPI_PASSWORD is in GH Secrets for this repo + # then publish each build to test PyPI + TWINE_REPOSITORY_URL: https://test.pypi.org/legacy/ + TWINE_USERNAME: "${{ secrets.test_pypi_username }}" + TWINE_NON_INTERACTIVE: 1 + TWINE_PASSWORD: "${{ secrets.test_pypi_password }}" + run: twine upload --non-interactive --skip-existing --verbose 'dist/*' + From e0f3e4a4d49747c95fef0f72a17ed5eaad139866 Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Mon, 10 Feb 2025 21:02:02 +0300 Subject: [PATCH 212/353] Update Build_wheels_for_cpython310_x86_64.yml --- .github/workflows/Build_wheels_for_cpython310_x86_64.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/Build_wheels_for_cpython310_x86_64.yml b/.github/workflows/Build_wheels_for_cpython310_x86_64.yml index 29f286720..fb26dfb51 100644 --- a/.github/workflows/Build_wheels_for_cpython310_x86_64.yml +++ b/.github/workflows/Build_wheels_for_cpython310_x86_64.yml @@ -105,6 +105,9 @@ jobs: - name: Test wheel for ${{matrix.os.pypkg}} ${{matrix.os.arch}} if: matrix.os.matrix == 'linux' run: | + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} find /build_wheel/ + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}}/ ls -lh build/*/zstd.so; ldd build/*/zstd.so; wget https://gist.githubusercontent.com/fasterthanlime/17e002a8f5e0f189861c/raw/09e8866f1df83a51aa579e7dc425405ce93be7ab/glibc-check.sh; bash ./glibc-check.sh build/*/zstd.so" + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}} && python${{matrix.os.pyver}} setup.py test" - name: Pepare wheel for upload From a8ce757116b1d50ec647ccb62f9f3d3d69014dfa Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Mon, 10 Feb 2025 21:06:38 +0300 Subject: [PATCH 213/353] Update Build_wheels_for_cpython311_x86_64.yml --- .../Build_wheels_for_cpython311_x86_64.yml | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/.github/workflows/Build_wheels_for_cpython311_x86_64.yml b/.github/workflows/Build_wheels_for_cpython311_x86_64.yml index 29f286720..f7ba473e3 100644 --- a/.github/workflows/Build_wheels_for_cpython311_x86_64.yml +++ b/.github/workflows/Build_wheels_for_cpython311_x86_64.yml @@ -1,4 +1,4 @@ -name: Build wheels for CPython3.10 x86_64 +name: Build wheels for CPython3.11 x86_64 on: [push, pull_request] @@ -14,19 +14,19 @@ jobs: fail-fast: false matrix: os: - - name: Ubuntu 24+16 amd64 CPython 3.10 + - name: Ubuntu 24+20 amd64 CPython 3.11 runs-on: ubuntu-latest matrix: linux arch: amd64 tag_arch: x86_64 - release: xenial + release: focal mirror: http://azure.archive.ubuntu.com/ubuntu version: 1.5.6.3 - pyver: "3.10" + pyver: "3.11" getpipurl: https://bootstrap.pypa.io/pip/get-pip.py - pypkg: python3.10 - pypkgadd: python3.10-distutils - pyengine_tag: cp310-cp310 + pypkg: python3.11 + pypkgadd: python3.11-distutils + pyengine_tag: cp311-cp311 libc_tag: manylinux_2_17 steps: - name: Checkout code @@ -105,6 +105,8 @@ jobs: - name: Test wheel for ${{matrix.os.pypkg}} ${{matrix.os.arch}} if: matrix.os.matrix == 'linux' run: | + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} find /build_wheel/ + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}}/ ls -lh build/*/zstd.so; ldd build/*/zstd.so; wget https://gist.githubusercontent.com/fasterthanlime/17e002a8f5e0f189861c/raw/09e8866f1df83a51aa579e7dc425405ce93be7ab/glibc-check.sh; bash ./glibc-check.sh build/*/zstd.so" sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}} && python${{matrix.os.pyver}} setup.py test" - name: Pepare wheel for upload From 3388fd14760d2795c618df617f783450d69899df Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Mon, 10 Feb 2025 21:10:55 +0300 Subject: [PATCH 214/353] Update Build_wheels_for_cpython311_x86_64.yml --- .github/workflows/Build_wheels_for_cpython311_x86_64.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/Build_wheels_for_cpython311_x86_64.yml b/.github/workflows/Build_wheels_for_cpython311_x86_64.yml index f7ba473e3..806172f38 100644 --- a/.github/workflows/Build_wheels_for_cpython311_x86_64.yml +++ b/.github/workflows/Build_wheels_for_cpython311_x86_64.yml @@ -64,7 +64,7 @@ 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 + false && 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 @@ -100,7 +100,7 @@ jobs: sudo tar -xvf dist/zstd-${{matrix.os.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}} /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}} && ZSTD_ASM=1 _ZSTD_ASM_BMI2=1 ZSTD_THREADS=1 _ZSTD_EXTERNAL=0 python${{matrix.os.pyver}} setup.py bdist_wheel clean" + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}} && ZSTD_ASM=1 _ZSTD_ASM_BMI2=1 ZSTD_THREADS=1 _ZSTD_EXTERNAL=0 python${{matrix.os.pyver}} setup.py bdist_wheel" - name: Test wheel for ${{matrix.os.pypkg}} ${{matrix.os.arch}} if: matrix.os.matrix == 'linux' From fb19649b7959fdef229cc1046bad924836fc65bf Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Mon, 10 Feb 2025 21:11:56 +0300 Subject: [PATCH 215/353] Update Build_wheels_for_cpython310_x86_64.yml --- .github/workflows/Build_wheels_for_cpython310_x86_64.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/Build_wheels_for_cpython310_x86_64.yml b/.github/workflows/Build_wheels_for_cpython310_x86_64.yml index fb26dfb51..48947d78a 100644 --- a/.github/workflows/Build_wheels_for_cpython310_x86_64.yml +++ b/.github/workflows/Build_wheels_for_cpython310_x86_64.yml @@ -64,7 +64,7 @@ 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 + false && 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 @@ -100,7 +100,7 @@ jobs: sudo tar -xvf dist/zstd-${{matrix.os.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}} /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}} && ZSTD_ASM=1 _ZSTD_ASM_BMI2=1 ZSTD_THREADS=1 _ZSTD_EXTERNAL=0 python${{matrix.os.pyver}} setup.py bdist_wheel clean" + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}} && ZSTD_ASM=1 _ZSTD_ASM_BMI2=1 ZSTD_THREADS=1 _ZSTD_EXTERNAL=0 python${{matrix.os.pyver}} setup.py bdist_wheel" - name: Test wheel for ${{matrix.os.pypkg}} ${{matrix.os.arch}} if: matrix.os.matrix == 'linux' From 5edb6f9a19cc39b94c7a1f4354d6b914edbc8274 Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Mon, 10 Feb 2025 21:12:42 +0300 Subject: [PATCH 216/353] Update Build_wheels_for_cpython310_x86_64.yml --- .github/workflows/Build_wheels_for_cpython310_x86_64.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/Build_wheels_for_cpython310_x86_64.yml b/.github/workflows/Build_wheels_for_cpython310_x86_64.yml index 48947d78a..3ef8f7cfb 100644 --- a/.github/workflows/Build_wheels_for_cpython310_x86_64.yml +++ b/.github/workflows/Build_wheels_for_cpython310_x86_64.yml @@ -14,12 +14,12 @@ jobs: fail-fast: false matrix: os: - - name: Ubuntu 24+16 amd64 CPython 3.10 + - name: Ubuntu 24+20 amd64 CPython 3.10 runs-on: ubuntu-latest matrix: linux arch: amd64 tag_arch: x86_64 - release: xenial + release: focal mirror: http://azure.archive.ubuntu.com/ubuntu version: 1.5.6.3 pyver: "3.10" From 36704bc79d9bf534078835302fe3b5743787be60 Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Mon, 10 Feb 2025 21:13:32 +0300 Subject: [PATCH 217/353] Update Build_wheels_for_cpython27_x86_64.yml --- .github/workflows/Build_wheels_for_cpython27_x86_64.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/Build_wheels_for_cpython27_x86_64.yml b/.github/workflows/Build_wheels_for_cpython27_x86_64.yml index 4c5e0c444..fd4d263fc 100644 --- a/.github/workflows/Build_wheels_for_cpython27_x86_64.yml +++ b/.github/workflows/Build_wheels_for_cpython27_x86_64.yml @@ -104,6 +104,8 @@ jobs: - name: Test wheel for ${{matrix.os.pypkg}} ${{matrix.os.arch}} if: matrix.os.matrix == 'linux' run: | + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} find /build_wheel/ + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}}/ ls -lh build/*/zstd.so; ldd build/*/zstd.so; wget https://gist.githubusercontent.com/fasterthanlime/17e002a8f5e0f189861c/raw/09e8866f1df83a51aa579e7dc425405ce93be7ab/glibc-check.sh; bash ./glibc-check.sh build/*/zstd.so" sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}} && python${{matrix.os.pyver}} setup.py test" - name: Pepare wheel for upload From a0b3b16b8933ea6a95357dc1df932d67b063b99b Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Mon, 10 Feb 2025 21:14:28 +0300 Subject: [PATCH 218/353] Update Build_wheels_for_cpython34_x86.yml --- .github/workflows/Build_wheels_for_cpython34_x86.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/Build_wheels_for_cpython34_x86.yml b/.github/workflows/Build_wheels_for_cpython34_x86.yml index de8b79c97..8a9b0c759 100644 --- a/.github/workflows/Build_wheels_for_cpython34_x86.yml +++ b/.github/workflows/Build_wheels_for_cpython34_x86.yml @@ -104,6 +104,8 @@ jobs: - name: Test wheel for ${{matrix.os.pypkg}} ${{matrix.os.arch}} if: matrix.os.matrix == 'linux' run: | + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} find /build_wheel/ + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}}/ ls -lh build/*/zstd.so; ldd build/*/zstd.so; wget https://gist.githubusercontent.com/fasterthanlime/17e002a8f5e0f189861c/raw/09e8866f1df83a51aa579e7dc425405ce93be7ab/glibc-check.sh; bash ./glibc-check.sh build/*/zstd.so" sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}} && python${{matrix.os.pyver}} setup.py test" - name: Pepare wheel for upload From a80824b81a75cf469ed366868cd5e55b96978e91 Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Mon, 10 Feb 2025 21:45:42 +0300 Subject: [PATCH 219/353] Update README.rst --- README.rst | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/README.rst b/README.rst index 6ae1770f6..90776c332 100644 --- a/README.rst +++ b/README.rst @@ -14,6 +14,9 @@ python-zstd .. |cpython27x86| image:: https://github.com/sergey-dryabzhinsky/python-zstd/actions/workflows/Build_wheels_for_cpython27_x86.yml/badge.svg :target: https://github.com/sergey-dryabzhinsky/python-zstd/actions/workflows/Build_wheels_for_cpython27_x86.yml +.. |cpython27armhf| image:: https://github.com/sergey-dryabzhinsky/python-zstd/actions/workflows/Build_wheels_for_cpython27_armhf.yml/badge.svg + :target: https://github.com/sergey-dryabzhinsky/python-zstd/actions/workflows/Build_wheels_for_cpython27_armhf.yml + .. |cpython34x86| image:: https://github.com/sergey-dryabzhinsky/python-zstd/actions/workflows/Build_wheels_for_cpython34_x86.yml/badge.svg :target: https://github.com/sergey-dryabzhinsky/python-zstd/actions/workflows/Build_wheels_for_cpython34_x86.yml @@ -56,6 +59,9 @@ python-zstd .. |cpython310x64| image:: https://github.com/sergey-dryabzhinsky/python-zstd/actions/workflows/Build_wheels_for_cpython310_x86_64.yml/badge.svg :target: https://github.com/sergey-dryabzhinsky/python-zstd/actions/workflows/Build_wheels_for_cpython310_x86_64.yml +.. |cpython311x64| image:: https://github.com/sergey-dryabzhinsky/python-zstd/actions/workflows/Build_wheels_for_cpython311_x86_64.yml/badge.svg + :target: https://github.com/sergey-dryabzhinsky/python-zstd/actions/workflows/Build_wheels_for_cpython311_x86_64.yml + +------------------+-----------------+ | wheels for: | status | +==================+=================+ @@ -91,6 +97,8 @@ python-zstd +------------------+-----------------+ | cpython 3.10 x64 | |cpython310x64| | +------------------+-----------------+ +| cpython 3.11 x64 | |cpython311x64| | ++------------------+-----------------+ | Release | |releaseW| | | 1.5.6.3 | | +------------------+-----------------+ From 74897ea3d8b50034ac01f16a71d7ff6c526f4184 Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Mon, 10 Feb 2025 21:47:14 +0300 Subject: [PATCH 220/353] Update README.rst --- README.rst | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/README.rst b/README.rst index 90776c332..d3cf600e9 100644 --- a/README.rst +++ b/README.rst @@ -68,7 +68,9 @@ python-zstd | cpython 2.7 x86 | |cpython27x86| | +------------------+-----------------+ | cpython 2.7 x64 | |cpython27x64| | -+------------------+-----------------+ ++--------------------+-------------------+ +| cpython 2.7 armhf | |cpython27armhf| | ++--------------------+-------------------+ | cpython 3.4 x86 | |cpython34x86| | +------------------+-----------------+ | cpython 3.4 x64 | |cpython34x64| | From e2edcc8626eb8ef48fe3073e956e08616dbafed7 Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Tue, 11 Feb 2025 11:05:39 +0300 Subject: [PATCH 221/353] Update glibc-check.sh --- glibc-check.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/glibc-check.sh b/glibc-check.sh index 76b4f540a..4d3ac9a73 100644 --- a/glibc-check.sh +++ b/glibc-check.sh @@ -5,7 +5,7 @@ # # You can set `MAX_VER` however low you want, although I (fasterthanlime) # feel like `2.13` is a good target (For reference, Ubuntu 12.04 has GLIBC 2.15) -MAX_VER=2.13 +MAX_VER=2.19 SCRIPTPATH=$( cd $(dirname $0) ; pwd -P ) BINARY=$1 From 29c86bda9fd91a6bdfeb26afe09ae16e6a4b6e0b Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Tue, 11 Feb 2025 11:09:23 +0300 Subject: [PATCH 222/353] Update Build_wheels_for_cpython27_x86_64.yml --- .github/workflows/Build_wheels_for_cpython27_x86_64.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/Build_wheels_for_cpython27_x86_64.yml b/.github/workflows/Build_wheels_for_cpython27_x86_64.yml index fd4d263fc..2fa3c4af7 100644 --- a/.github/workflows/Build_wheels_for_cpython27_x86_64.yml +++ b/.github/workflows/Build_wheels_for_cpython27_x86_64.yml @@ -105,7 +105,7 @@ jobs: if: matrix.os.matrix == 'linux' run: | sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} find /build_wheel/ - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}}/ ls -lh build/*/zstd.so; ldd build/*/zstd.so; wget https://gist.githubusercontent.com/fasterthanlime/17e002a8f5e0f189861c/raw/09e8866f1df83a51aa579e7dc425405ce93be7ab/glibc-check.sh; bash ./glibc-check.sh build/*/zstd.so" + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}}/ ls -lh build/*/zstd.*so; ldd build/*/zstd.*so ;bash ./glibc-check.sh build/*/zstd.*so" sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}} && python${{matrix.os.pyver}} setup.py test" - name: Pepare wheel for upload From 44e09219cd4449953c8df4cf3b1a27d56a1aa1a9 Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Tue, 11 Feb 2025 11:39:50 +0300 Subject: [PATCH 223/353] Update Build_wheels_for_cpython27_x86_64.yml --- .github/workflows/Build_wheels_for_cpython27_x86_64.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/Build_wheels_for_cpython27_x86_64.yml b/.github/workflows/Build_wheels_for_cpython27_x86_64.yml index 2fa3c4af7..e7e6327ec 100644 --- a/.github/workflows/Build_wheels_for_cpython27_x86_64.yml +++ b/.github/workflows/Build_wheels_for_cpython27_x86_64.yml @@ -105,7 +105,8 @@ jobs: if: matrix.os.matrix == 'linux' run: | sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} find /build_wheel/ - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}}/ ls -lh build/*/zstd.*so; ldd build/*/zstd.*so ;bash ./glibc-check.sh build/*/zstd.*so" + sudo cp -v glibc-check.sh ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel/zstd-${{matrix.os.version}}/ + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}}/ ls -lh build/*/zstd.*so; ldd build/*/zstd.*so ; file build/*/zstd.*.so; bash ./glibc-check.sh build/*/zstd.*so" sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}} && python${{matrix.os.pyver}} setup.py test" - name: Pepare wheel for upload From 3aaede50d3531505e2c0631c385d95cf6b4f8ab3 Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Tue, 11 Feb 2025 11:48:08 +0300 Subject: [PATCH 224/353] Update README.rst --- README.rst | 88 +++++++++++++++++++++++++++--------------------------- 1 file changed, 44 insertions(+), 44 deletions(-) diff --git a/README.rst b/README.rst index d3cf600e9..77caa4238 100644 --- a/README.rst +++ b/README.rst @@ -62,50 +62,50 @@ python-zstd .. |cpython311x64| image:: https://github.com/sergey-dryabzhinsky/python-zstd/actions/workflows/Build_wheels_for_cpython311_x86_64.yml/badge.svg :target: https://github.com/sergey-dryabzhinsky/python-zstd/actions/workflows/Build_wheels_for_cpython311_x86_64.yml -+------------------+-----------------+ -| wheels for: | status | -+==================+=================+ -| cpython 2.7 x86 | |cpython27x86| | -+------------------+-----------------+ -| cpython 2.7 x64 | |cpython27x64| | -+--------------------+-------------------+ -| cpython 2.7 armhf | |cpython27armhf| | -+--------------------+-------------------+ -| cpython 3.4 x86 | |cpython34x86| | -+------------------+-----------------+ -| cpython 3.4 x64 | |cpython34x64| | -+------------------+-----------------+ -| cpython 3.5 x86 | |cpython35x86| | -+------------------+-----------------+ -| cpython 3.5 x64 | |cpython35x64| | -+------------------+-----------------+ -| cpython 3.6 x86 | |cpython36x86| | -+------------------+-----------------+ -| cpython 3.6 x64 | |cpython36x64| | -+------------------+-----------------+ -| cpython 3.7 x86 | |cpython37x86| | -+------------------+-----------------+ -| cpython 3.7 x64 | |cpython37x64| | -+------------------+-----------------+ -| cpython 3.8 x86 | |cpython38x86| | -+------------------+-----------------+ -| cpython 3.8 x64 | |cpython38x64| | -+------------------+-----------------+ -| cpython 3.9 x86 | |cpython39x86| | -+------------------+-----------------+ -| cpython 3.9 x64 | |cpython39x64| | -+------------------+-----------------+ -| cpython 3.10 x86 | |cpython310x86| | -+------------------+-----------------+ -| cpython 3.10 x64 | |cpython310x64| | -+------------------+-----------------+ -| cpython 3.11 x64 | |cpython311x64| | -+------------------+-----------------+ -| Release | |releaseW| | -| 1.5.6.3 | | -+------------------+-----------------+ -| Master | |masterW| | -+------------------+-----------------+ ++-------------------+------------------+ +| wheels for: | status | ++===================+==================+ +| cpython 2.7 x86 | |cpython27x86| | ++-------------------+------------------+ +| cpython 2.7 x64 | |cpython27x64| | ++-------------------+------------------+ +| cpython 2.7 armhf | |cpython27armhf| | ++-------------------+------------------+ +| cpython 3.4 x86 | |cpython34x86| | ++-------------------+------------------+ +| cpython 3.4 x64 | |cpython34x64| | ++-------------------+------------------+ +| cpython 3.5 x86 | |cpython35x86| | ++-------------------+------------------+ +| cpython 3.5 x64 | |cpython35x64| | ++-------------------+------------------+ +| cpython 3.6 x86 | |cpython36x86| | ++-------------------+------------------+ +| cpython 3.6 x64 | |cpython36x64| | ++-------------------+------------------+ +| cpython 3.7 x86 | |cpython37x86| | ++-------------------+------------------+ +| cpython 3.7 x64 | |cpython37x64| | ++-------------------+------------------+ +| cpython 3.8 x86 | |cpython38x86| | ++-------------------+------------------+ +| cpython 3.8 x64 | |cpython38x64| | ++-------------------+------------------+ +| cpython 3.9 x86 | |cpython39x86| | ++-------------------+------------------+ +| cpython 3.9 x64 | |cpython39x64| | ++-------------------+------------------+ +| cpython 3.10 x86 | |cpython310x86| | ++-------------------+------------------+ +| cpython 3.10 x64 | |cpython310x64| | ++-------------------+------------------+ +| cpython 3.11 x64 | |cpython311x64| | ++-------------------+------------------+ +| Release | |releaseW| | +| 1.5.6.3 | | ++-------------------+------------------+ +| Master | |masterW| | ++-------------------+------------------+ Simple python bindings to Yann Collet ZSTD compression library. From 4bf253b463e4ba7bf38360c9aa7ed46351872448 Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Tue, 11 Feb 2025 11:53:48 +0300 Subject: [PATCH 225/353] Update and rename Build_wheels_for_cpython310_x86.yml to Build_wheels_for_cpython310_x86_u16.yml --- ...86.yml => Build_wheels_for_cpython310_x86_u16.yml} | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) rename .github/workflows/{Build_wheels_for_cpython310_x86.yml => Build_wheels_for_cpython310_x86_u16.yml} (95%) diff --git a/.github/workflows/Build_wheels_for_cpython310_x86.yml b/.github/workflows/Build_wheels_for_cpython310_x86_u16.yml similarity index 95% rename from .github/workflows/Build_wheels_for_cpython310_x86.yml rename to .github/workflows/Build_wheels_for_cpython310_x86_u16.yml index 2bd543508..6b60fda41 100644 --- a/.github/workflows/Build_wheels_for_cpython310_x86.yml +++ b/.github/workflows/Build_wheels_for_cpython310_x86_u16.yml @@ -14,12 +14,12 @@ jobs: fail-fast: false matrix: os: - - name: Ubuntu 20+20 i386 CPython 3.10 - runs-on: ubuntu-20.04 + - name: Ubuntu 20+16 i386 CPython 3.10 + runs-on: ubuntu-latest matrix: linux arch: i386 tag_arch: i686 - release: focal + release: xenial mirror: http://azure.archive.ubuntu.com/ubuntu version: 1.5.6.3 pyver: "3.10" @@ -27,7 +27,7 @@ jobs: pypkg: python3.10 pypkgadd: python3.10-distutils pyengine_tag: cp310-cp310 - libc_tag: manylinux_2_17 + libc_tag: manylinux_2_4 steps: - name: Checkout code uses: actions/checkout@v4 @@ -108,7 +108,8 @@ jobs: if: matrix.os.matrix == 'linux' run: | sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} find /build_wheel/ - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}}/ ls -lh build/*/zstd.so; ldd build/*/zstd.so; wget https://gist.githubusercontent.com/fasterthanlime/17e002a8f5e0f189861c/raw/09e8866f1df83a51aa579e7dc425405ce93be7ab/glibc-check.sh; bash ./glibc-check.sh build/*/zstd.so" + sudo cp -v glibc-check.sh ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel/zstd-${{matrix.os.version}}/ + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}}/ ls -lh build/*/zstd.*.so; ldd build/*/zstd.*.so; file build/*/zstd.*.so; bash ./glibc-check.sh build/*/zstd.*.so" sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}} && python${{matrix.os.pyver}} setup.py test" - name: Pepare wheel for upload From fe221da3a66c01498cfba73f742bd617b3bb53ee Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Tue, 11 Feb 2025 11:54:22 +0300 Subject: [PATCH 226/353] Update Build_wheels_for_cpython310_x86_u16.yml --- .github/workflows/Build_wheels_for_cpython310_x86_u16.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/Build_wheels_for_cpython310_x86_u16.yml b/.github/workflows/Build_wheels_for_cpython310_x86_u16.yml index 6b60fda41..c062e7699 100644 --- a/.github/workflows/Build_wheels_for_cpython310_x86_u16.yml +++ b/.github/workflows/Build_wheels_for_cpython310_x86_u16.yml @@ -1,4 +1,4 @@ -name: Build wheels for CPython3.10 x86 +name: Build wheels for CPython3.10 x86 on Ububntu16 on: [push, pull_request] From ce004cb51adb4d165d425854e94ece4609b4d117 Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Tue, 11 Feb 2025 12:26:13 +0300 Subject: [PATCH 227/353] Update Build_wheels_for_cpython34_x86.yml --- .github/workflows/Build_wheels_for_cpython34_x86.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/Build_wheels_for_cpython34_x86.yml b/.github/workflows/Build_wheels_for_cpython34_x86.yml index 8a9b0c759..87566925b 100644 --- a/.github/workflows/Build_wheels_for_cpython34_x86.yml +++ b/.github/workflows/Build_wheels_for_cpython34_x86.yml @@ -105,7 +105,9 @@ jobs: if: matrix.os.matrix == 'linux' run: | sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} find /build_wheel/ - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}}/ ls -lh build/*/zstd.so; ldd build/*/zstd.so; wget https://gist.githubusercontent.com/fasterthanlime/17e002a8f5e0f189861c/raw/09e8866f1df83a51aa579e7dc425405ce93be7ab/glibc-check.sh; bash ./glibc-check.sh build/*/zstd.so" + sudo cp -v glibc-check.sh ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel/zstd-${{matrix.os.version}}/ + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}}/ ls -lh build/*/zstd.*so; ldd build/*/zstd.*so ; file build/*/zstd.*.so; bash ./glibc-check.sh build/*/zstd.*so" + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}} && python${{matrix.os.pyver}} setup.py test" - name: Pepare wheel for upload From c441bb658275e025e8067cc99ca6ebd811dca177 Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Tue, 11 Feb 2025 12:26:59 +0300 Subject: [PATCH 228/353] Update Build_wheels_for_cpython34_x86_64.yml --- .github/workflows/Build_wheels_for_cpython34_x86_64.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/Build_wheels_for_cpython34_x86_64.yml b/.github/workflows/Build_wheels_for_cpython34_x86_64.yml index 3db202fe2..fe1df894c 100644 --- a/.github/workflows/Build_wheels_for_cpython34_x86_64.yml +++ b/.github/workflows/Build_wheels_for_cpython34_x86_64.yml @@ -104,6 +104,8 @@ jobs: - name: Test wheel for ${{matrix.os.pypkg}} ${{matrix.os.arch}} if: matrix.os.matrix == 'linux' run: | + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} find /build_wheel/ + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}}/ ls -lh build/*/zstd.so; ldd build/*/zstd.so; wget https://gist.githubusercontent.com/fasterthanlime/17e002a8f5e0f189861c/raw/09e8866f1df83a51aa579e7dc425405ce93be7ab/glibc-check.sh; bash ./glibc-check.sh build/*/zstd.so" sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}} && python${{matrix.os.pyver}} setup.py test" - name: Pepare wheel for upload From 27eb55ebc14c194c0e3c2762ebcc98c5efdc97fb Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Tue, 11 Feb 2025 12:28:23 +0300 Subject: [PATCH 229/353] Update Build_wheels_for_cpython311_x86_64.yml From 699ce2eb73220be32977823fc0886e35bfb9ad15 Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Tue, 11 Feb 2025 12:34:35 +0300 Subject: [PATCH 230/353] Update Build_wheels_for_cpython310_x86_64.yml --- .github/workflows/Build_wheels_for_cpython310_x86_64.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/Build_wheels_for_cpython310_x86_64.yml b/.github/workflows/Build_wheels_for_cpython310_x86_64.yml index 3ef8f7cfb..1258ea5d3 100644 --- a/.github/workflows/Build_wheels_for_cpython310_x86_64.yml +++ b/.github/workflows/Build_wheels_for_cpython310_x86_64.yml @@ -100,14 +100,14 @@ jobs: sudo tar -xvf dist/zstd-${{matrix.os.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}} /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}} && ZSTD_ASM=1 _ZSTD_ASM_BMI2=1 ZSTD_THREADS=1 _ZSTD_EXTERNAL=0 python${{matrix.os.pyver}} setup.py bdist_wheel" + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}} && ZSTD_ASM=1 ZSTD_SMALL=1_ZSTD_ASM_BMI2=1 ZSTD_THREADS=1 _ZSTD_EXTERNAL=0 python${{matrix.os.pyver}} setup.py bdist_wheel" - name: Test wheel for ${{matrix.os.pypkg}} ${{matrix.os.arch}} if: matrix.os.matrix == 'linux' run: | sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} find /build_wheel/ - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}}/ ls -lh build/*/zstd.so; ldd build/*/zstd.so; wget https://gist.githubusercontent.com/fasterthanlime/17e002a8f5e0f189861c/raw/09e8866f1df83a51aa579e7dc425405ce93be7ab/glibc-check.sh; bash ./glibc-check.sh build/*/zstd.so" - + sudo cp -v glibc-check.sh ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel/zstd-${{matrix.os.version}}/ + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}}/ ls -lh build/*/zstd.*so; ldd build/*/zstd.*so ; file build/*/zstd.*.so; bash ./glibc-check.sh build/*/zstd.*so" sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}} && python${{matrix.os.pyver}} setup.py test" - name: Pepare wheel for upload From 5ebf881ad2014303f8de1f7d09205c1a21b5f258 Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Tue, 11 Feb 2025 12:35:48 +0300 Subject: [PATCH 231/353] Update Build_wheels_for_cpython310_x86_64.yml --- .github/workflows/Build_wheels_for_cpython310_x86_64.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/Build_wheels_for_cpython310_x86_64.yml b/.github/workflows/Build_wheels_for_cpython310_x86_64.yml index 1258ea5d3..3ff08bc2b 100644 --- a/.github/workflows/Build_wheels_for_cpython310_x86_64.yml +++ b/.github/workflows/Build_wheels_for_cpython310_x86_64.yml @@ -100,7 +100,7 @@ jobs: sudo tar -xvf dist/zstd-${{matrix.os.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}} /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}} && ZSTD_ASM=1 ZSTD_SMALL=1_ZSTD_ASM_BMI2=1 ZSTD_THREADS=1 _ZSTD_EXTERNAL=0 python${{matrix.os.pyver}} setup.py bdist_wheel" + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}} && ZSTD_ASM=1 _ZSTD_SMALL=1 _ZSTD_ASM_BMI2=1 ZSTD_THREADS=1 _ZSTD_EXTERNAL=0 python${{matrix.os.pyver}} setup.py bdist_wheel" - name: Test wheel for ${{matrix.os.pypkg}} ${{matrix.os.arch}} if: matrix.os.matrix == 'linux' From cd4b651ffe3355496cc94106ec01d68171721a2a Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Tue, 11 Feb 2025 12:37:54 +0300 Subject: [PATCH 232/353] Update Build_wheels_for_cpython27_x86.yml --- .github/workflows/Build_wheels_for_cpython27_x86.yml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/.github/workflows/Build_wheels_for_cpython27_x86.yml b/.github/workflows/Build_wheels_for_cpython27_x86.yml index dae655dc7..ee00ff08b 100644 --- a/.github/workflows/Build_wheels_for_cpython27_x86.yml +++ b/.github/workflows/Build_wheels_for_cpython27_x86.yml @@ -100,13 +100,14 @@ 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}} /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}} && ZSTD_ASM=1 _ZSTD_ASM_BMI2=1 ZSTD_THREADS=1 _ZSTD_EXTERNAL=0 python${{matrix.os.pyver}} setup.py bdist_wheel " + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}} && ZSTD_ASM=1 ZSTD_SMALL=1 _ZSTD_ASM_BMI2=1 ZSTD_THREADS=1 _ZSTD_EXTERNAL=0 python${{matrix.os.pyver}} setup.py bdist_wheel " - name: Test wheel for ${{matrix.os.pypkg}} ${{matrix.os.arch}} if: matrix.os.matrix == 'linux' run: | sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} find /build_wheel/ - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}}/ ls -lh build/*/zstd.so; ldd build/*/zstd.so; wget https://gist.githubusercontent.com/fasterthanlime/17e002a8f5e0f189861c/raw/09e8866f1df83a51aa579e7dc425405ce93be7ab/glibc-check.sh; bash ./glibc-check.sh build/*/zstd.so" + sudo cp -v glibc-check.sh ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel/zstd-${{matrix.os.version}}/ + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}}/ ls -lh build/*/zstd.*so; ldd build/*/zstd.*so ; file build/*/zstd.*.so; bash ./glibc-check.sh build/*/zstd.*so" sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}} && python${{matrix.os.pyver}} setup.py test" - name: Pepare wheel for upload From 817adb279d063efa81db09a7c7a0a5d95e677d27 Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Tue, 11 Feb 2025 12:39:51 +0300 Subject: [PATCH 233/353] Update Build_wheels_for_cpython310_x86_u16.yml --- .github/workflows/Build_wheels_for_cpython310_x86_u16.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/Build_wheels_for_cpython310_x86_u16.yml b/.github/workflows/Build_wheels_for_cpython310_x86_u16.yml index c062e7699..73ff4f293 100644 --- a/.github/workflows/Build_wheels_for_cpython310_x86_u16.yml +++ b/.github/workflows/Build_wheels_for_cpython310_x86_u16.yml @@ -14,7 +14,7 @@ jobs: fail-fast: false matrix: os: - - name: Ubuntu 20+16 i386 CPython 3.10 + - name: Ubuntu 24+16 i386 CPython 3.10 runs-on: ubuntu-latest matrix: linux arch: i386 From 4950fa6d6097d8486295b7ef84a32a5b10be399b Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Tue, 11 Feb 2025 12:47:18 +0300 Subject: [PATCH 234/353] Update Build_wheels_for_cpython310_x86_64.yml --- .github/workflows/Build_wheels_for_cpython310_x86_64.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/Build_wheels_for_cpython310_x86_64.yml b/.github/workflows/Build_wheels_for_cpython310_x86_64.yml index 3ff08bc2b..98ded2354 100644 --- a/.github/workflows/Build_wheels_for_cpython310_x86_64.yml +++ b/.github/workflows/Build_wheels_for_cpython310_x86_64.yml @@ -27,7 +27,7 @@ jobs: pypkg: python3.10 pypkgadd: python3.10-distutils pyengine_tag: cp310-cp310 - libc_tag: manylinux_2_17 + libc_tag: manylinux_2_4 steps: - name: Checkout code uses: actions/checkout@v4 @@ -107,7 +107,7 @@ jobs: run: | sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} find /build_wheel/ sudo cp -v glibc-check.sh ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel/zstd-${{matrix.os.version}}/ - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}}/ ls -lh build/*/zstd.*so; ldd build/*/zstd.*so ; file build/*/zstd.*.so; bash ./glibc-check.sh build/*/zstd.*so" + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}}/; ls -lh build/*/zstd.*so; ldd build/*/zstd.*so ; file build/*/zstd.*.so; bash ./glibc-check.sh build/*/zstd.*so" sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}} && python${{matrix.os.pyver}} setup.py test" - name: Pepare wheel for upload From cf3ebeb4ecb742c759eae6b53aa7d73395dbf416 Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Tue, 11 Feb 2025 13:08:06 +0300 Subject: [PATCH 235/353] Update Build_wheels_for_cpython27_x86.yml --- .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 ee00ff08b..e32903457 100644 --- a/.github/workflows/Build_wheels_for_cpython27_x86.yml +++ b/.github/workflows/Build_wheels_for_cpython27_x86.yml @@ -107,7 +107,7 @@ jobs: run: | sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} find /build_wheel/ sudo cp -v glibc-check.sh ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel/zstd-${{matrix.os.version}}/ - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}}/ ls -lh build/*/zstd.*so; ldd build/*/zstd.*so ; file build/*/zstd.*.so; bash ./glibc-check.sh build/*/zstd.*so" + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}}/ 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-${{matrix.os.version}} && python${{matrix.os.pyver}} setup.py test" - name: Pepare wheel for upload From 81d65dc2bdd9551820b59f8ce044250a21585610 Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Tue, 11 Feb 2025 13:14:01 +0300 Subject: [PATCH 236/353] Update and rename Build_wheels_for_cpython311_x86_64.yml to Build_wheels_for_cpython311_x86_64_u20.yml --- ..._x86_64.yml => Build_wheels_for_cpython311_x86_64_u20.yml} | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) rename .github/workflows/{Build_wheels_for_cpython311_x86_64.yml => Build_wheels_for_cpython311_x86_64_u20.yml} (96%) diff --git a/.github/workflows/Build_wheels_for_cpython311_x86_64.yml b/.github/workflows/Build_wheels_for_cpython311_x86_64_u20.yml similarity index 96% rename from .github/workflows/Build_wheels_for_cpython311_x86_64.yml rename to .github/workflows/Build_wheels_for_cpython311_x86_64_u20.yml index 806172f38..68b250f2a 100644 --- a/.github/workflows/Build_wheels_for_cpython311_x86_64.yml +++ b/.github/workflows/Build_wheels_for_cpython311_x86_64_u20.yml @@ -1,4 +1,4 @@ -name: Build wheels for CPython3.11 x86_64 +name: Build wheels for CPython3.11 x86_64 on Ubuntu20 on: [push, pull_request] @@ -106,7 +106,7 @@ jobs: if: matrix.os.matrix == 'linux' run: | sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} find /build_wheel/ - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}}/ ls -lh build/*/zstd.so; ldd build/*/zstd.so; wget https://gist.githubusercontent.com/fasterthanlime/17e002a8f5e0f189861c/raw/09e8866f1df83a51aa579e7dc425405ce93be7ab/glibc-check.sh; bash ./glibc-check.sh build/*/zstd.so" + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}}/ ls -lh build/*/zstd.*.so; echo LDD; ldd build/*/zstd.*.so; wget https://gist.githubusercontent.com/fasterthanlime/17e002a8f5e0f189861c/raw/09e8866f1df83a51aa579e7dc425405ce93be7ab/glibc-check.sh; bash ./glibc-check.sh build/*/zstd.*.so" sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}} && python${{matrix.os.pyver}} setup.py test" - name: Pepare wheel for upload From a4c14f3c75d47baf88c47f2111bcc1ce2e4b508f Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Tue, 11 Feb 2025 13:18:13 +0300 Subject: [PATCH 237/353] Update Build_wheels_for_cpython310_x86_64.yml --- .github/workflows/Build_wheels_for_cpython310_x86_64.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/Build_wheels_for_cpython310_x86_64.yml b/.github/workflows/Build_wheels_for_cpython310_x86_64.yml index 98ded2354..47819b850 100644 --- a/.github/workflows/Build_wheels_for_cpython310_x86_64.yml +++ b/.github/workflows/Build_wheels_for_cpython310_x86_64.yml @@ -1,4 +1,4 @@ -name: Build wheels for CPython3.10 x86_64 +name: Build wheels for CPython3.10 x86_64 on Ubuntu20 on: [push, pull_request] @@ -107,7 +107,7 @@ jobs: run: | sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} find /build_wheel/ sudo cp -v glibc-check.sh ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel/zstd-${{matrix.os.version}}/ - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}}/; ls -lh build/*/zstd.*so; ldd build/*/zstd.*so ; file build/*/zstd.*.so; bash ./glibc-check.sh build/*/zstd.*so" + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}}/; 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-${{matrix.os.version}} && python${{matrix.os.pyver}} setup.py test" - name: Pepare wheel for upload From 172b411a69286e433169aa16bd6ad714167a1961 Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Tue, 11 Feb 2025 13:19:12 +0300 Subject: [PATCH 238/353] Rename Build_wheels_for_cpython310_x86_64.yml to Build_wheels_for_cpython310_x86_64_u20.yml --- ...n310_x86_64.yml => Build_wheels_for_cpython310_x86_64_u20.yml} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename .github/workflows/{Build_wheels_for_cpython310_x86_64.yml => Build_wheels_for_cpython310_x86_64_u20.yml} (100%) diff --git a/.github/workflows/Build_wheels_for_cpython310_x86_64.yml b/.github/workflows/Build_wheels_for_cpython310_x86_64_u20.yml similarity index 100% rename from .github/workflows/Build_wheels_for_cpython310_x86_64.yml rename to .github/workflows/Build_wheels_for_cpython310_x86_64_u20.yml From 3d3751f3bf94e17da200dc1fd22a72a2425c9f86 Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Tue, 11 Feb 2025 13:23:45 +0300 Subject: [PATCH 239/353] Create Build_wheels_for_cpython311_x86_u16.yml --- .../Build_wheels_for_cpython311_x86_u16.yml | 176 ++++++++++++++++++ 1 file changed, 176 insertions(+) create mode 100644 .github/workflows/Build_wheels_for_cpython311_x86_u16.yml diff --git a/.github/workflows/Build_wheels_for_cpython311_x86_u16.yml b/.github/workflows/Build_wheels_for_cpython311_x86_u16.yml new file mode 100644 index 000000000..5d4033a27 --- /dev/null +++ b/.github/workflows/Build_wheels_for_cpython311_x86_u16.yml @@ -0,0 +1,176 @@ +name: Build wheels for CPython3.11 x86 on Ububntu16 + +on: [push, pull_request] + +concurrency: + group: ${{ github.ref }}-${{ github.workflow }}-${{ github.event_name }}-${{ github.ref == format('refs/heads/{0}', github.event.repository.default_branch) && github.sha || '' }} + cancel-in-progress: true + +jobs: + build_wheels: + name: Build wheel - ${{ matrix.os.name }} + runs-on: ${{ matrix.os.runs-on }} + strategy: + fail-fast: false + matrix: + os: + - name: Ubuntu 24+16 i386 CPython 3.11 + runs-on: ubuntu-latest + matrix: linux + arch: i386 + tag_arch: i686 + release: xenial + mirror: http://azure.archive.ubuntu.com/ubuntu + version: 1.5.6.3 + pyver: "3.11" + getpipurl: https://bootstrap.pypa.io/pip/get-pip.py + pypkg: python3.11 + pypkgadd: python3.11-distutils + pyengine_tag: cp311-cp311 + libc_tag: manylinux_2_4 + steps: + - name: Checkout code + uses: actions/checkout@v4 + with: + submodules: 'recursive' + + - name: Update and upgrade Ubuntu 24 + if: matrix.os.matrix == 'linux' + run: | + sudo which apt + sudo apt update; + sudo apt purge -y firefox lxd snapd; + sudo apt install -y zram-config; + sudo apt list --upgradable; + sudo apt dist-upgrade -y; + sudo apt install -f + + - name: Build source distribution with Ubuntu + if: matrix.os.matrix == 'linux' + run: | + sudo apt install -y devscripts debootstrap qemu-user; + pip install build; + python -m build --sdist --outdir dist . + + - name: Debootstrap Ubuntu ${{matrix.os.release}} ${{matrix.os.arch}} + if: matrix.os.matrix == 'linux' + run: | + sudo debootstrap --no-merged-usr --verbose --include=sudo,wget,curl,gnupg,ca-certificates --arch=${{matrix.os.arch}} ${{matrix.os.release}} ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} ${{matrix.os.mirror}} || tail ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/debootstrap/debootstrap.log + + - name: Update and Upgrade Ubuntu ${{matrix.os.release}} + if: matrix.os.matrix == 'linux' + run: | + sudo mkdir -p ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel + 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 + 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' + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /usr/bin/apt update + false && sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /usr/bin/apt dist-upgrade -y + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /usr/bin/apt -fy install + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /usr/bin/apt upgrade -y + + + - 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 + + - 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}} /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'" + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "${{matrix.os.pypkg}} -m pip install -U pkginfo" + + + - name: Pepare source and build wheel for ${{matrix.os.pypkg}} ${{matrix.os.arch}} + if: matrix.os.matrix == 'linux' + run: | + sudo mkdir -p ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel/ + sudo tar -xvf dist/zstd-${{matrix.os.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}} /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}} && ZSTD_ASM=1 _ZSTD_ASM_BMI2=1 ZSTD_THREADS=1 _ZSTD_EXTERNAL=0 python${{matrix.os.pyver}} setup.py bdist_wheel clean" + + - name: Test wheel for ${{matrix.os.pypkg}} ${{matrix.os.arch}} + if: matrix.os.matrix == 'linux' + run: | + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} find /build_wheel/ + sudo cp -v glibc-check.sh ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel/zstd-${{matrix.os.version}}/ + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}}/ ls -lh build/*/zstd.*.so; ldd build/*/zstd.*.so; file build/*/zstd.*.so; bash ./glibc-check.sh build/*/zstd.*.so" + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}} && python${{matrix.os.pyver}} setup.py test" + + - name: Pepare wheel for upload + if: matrix.os.matrix == 'linux' + run: | + sudo cp -v ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel/zstd-${{matrix.os.version}}/dist/* ./dist + sudo ls -lh ./dist/* + sudo mv -v ./dist/"zstd-${{matrix.os.version}}-${{matrix.os.pyengine_tag}}-linux_${{matrix.os.tag_arch}}.whl" ./dist/"zstd-${{matrix.os.version}}-${{matrix.os.pyengine_tag}}-${{matrix.os.libc_tag}}_${{matrix.os.tag_arch}}.whl" + sudo rm -vf ./dist/*.tar.gz + + +# - name: Upload artifacts +# uses: actions/upload-artifact@v4 +# with: +# name: wheels +#. path: ./dist +# compression-level: 0 + + - name: Test for secrets access + id: check_secrets + # If a third party makes a pull request + # this allows automated steps below to be skipped + # and leave a clean PR CI run + shell: bash + run: | + unset HAS_SECRET + unset HAS_SECRET_TEST + if [ -n "$SECRET" ]; then HAS_SECRET='true' ; fi + if [ -n "$SECRET_TEST" ]; then HAS_SECRET_TEST='true' ; fi + echo ::set-output name=HAS_SECRET::${HAS_SECRET} + echo ::set-output name=HAS_SECRET_TEST::${HAS_SECRET_TEST} + env: + SECRET: "${{ secrets.pypi_password }}" + SECRET_TEST: "${{ secrets.test_pypi_password }}" + + - name: Install twine + run: pip install 'twine<=6.0.1' + + - name: Publish distribution to PyPI + if: > + startsWith(github.event.ref, 'refs/tags') && + steps.check_secrets.outputs.HAS_SECRET + env: + # If the PR/Push has secret access + # and PYPI_PASSWORD is in GH Secrets for this repo + # and this is a tag, publish to PyPI + TWINE_REPOSITORY_URL: https://upload.pypi.org/legacy/ + TWINE_USERNAME: "${{ secrets.pypi_username }}" + TWINE_NON_INTERACTIVE: 1 + TWINE_PASSWORD: "${{ secrets.pypi_password }}" + run: twine upload --non-interactive --skip-existing --verbose 'dist/*' + + - name: Publish distribution to Test PyPI + if: steps.check_secrets.outputs.HAS_SECRET + env: + # If the PR/Push has secret access + # and TEST_PYPI_PASSWORD is in GH Secrets for this repo + # then publish each build to test PyPI + TWINE_REPOSITORY_URL: https://test.pypi.org/legacy/ + TWINE_USERNAME: "${{ secrets.test_pypi_username }}" + TWINE_NON_INTERACTIVE: 1 + TWINE_PASSWORD: "${{ secrets.test_pypi_password }}" + run: twine upload --non-interactive --skip-existing --verbose 'dist/*' + From aa502d4e037b761d640f7473fce9af254bf9a29f Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Tue, 11 Feb 2025 13:24:04 +0300 Subject: [PATCH 240/353] Update Build_wheels_for_cpython310_x86_u16.yml --- .github/workflows/Build_wheels_for_cpython310_x86_u16.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/Build_wheels_for_cpython310_x86_u16.yml b/.github/workflows/Build_wheels_for_cpython310_x86_u16.yml index 73ff4f293..8ccad7b78 100644 --- a/.github/workflows/Build_wheels_for_cpython310_x86_u16.yml +++ b/.github/workflows/Build_wheels_for_cpython310_x86_u16.yml @@ -34,7 +34,7 @@ jobs: with: submodules: 'recursive' - - name: Update and upgrade Ubuntu 20 + - name: Update and upgrade Ubuntu 24 if: matrix.os.matrix == 'linux' run: | sudo which apt From f581dfebbd127cb78ebcdcf0c188838f7ce47d93 Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Tue, 11 Feb 2025 13:38:35 +0300 Subject: [PATCH 241/353] Update README.rst --- README.rst | 111 ++++++++++++++++++++++++++++------------------------- 1 file changed, 58 insertions(+), 53 deletions(-) diff --git a/README.rst b/README.rst index 77caa4238..e852ecb80 100644 --- a/README.rst +++ b/README.rst @@ -53,59 +53,64 @@ python-zstd .. |cpython39x64| image:: https://github.com/sergey-dryabzhinsky/python-zstd/actions/workflows/Build_wheels_for_cpython39_x86_64.yml/badge.svg :target: https://github.com/sergey-dryabzhinsky/python-zstd/actions/workflows/Build_wheels_for_cpython39_x86_64.yml -.. |cpython310x86| image:: https://github.com/sergey-dryabzhinsky/python-zstd/actions/workflows/Build_wheels_for_cpython310_x86.yml/badge.svg - :target: https://github.com/sergey-dryabzhinsky/python-zstd/actions/workflows/Build_wheels_for_cpython310_x86.yml - -.. |cpython310x64| image:: https://github.com/sergey-dryabzhinsky/python-zstd/actions/workflows/Build_wheels_for_cpython310_x86_64.yml/badge.svg - :target: https://github.com/sergey-dryabzhinsky/python-zstd/actions/workflows/Build_wheels_for_cpython310_x86_64.yml - -.. |cpython311x64| image:: https://github.com/sergey-dryabzhinsky/python-zstd/actions/workflows/Build_wheels_for_cpython311_x86_64.yml/badge.svg - :target: https://github.com/sergey-dryabzhinsky/python-zstd/actions/workflows/Build_wheels_for_cpython311_x86_64.yml - -+-------------------+------------------+ -| wheels for: | status | -+===================+==================+ -| cpython 2.7 x86 | |cpython27x86| | -+-------------------+------------------+ -| cpython 2.7 x64 | |cpython27x64| | -+-------------------+------------------+ -| cpython 2.7 armhf | |cpython27armhf| | -+-------------------+------------------+ -| cpython 3.4 x86 | |cpython34x86| | -+-------------------+------------------+ -| cpython 3.4 x64 | |cpython34x64| | -+-------------------+------------------+ -| cpython 3.5 x86 | |cpython35x86| | -+-------------------+------------------+ -| cpython 3.5 x64 | |cpython35x64| | -+-------------------+------------------+ -| cpython 3.6 x86 | |cpython36x86| | -+-------------------+------------------+ -| cpython 3.6 x64 | |cpython36x64| | -+-------------------+------------------+ -| cpython 3.7 x86 | |cpython37x86| | -+-------------------+------------------+ -| cpython 3.7 x64 | |cpython37x64| | -+-------------------+------------------+ -| cpython 3.8 x86 | |cpython38x86| | -+-------------------+------------------+ -| cpython 3.8 x64 | |cpython38x64| | -+-------------------+------------------+ -| cpython 3.9 x86 | |cpython39x86| | -+-------------------+------------------+ -| cpython 3.9 x64 | |cpython39x64| | -+-------------------+------------------+ -| cpython 3.10 x86 | |cpython310x86| | -+-------------------+------------------+ -| cpython 3.10 x64 | |cpython310x64| | -+-------------------+------------------+ -| cpython 3.11 x64 | |cpython311x64| | -+-------------------+------------------+ -| Release | |releaseW| | -| 1.5.6.3 | | -+-------------------+------------------+ -| Master | |masterW| | -+-------------------+------------------+ +.. |cpython310x86u16| image:: https://github.com/sergey-dryabzhinsky/python-zstd/actions/workflows/Build_wheels_for_cpython310_x86_u16.yml/badge.svg + :target: https://github.com/sergey-dryabzhinsky/python-zstd/actions/workflows/Build_wheels_for_cpython310_x86_u16.yml + +.. |cpython310x64u20| image:: https://github.com/sergey-dryabzhinsky/python-zstd/actions/workflows/Build_wheels_for_cpython310_x86_64_u20.yml/badge.svg + :target: https://github.com/sergey-dryabzhinsky/python-zstd/actions/workflows/Build_wheels_for_cpython310_x86_64_u20.yml + +.. |cpython311x86u16| image:: https://github.com/sergey-dryabzhinsky/python-zstd/actions/workflows/Build_wheels_for_cpython311_x86_u16.yml/badge.svg + :target: https://github.com/sergey-dryabzhinsky/python-zstd/actions/workflows/Build_wheels_for_cpython311_x86_u16.yml + +.. |cpython311x64u20| image:: https://github.com/sergey-dryabzhinsky/python-zstd/actions/workflows/Build_wheels_for_cpython311_x86_64_u20.yml/badge.svg + :target: https://github.com/sergey-dryabzhinsky/python-zstd/actions/workflows/Build_wheels_for_cpython311_x86_64_u20.yml + ++----------------------+---------------------+ +| wheels for: | status | ++======================+=====================+ +| cpython 2.7 x86 | |cpython27x86| | ++----------------------+---------------------+ +| cpython 2.7 x64 | |cpython27x64| | ++----------------------+---------------------+ +| cpython 2.7 armhf | |cpython27armhf| | ++----------------------+---------------------+ +| cpython 3.4 x86 | |cpython34x86| | ++----------------------+---------------------+ +| cpython 3.4 x64 | |cpython34x64| | ++----------------------+---------------------+ +| cpython 3.5 x86 | |cpython35x86| | ++----------------------+---------------------+ +| cpython 3.5 x64 | |cpython35x64| | ++----------------------+---------------------+ +| cpython 3.6 x86 | |cpython36x86| | ++----------------------+---------------------+ +| cpython 3.6 x64 | |cpython36x64| | ++----------------------+---------------------+ +| cpython 3.7 x86 | |cpython37x86| | ++----------------------+---------------------+ +| cpython 3.7 x64 | |cpython37x64| | ++----------------------+---------------------+ +| cpython 3.8 x86 | |cpython38x86| | ++----------------------+---------------------+ +| cpython 3.8 x64 | |cpython38x64| | ++----------------------+---------------------+ +| cpython 3.9 x86 | |cpython39x86| | ++----------------------+---------------------+ +| cpython 3.9 x64 | |cpython39x64| | ++----------------------+---------------------+ +| cpython 3.10 x86 u16 | |cpython310x86u16| | ++----------------------+---------------------+ +| cpython 3.10 x64 u20 | |cpython310x64u20| | ++----------------------+---------------------+ +| cpython 3.11 x86 u16 | |cpython311x86u16| | ++----------------------+---------------------+ +| cpython 3.11 x64 u20 | |cpython311x64u20| | ++----------------------+---------------------+ +| Release | |releaseW| | +| 1.5.6.3 | | ++----------------------+---------------------+ +| Master | |masterW| | ++----------------------+---------------------+ Simple python bindings to Yann Collet ZSTD compression library. From 8b76e1b43f32f6110960750fb16a375e88b777a9 Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Tue, 11 Feb 2025 13:47:11 +0300 Subject: [PATCH 242/353] Update Build_wheels_for_cpython311_x86_64_u20.yml --- .github/workflows/Build_wheels_for_cpython311_x86_64_u20.yml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/.github/workflows/Build_wheels_for_cpython311_x86_64_u20.yml b/.github/workflows/Build_wheels_for_cpython311_x86_64_u20.yml index 68b250f2a..e068d929c 100644 --- a/.github/workflows/Build_wheels_for_cpython311_x86_64_u20.yml +++ b/.github/workflows/Build_wheels_for_cpython311_x86_64_u20.yml @@ -27,7 +27,7 @@ jobs: pypkg: python3.11 pypkgadd: python3.11-distutils pyengine_tag: cp311-cp311 - libc_tag: manylinux_2_17 + libc_tag: manylinux_2_4 steps: - name: Checkout code uses: actions/checkout@v4 @@ -106,7 +106,8 @@ jobs: if: matrix.os.matrix == 'linux' run: | sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} find /build_wheel/ - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}}/ ls -lh build/*/zstd.*.so; echo LDD; ldd build/*/zstd.*.so; wget https://gist.githubusercontent.com/fasterthanlime/17e002a8f5e0f189861c/raw/09e8866f1df83a51aa579e7dc425405ce93be7ab/glibc-check.sh; bash ./glibc-check.sh build/*/zstd.*.so" + sudo cp -v glibc-check.sh ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel/zstd-${{matrix.os.version}}/ + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}}/ 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-${{matrix.os.version}} && python${{matrix.os.pyver}} setup.py test" - name: Pepare wheel for upload From ab3c88474f163c9a5e09c88565a9a201a91d2b77 Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Tue, 11 Feb 2025 15:42:48 +0300 Subject: [PATCH 243/353] Update Build_wheels_for_cpython311_x86_64_u20.yml --- .github/workflows/Build_wheels_for_cpython311_x86_64_u20.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/Build_wheels_for_cpython311_x86_64_u20.yml b/.github/workflows/Build_wheels_for_cpython311_x86_64_u20.yml index e068d929c..a86216f72 100644 --- a/.github/workflows/Build_wheels_for_cpython311_x86_64_u20.yml +++ b/.github/workflows/Build_wheels_for_cpython311_x86_64_u20.yml @@ -107,7 +107,7 @@ jobs: run: | sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} find /build_wheel/ sudo cp -v glibc-check.sh ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel/zstd-${{matrix.os.version}}/ - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}}/ 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-${{matrix.os.version}}/; 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-${{matrix.os.version}} && python${{matrix.os.pyver}} setup.py test" - name: Pepare wheel for upload From f21fd357e93adfce004642ce3edaf740b6feca99 Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Tue, 11 Feb 2025 15:57:41 +0300 Subject: [PATCH 244/353] Update Build_wheels_for_cpython310_x86_64_u20.yml --- ...Build_wheels_for_cpython310_x86_64_u20.yml | 60 +++++++++---------- 1 file changed, 30 insertions(+), 30 deletions(-) diff --git a/.github/workflows/Build_wheels_for_cpython310_x86_64_u20.yml b/.github/workflows/Build_wheels_for_cpython310_x86_64_u20.yml index 47819b850..0df8e2b3d 100644 --- a/.github/workflows/Build_wheels_for_cpython310_x86_64_u20.yml +++ b/.github/workflows/Build_wheels_for_cpython310_x86_64_u20.yml @@ -14,8 +14,8 @@ jobs: fail-fast: false matrix: os: - - name: Ubuntu 24+20 amd64 CPython 3.10 - runs-on: ubuntu-latest + - name: Ubuntu 20 amd64 CPython 3.10 + runs-on: ubuntu-20.04 matrix: linux arch: amd64 tag_arch: x86_64 @@ -55,65 +55,65 @@ jobs: - name: Debootstrap Ubuntu ${{matrix.os.release}} ${{matrix.os.arch}} if: matrix.os.matrix == 'linux' run: | - sudo debootstrap --no-merged-usr --verbose --include=sudo,wget,curl,ca-certificates --arch=${{matrix.os.arch}} ${{matrix.os.release}} ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} ${{matrix.os.mirror}} || tail ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/debootstrap/debootstrap.log + false && sudo debootstrap --no-merged-usr --verbose --include=sudo,wget,curl,gnupg,ca-certificates --arch=${{matrix.os.arch}} ${{matrix.os.release}} ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} ${{matrix.os.mirror}} || tail ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/debootstrap/debootstrap.log - name: Update and Upgrade Ubuntu ${{matrix.os.release}} if: matrix.os.matrix == 'linux' run: | - sudo mkdir -p ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel - 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 + false && sudo mkdir -p ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel + false && sudo mount none ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/proc -t proc + false && sudo mount none ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/dev/pts -t devpts + false && sudo mount none ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/sys -t sysfs false && 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 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 find ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} -iname apt + sudo /usr/bin/apt update + sudo cp -v ./*.list /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' - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /usr/bin/apt update - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /usr/bin/apt upgrade -y - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /usr/bin/apt -fy install - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /usr/bin/apt upgrade -y + sudo /bin/bash -c 'cd /etc/apt/trusted.gpg.d && wget http://packages.rusoft.ru/apt/public.gpg -Orusoft.gpg' + sudo /bin/bash -c 'cd /etc/apt/trusted.gpg.d && wget http://packages.rusoft.ru/apt/public-old.gpg -Orusoft-old.gpg' + sudo /bin/bash -c 'apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys A2CE4BCCC50209DD || true' + sudo /usr/bin/apt update + sudo /usr/bin/apt upgrade -y + sudo /usr/bin/apt -fy install + sudo /usr/bin/apt upgrade -y - 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 /usr/bin/apt install -y libzstd-dev - 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}} /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'" + sudo /usr/bin/apt install -y ${{matrix.os.pypkg}}-dev gcc pkg-config ${{matrix.os.pypkgadd}} + sudo /bin/bash -c "wget ${{matrix.os.getpipurl}} -O get-pip.py && ${{matrix.os.pypkg}} get-pip.py || true" + sudo /bin/bash -c "${{matrix.os.pypkg}} -m pip install -U 'setuptools<72.0'" - name: Pepare source and build wheel for ${{matrix.os.pypkg}} ${{matrix.os.arch}} if: matrix.os.matrix == 'linux' run: | - sudo mkdir -p ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel/ - sudo tar -xvf dist/zstd-${{matrix.os.version}}.tar.gz -C ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel/ + sudo mkdir -p ./build_wheel/ + sudo tar -xvf dist/zstd-${{matrix.os.version}}.tar.gz -C ./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}} /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}} && ZSTD_ASM=1 _ZSTD_SMALL=1 _ZSTD_ASM_BMI2=1 ZSTD_THREADS=1 _ZSTD_EXTERNAL=0 python${{matrix.os.pyver}} setup.py bdist_wheel" + sudo pkg-config libzstd --modversion + sudo /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}} && ZSTD_ASM=1 _ZSTD_SMALL=1 _ZSTD_ASM_BMI2=1 ZSTD_THREADS=1 _ZSTD_EXTERNAL=0 python${{matrix.os.pyver}} setup.py bdist_wheel" - name: Test wheel for ${{matrix.os.pypkg}} ${{matrix.os.arch}} if: matrix.os.matrix == 'linux' run: | - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} find /build_wheel/ - sudo cp -v glibc-check.sh ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel/zstd-${{matrix.os.version}}/ - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}}/; 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-${{matrix.os.version}} && python${{matrix.os.pyver}} setup.py test" + sudo find /build_wheel/ + sudo cp -v glibc-check.sh ./build_wheel/zstd-${{matrix.os.version}}/ + sudo /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}}/; 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 /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}} && python${{matrix.os.pyver}} setup.py test" - name: Pepare wheel for upload if: matrix.os.matrix == 'linux' run: | - sudo cp -v ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel/zstd-${{matrix.os.version}}/dist/* ./dist + sudo cp -v ./build_wheel/zstd-${{matrix.os.version}}/dist/* ./dist sudo ls -lh ./dist/* sudo mv -v ./dist/"zstd-${{matrix.os.version}}-${{matrix.os.pyengine_tag}}-linux_${{matrix.os.tag_arch}}.whl" ./dist/"zstd-${{matrix.os.version}}-${{matrix.os.pyengine_tag}}-${{matrix.os.libc_tag}}_${{matrix.os.tag_arch}}.whl" sudo rm -vf ./dist/*.tar.gz From e933c6f2d51e0198005a12e1d7382a6d2e496fe4 Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Tue, 11 Feb 2025 16:15:09 +0300 Subject: [PATCH 245/353] Update Build_wheels_for_cpython34_x86.yml --- .github/workflows/Build_wheels_for_cpython34_x86.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/Build_wheels_for_cpython34_x86.yml b/.github/workflows/Build_wheels_for_cpython34_x86.yml index 87566925b..acf274643 100644 --- a/.github/workflows/Build_wheels_for_cpython34_x86.yml +++ b/.github/workflows/Build_wheels_for_cpython34_x86.yml @@ -26,7 +26,7 @@ jobs: getpipurl: https://bootstrap.pypa.io/pip/3.4/get-pip.py pypkg: python3.4 pyengine_tag: cp34-cp34m - libc_tag: manylinux_2_17 + libc_tag: manylinux_2_4 steps: - name: Checkout code uses: actions/checkout@v4 From d7d14a46f26fabeff8d36f723c9b69f854b6a613 Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Tue, 11 Feb 2025 16:18:17 +0300 Subject: [PATCH 246/353] Update Build_wheels_for_cpython34_x86_64.yml --- .github/workflows/Build_wheels_for_cpython34_x86_64.yml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/.github/workflows/Build_wheels_for_cpython34_x86_64.yml b/.github/workflows/Build_wheels_for_cpython34_x86_64.yml index fe1df894c..74aad8019 100644 --- a/.github/workflows/Build_wheels_for_cpython34_x86_64.yml +++ b/.github/workflows/Build_wheels_for_cpython34_x86_64.yml @@ -26,7 +26,7 @@ jobs: getpipurl: https://bootstrap.pypa.io/pip/3.4/get-pip.py pypkg: python3.4 pyengine_tag: cp34-cp34m - libc_tag: manylinux_2_17 + libc_tag: manylinux_2_4 steps: - name: Checkout code uses: actions/checkout@v4 @@ -105,7 +105,8 @@ jobs: if: matrix.os.matrix == 'linux' run: | sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} find /build_wheel/ - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}}/ ls -lh build/*/zstd.so; ldd build/*/zstd.so; wget https://gist.githubusercontent.com/fasterthanlime/17e002a8f5e0f189861c/raw/09e8866f1df83a51aa579e7dc425405ce93be7ab/glibc-check.sh; bash ./glibc-check.sh build/*/zstd.so" + sudo cp -v glibc-check.sh ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel/zstd-${{matrix.os.version}}/ + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}}/ ls -lh build/*/zstd.*so; ldd build/*/zstd.*so ; file build/*/zstd.*.so; bash ./glibc-check.sh build/*/zstd.*so" sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}} && python${{matrix.os.pyver}} setup.py test" - name: Pepare wheel for upload From f84308965b1808f9c5b4a7f77da6f157ed8385c6 Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Tue, 11 Feb 2025 16:24:47 +0300 Subject: [PATCH 247/353] Update Build_wheels_for_cpython310_x86_64_u20.yml --- .github/workflows/Build_wheels_for_cpython310_x86_64_u20.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/Build_wheels_for_cpython310_x86_64_u20.yml b/.github/workflows/Build_wheels_for_cpython310_x86_64_u20.yml index 0df8e2b3d..c963d4d6a 100644 --- a/.github/workflows/Build_wheels_for_cpython310_x86_64_u20.yml +++ b/.github/workflows/Build_wheels_for_cpython310_x86_64_u20.yml @@ -55,7 +55,7 @@ jobs: - name: Debootstrap Ubuntu ${{matrix.os.release}} ${{matrix.os.arch}} if: matrix.os.matrix == 'linux' run: | - false && sudo debootstrap --no-merged-usr --verbose --include=sudo,wget,curl,gnupg,ca-certificates --arch=${{matrix.os.arch}} ${{matrix.os.release}} ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} ${{matrix.os.mirror}} || tail ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/debootstrap/debootstrap.log + false && sudo debootstrap --no-merged-usr --verbose --include=sudo,wget,curl,gnupg,ca-certificates --arch=${{matrix.os.arch}} ${{matrix.os.release}} ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} ${{matrix.os.mirror}} || echo tail ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/debootstrap/debootstrap.log - name: Update and Upgrade Ubuntu ${{matrix.os.release}} if: matrix.os.matrix == 'linux' From f45683686be69c37410c3ecc17a140b7d011bf67 Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Tue, 11 Feb 2025 16:52:42 +0300 Subject: [PATCH 248/353] Update Build_wheels_for_cpython310_x86_64_u20.yml --- .github/workflows/Build_wheels_for_cpython310_x86_64_u20.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/Build_wheels_for_cpython310_x86_64_u20.yml b/.github/workflows/Build_wheels_for_cpython310_x86_64_u20.yml index c963d4d6a..a38824b16 100644 --- a/.github/workflows/Build_wheels_for_cpython310_x86_64_u20.yml +++ b/.github/workflows/Build_wheels_for_cpython310_x86_64_u20.yml @@ -96,8 +96,8 @@ jobs: - name: Pepare source and build wheel for ${{matrix.os.pypkg}} ${{matrix.os.arch}} if: matrix.os.matrix == 'linux' run: | - sudo mkdir -p ./build_wheel/ - sudo tar -xvf dist/zstd-${{matrix.os.version}}.tar.gz -C ./build_wheel/ + sudo mkdir -p /build_wheel/ + sudo tar -xvf dist/zstd-${{matrix.os.version}}.tar.gz -C /build_wheel/ false && sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} env sudo pkg-config libzstd --modversion sudo /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}} && ZSTD_ASM=1 _ZSTD_SMALL=1 _ZSTD_ASM_BMI2=1 ZSTD_THREADS=1 _ZSTD_EXTERNAL=0 python${{matrix.os.pyver}} setup.py bdist_wheel" From 9f12d85fa4a59b817b4f320b172f7accabc85279 Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Tue, 11 Feb 2025 17:21:13 +0300 Subject: [PATCH 249/353] Update Build_wheels_for_cpython310_x86_64_u20.yml --- .github/workflows/Build_wheels_for_cpython310_x86_64_u20.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/Build_wheels_for_cpython310_x86_64_u20.yml b/.github/workflows/Build_wheels_for_cpython310_x86_64_u20.yml index a38824b16..1a63ab6d3 100644 --- a/.github/workflows/Build_wheels_for_cpython310_x86_64_u20.yml +++ b/.github/workflows/Build_wheels_for_cpython310_x86_64_u20.yml @@ -64,10 +64,10 @@ jobs: false && sudo mount none ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/proc -t proc false && sudo mount none ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/dev/pts -t devpts false && sudo mount none ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/sys -t sysfs - false && 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/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 && 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 /usr/bin/apt update sudo cp -v ./*.list /etc/apt/sources.list.d From 04350aa5816288abbd539875721a0ddaff35d089 Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Tue, 11 Feb 2025 17:59:01 +0300 Subject: [PATCH 250/353] Update Build_wheels_for_cpython310_x86_64_u20.yml --- .github/workflows/Build_wheels_for_cpython310_x86_64_u20.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/workflows/Build_wheels_for_cpython310_x86_64_u20.yml b/.github/workflows/Build_wheels_for_cpython310_x86_64_u20.yml index 1a63ab6d3..c17d1097e 100644 --- a/.github/workflows/Build_wheels_for_cpython310_x86_64_u20.yml +++ b/.github/workflows/Build_wheels_for_cpython310_x86_64_u20.yml @@ -76,8 +76,7 @@ jobs: sudo /bin/bash -c 'cd /etc/apt/trusted.gpg.d && wget http://packages.rusoft.ru/apt/public-old.gpg -Orusoft-old.gpg' sudo /bin/bash -c 'apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys A2CE4BCCC50209DD || true' sudo /usr/bin/apt update - sudo /usr/bin/apt upgrade -y - sudo /usr/bin/apt -fy install + sudo /usr/bin/apt upgrade -y || /usr/bin/apt -fy install sudo /usr/bin/apt upgrade -y From c8136d645950ab043e7a4b2f72e36ac554d5e6a7 Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Tue, 11 Feb 2025 18:15:23 +0300 Subject: [PATCH 251/353] Update Build_wheels_for_cpython310_x86_64_u20.yml --- .github/workflows/Build_wheels_for_cpython310_x86_64_u20.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/Build_wheels_for_cpython310_x86_64_u20.yml b/.github/workflows/Build_wheels_for_cpython310_x86_64_u20.yml index c17d1097e..612dc1cd8 100644 --- a/.github/workflows/Build_wheels_for_cpython310_x86_64_u20.yml +++ b/.github/workflows/Build_wheels_for_cpython310_x86_64_u20.yml @@ -76,7 +76,7 @@ jobs: sudo /bin/bash -c 'cd /etc/apt/trusted.gpg.d && wget http://packages.rusoft.ru/apt/public-old.gpg -Orusoft-old.gpg' sudo /bin/bash -c 'apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys A2CE4BCCC50209DD || true' sudo /usr/bin/apt update - sudo /usr/bin/apt upgrade -y || /usr/bin/apt -fy install + sudo /usr/bin/apt upgrade -y || sudo /usr/bin/apt -fy install sudo /usr/bin/apt upgrade -y From 693cff952017f6eb561faa3e40697355312fe3a4 Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Tue, 11 Feb 2025 18:33:10 +0300 Subject: [PATCH 252/353] Update Build_wheels_for_cpython310_x86_64_u20.yml --- .github/workflows/Build_wheels_for_cpython310_x86_64_u20.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/Build_wheels_for_cpython310_x86_64_u20.yml b/.github/workflows/Build_wheels_for_cpython310_x86_64_u20.yml index 612dc1cd8..e28504ca6 100644 --- a/.github/workflows/Build_wheels_for_cpython310_x86_64_u20.yml +++ b/.github/workflows/Build_wheels_for_cpython310_x86_64_u20.yml @@ -77,6 +77,7 @@ jobs: sudo /bin/bash -c 'apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys A2CE4BCCC50209DD || true' sudo /usr/bin/apt update sudo /usr/bin/apt upgrade -y || sudo /usr/bin/apt -fy install + sudo /usr/bin/apt -fy install sudo /usr/bin/apt upgrade -y From 35cb515b1d4ee78506e0ed5533a178a7cc225a47 Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Tue, 11 Feb 2025 21:02:44 +0300 Subject: [PATCH 253/353] Update Build_wheels_for_cpython310_x86_64_u20.yml --- .github/workflows/Build_wheels_for_cpython310_x86_64_u20.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/Build_wheels_for_cpython310_x86_64_u20.yml b/.github/workflows/Build_wheels_for_cpython310_x86_64_u20.yml index e28504ca6..0551fe8e8 100644 --- a/.github/workflows/Build_wheels_for_cpython310_x86_64_u20.yml +++ b/.github/workflows/Build_wheels_for_cpython310_x86_64_u20.yml @@ -64,10 +64,10 @@ jobs: false && sudo mount none ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/proc -t proc false && sudo mount none ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/dev/pts -t devpts false && 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 + false && 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 - false && 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 /usr/bin/apt update sudo cp -v ./*.list /etc/apt/sources.list.d From 32faea6b42e92afa15a140c2e330879ede5685f8 Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Tue, 11 Feb 2025 21:18:04 +0300 Subject: [PATCH 254/353] Update Build_wheels_for_cpython310_x86_64_u20.yml --- .github/workflows/Build_wheels_for_cpython310_x86_64_u20.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/Build_wheels_for_cpython310_x86_64_u20.yml b/.github/workflows/Build_wheels_for_cpython310_x86_64_u20.yml index 0551fe8e8..d4e962cd7 100644 --- a/.github/workflows/Build_wheels_for_cpython310_x86_64_u20.yml +++ b/.github/workflows/Build_wheels_for_cpython310_x86_64_u20.yml @@ -91,7 +91,7 @@ jobs: run: | sudo /usr/bin/apt install -y ${{matrix.os.pypkg}}-dev gcc pkg-config ${{matrix.os.pypkgadd}} sudo /bin/bash -c "wget ${{matrix.os.getpipurl}} -O get-pip.py && ${{matrix.os.pypkg}} get-pip.py || true" - sudo /bin/bash -c "${{matrix.os.pypkg}} -m pip install -U 'setuptools<72.0'" + sudo /bin/bash -c "${{matrix.os.pypkg}} -m pip install -U 'setuptools<=71.0.0'" - name: Pepare source and build wheel for ${{matrix.os.pypkg}} ${{matrix.os.arch}} if: matrix.os.matrix == 'linux' From eabae06bda2418f1942d8df77475211e24f11506 Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Wed, 12 Feb 2025 10:36:43 +0300 Subject: [PATCH 255/353] Create Build_wheels_for_cpython312_x86_u16.yml --- .../Build_wheels_for_cpython312_x86_u16.yml | 176 ++++++++++++++++++ 1 file changed, 176 insertions(+) create mode 100644 .github/Build_wheels_for_cpython312_x86_u16.yml diff --git a/.github/Build_wheels_for_cpython312_x86_u16.yml b/.github/Build_wheels_for_cpython312_x86_u16.yml new file mode 100644 index 000000000..9f4129115 --- /dev/null +++ b/.github/Build_wheels_for_cpython312_x86_u16.yml @@ -0,0 +1,176 @@ +name: Build wheels for CPython3.12 x86 on Ububntu16 + +on: [push, pull_request] + +concurrency: + group: ${{ github.ref }}-${{ github.workflow }}-${{ github.event_name }}-${{ github.ref == format('refs/heads/{0}', github.event.repository.default_branch) && github.sha || '' }} + cancel-in-progress: true + +jobs: + build_wheels: + name: Build wheel - ${{ matrix.os.name }} + runs-on: ${{ matrix.os.runs-on }} + strategy: + fail-fast: false + matrix: + os: + - name: Ubuntu 24+16 i386 CPython 3.12 + runs-on: ubuntu-latest + matrix: linux + arch: i386 + tag_arch: i686 + release: xenial + mirror: http://azure.archive.ubuntu.com/ubuntu + version: 1.5.6.3 + pyver: "3.12" + getpipurl: https://bootstrap.pypa.io/pip/get-pip.py + pypkg: python3.12 + pypkgadd: python3.12-distutils + pyengine_tag: cp312-cp312 + libc_tag: manylinux_2_4 + steps: + - name: Checkout code + uses: actions/checkout@v4 + with: + submodules: 'recursive' + + - name: Update and upgrade Ubuntu 24 + if: matrix.os.matrix == 'linux' + run: | + sudo which apt + sudo apt update; + sudo apt purge -y firefox lxd snapd; + sudo apt install -y zram-config; + sudo apt list --upgradable; + sudo apt dist-upgrade -y; + sudo apt install -f + + - name: Build source distribution with Ubuntu + if: matrix.os.matrix == 'linux' + run: | + sudo apt install -y devscripts debootstrap qemu-user; + pip install build; + python -m build --sdist --outdir dist . + + - name: Debootstrap Ubuntu ${{matrix.os.release}} ${{matrix.os.arch}} + if: matrix.os.matrix == 'linux' + run: | + sudo debootstrap --no-merged-usr --verbose --include=sudo,wget,curl,gnupg,ca-certificates --arch=${{matrix.os.arch}} ${{matrix.os.release}} ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} ${{matrix.os.mirror}} || tail ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/debootstrap/debootstrap.log + + - name: Update and Upgrade Ubuntu ${{matrix.os.release}} + if: matrix.os.matrix == 'linux' + run: | + sudo mkdir -p ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel + 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 + 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' + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /usr/bin/apt update + false && sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /usr/bin/apt dist-upgrade -y + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /usr/bin/apt -fy install + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /usr/bin/apt upgrade -y + + + - 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 + + - 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}} /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'" + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "${{matrix.os.pypkg}} -m pip install -U pkginfo" + + + - name: Pepare source and build wheel for ${{matrix.os.pypkg}} ${{matrix.os.arch}} + if: matrix.os.matrix == 'linux' + run: | + sudo mkdir -p ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel/ + sudo tar -xvf dist/zstd-${{matrix.os.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}} /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}} && ZSTD_ASM=1 _ZSTD_ASM_BMI2=1 ZSTD_THREADS=1 _ZSTD_EXTERNAL=0 python${{matrix.os.pyver}} setup.py bdist_wheel clean" + + - name: Test wheel for ${{matrix.os.pypkg}} ${{matrix.os.arch}} + if: matrix.os.matrix == 'linux' + run: | + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} find /build_wheel/ + sudo cp -v glibc-check.sh ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel/zstd-${{matrix.os.version}}/ + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}}/ ls -lh build/*/zstd.*.so; ldd build/*/zstd.*.so; file build/*/zstd.*.so; bash ./glibc-check.sh build/*/zstd.*.so" + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}} && python${{matrix.os.pyver}} setup.py test" + + - name: Pepare wheel for upload + if: matrix.os.matrix == 'linux' + run: | + sudo cp -v ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel/zstd-${{matrix.os.version}}/dist/* ./dist + sudo ls -lh ./dist/* + sudo mv -v ./dist/"zstd-${{matrix.os.version}}-${{matrix.os.pyengine_tag}}-linux_${{matrix.os.tag_arch}}.whl" ./dist/"zstd-${{matrix.os.version}}-${{matrix.os.pyengine_tag}}-${{matrix.os.libc_tag}}_${{matrix.os.tag_arch}}.whl" + sudo rm -vf ./dist/*.tar.gz + + +# - name: Upload artifacts +# uses: actions/upload-artifact@v4 +# with: +# name: wheels +#. path: ./dist +# compression-level: 0 + + - name: Test for secrets access + id: check_secrets + # If a third party makes a pull request + # this allows automated steps below to be skipped + # and leave a clean PR CI run + shell: bash + run: | + unset HAS_SECRET + unset HAS_SECRET_TEST + if [ -n "$SECRET" ]; then HAS_SECRET='true' ; fi + if [ -n "$SECRET_TEST" ]; then HAS_SECRET_TEST='true' ; fi + echo ::set-output name=HAS_SECRET::${HAS_SECRET} + echo ::set-output name=HAS_SECRET_TEST::${HAS_SECRET_TEST} + env: + SECRET: "${{ secrets.pypi_password }}" + SECRET_TEST: "${{ secrets.test_pypi_password }}" + + - name: Install twine + run: pip install 'twine<=6.0.1' + + - name: Publish distribution to PyPI + if: > + startsWith(github.event.ref, 'refs/tags') && + steps.check_secrets.outputs.HAS_SECRET + env: + # If the PR/Push has secret access + # and PYPI_PASSWORD is in GH Secrets for this repo + # and this is a tag, publish to PyPI + TWINE_REPOSITORY_URL: https://upload.pypi.org/legacy/ + TWINE_USERNAME: "${{ secrets.pypi_username }}" + TWINE_NON_INTERACTIVE: 1 + TWINE_PASSWORD: "${{ secrets.pypi_password }}" + run: twine upload --non-interactive --skip-existing --verbose 'dist/*' + + - name: Publish distribution to Test PyPI + if: steps.check_secrets.outputs.HAS_SECRET + env: + # If the PR/Push has secret access + # and TEST_PYPI_PASSWORD is in GH Secrets for this repo + # then publish each build to test PyPI + TWINE_REPOSITORY_URL: https://test.pypi.org/legacy/ + TWINE_USERNAME: "${{ secrets.test_pypi_username }}" + TWINE_NON_INTERACTIVE: 1 + TWINE_PASSWORD: "${{ secrets.test_pypi_password }}" + run: twine upload --non-interactive --skip-existing --verbose 'dist/*' + From 8ead06833c1e4b43e9a86f53a3d1d52fc011a917 Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Wed, 12 Feb 2025 10:37:25 +0300 Subject: [PATCH 256/353] Delete .github/Build_wheels_for_cpython312_x86_u16.yml --- .../Build_wheels_for_cpython312_x86_u16.yml | 176 ------------------ 1 file changed, 176 deletions(-) delete mode 100644 .github/Build_wheels_for_cpython312_x86_u16.yml diff --git a/.github/Build_wheels_for_cpython312_x86_u16.yml b/.github/Build_wheels_for_cpython312_x86_u16.yml deleted file mode 100644 index 9f4129115..000000000 --- a/.github/Build_wheels_for_cpython312_x86_u16.yml +++ /dev/null @@ -1,176 +0,0 @@ -name: Build wheels for CPython3.12 x86 on Ububntu16 - -on: [push, pull_request] - -concurrency: - group: ${{ github.ref }}-${{ github.workflow }}-${{ github.event_name }}-${{ github.ref == format('refs/heads/{0}', github.event.repository.default_branch) && github.sha || '' }} - cancel-in-progress: true - -jobs: - build_wheels: - name: Build wheel - ${{ matrix.os.name }} - runs-on: ${{ matrix.os.runs-on }} - strategy: - fail-fast: false - matrix: - os: - - name: Ubuntu 24+16 i386 CPython 3.12 - runs-on: ubuntu-latest - matrix: linux - arch: i386 - tag_arch: i686 - release: xenial - mirror: http://azure.archive.ubuntu.com/ubuntu - version: 1.5.6.3 - pyver: "3.12" - getpipurl: https://bootstrap.pypa.io/pip/get-pip.py - pypkg: python3.12 - pypkgadd: python3.12-distutils - pyengine_tag: cp312-cp312 - libc_tag: manylinux_2_4 - steps: - - name: Checkout code - uses: actions/checkout@v4 - with: - submodules: 'recursive' - - - name: Update and upgrade Ubuntu 24 - if: matrix.os.matrix == 'linux' - run: | - sudo which apt - sudo apt update; - sudo apt purge -y firefox lxd snapd; - sudo apt install -y zram-config; - sudo apt list --upgradable; - sudo apt dist-upgrade -y; - sudo apt install -f - - - name: Build source distribution with Ubuntu - if: matrix.os.matrix == 'linux' - run: | - sudo apt install -y devscripts debootstrap qemu-user; - pip install build; - python -m build --sdist --outdir dist . - - - name: Debootstrap Ubuntu ${{matrix.os.release}} ${{matrix.os.arch}} - if: matrix.os.matrix == 'linux' - run: | - sudo debootstrap --no-merged-usr --verbose --include=sudo,wget,curl,gnupg,ca-certificates --arch=${{matrix.os.arch}} ${{matrix.os.release}} ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} ${{matrix.os.mirror}} || tail ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/debootstrap/debootstrap.log - - - name: Update and Upgrade Ubuntu ${{matrix.os.release}} - if: matrix.os.matrix == 'linux' - run: | - sudo mkdir -p ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel - 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 - 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' - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /usr/bin/apt update - false && sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /usr/bin/apt dist-upgrade -y - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /usr/bin/apt -fy install - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /usr/bin/apt upgrade -y - - - - 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 - - - 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}} /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'" - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "${{matrix.os.pypkg}} -m pip install -U pkginfo" - - - - name: Pepare source and build wheel for ${{matrix.os.pypkg}} ${{matrix.os.arch}} - if: matrix.os.matrix == 'linux' - run: | - sudo mkdir -p ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel/ - sudo tar -xvf dist/zstd-${{matrix.os.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}} /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}} && ZSTD_ASM=1 _ZSTD_ASM_BMI2=1 ZSTD_THREADS=1 _ZSTD_EXTERNAL=0 python${{matrix.os.pyver}} setup.py bdist_wheel clean" - - - name: Test wheel for ${{matrix.os.pypkg}} ${{matrix.os.arch}} - if: matrix.os.matrix == 'linux' - run: | - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} find /build_wheel/ - sudo cp -v glibc-check.sh ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel/zstd-${{matrix.os.version}}/ - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}}/ ls -lh build/*/zstd.*.so; ldd build/*/zstd.*.so; file build/*/zstd.*.so; bash ./glibc-check.sh build/*/zstd.*.so" - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}} && python${{matrix.os.pyver}} setup.py test" - - - name: Pepare wheel for upload - if: matrix.os.matrix == 'linux' - run: | - sudo cp -v ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel/zstd-${{matrix.os.version}}/dist/* ./dist - sudo ls -lh ./dist/* - sudo mv -v ./dist/"zstd-${{matrix.os.version}}-${{matrix.os.pyengine_tag}}-linux_${{matrix.os.tag_arch}}.whl" ./dist/"zstd-${{matrix.os.version}}-${{matrix.os.pyengine_tag}}-${{matrix.os.libc_tag}}_${{matrix.os.tag_arch}}.whl" - sudo rm -vf ./dist/*.tar.gz - - -# - name: Upload artifacts -# uses: actions/upload-artifact@v4 -# with: -# name: wheels -#. path: ./dist -# compression-level: 0 - - - name: Test for secrets access - id: check_secrets - # If a third party makes a pull request - # this allows automated steps below to be skipped - # and leave a clean PR CI run - shell: bash - run: | - unset HAS_SECRET - unset HAS_SECRET_TEST - if [ -n "$SECRET" ]; then HAS_SECRET='true' ; fi - if [ -n "$SECRET_TEST" ]; then HAS_SECRET_TEST='true' ; fi - echo ::set-output name=HAS_SECRET::${HAS_SECRET} - echo ::set-output name=HAS_SECRET_TEST::${HAS_SECRET_TEST} - env: - SECRET: "${{ secrets.pypi_password }}" - SECRET_TEST: "${{ secrets.test_pypi_password }}" - - - name: Install twine - run: pip install 'twine<=6.0.1' - - - name: Publish distribution to PyPI - if: > - startsWith(github.event.ref, 'refs/tags') && - steps.check_secrets.outputs.HAS_SECRET - env: - # If the PR/Push has secret access - # and PYPI_PASSWORD is in GH Secrets for this repo - # and this is a tag, publish to PyPI - TWINE_REPOSITORY_URL: https://upload.pypi.org/legacy/ - TWINE_USERNAME: "${{ secrets.pypi_username }}" - TWINE_NON_INTERACTIVE: 1 - TWINE_PASSWORD: "${{ secrets.pypi_password }}" - run: twine upload --non-interactive --skip-existing --verbose 'dist/*' - - - name: Publish distribution to Test PyPI - if: steps.check_secrets.outputs.HAS_SECRET - env: - # If the PR/Push has secret access - # and TEST_PYPI_PASSWORD is in GH Secrets for this repo - # then publish each build to test PyPI - TWINE_REPOSITORY_URL: https://test.pypi.org/legacy/ - TWINE_USERNAME: "${{ secrets.test_pypi_username }}" - TWINE_NON_INTERACTIVE: 1 - TWINE_PASSWORD: "${{ secrets.test_pypi_password }}" - run: twine upload --non-interactive --skip-existing --verbose 'dist/*' - From 13d4761f43fee36805d4e621d8fb9e0cb8b741b8 Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Wed, 12 Feb 2025 10:39:34 +0300 Subject: [PATCH 257/353] Create Build_wheels_for_cpython312_x86_u16.yml --- .../Build_wheels_for_cpython312_x86_u16.yml | 176 ++++++++++++++++++ 1 file changed, 176 insertions(+) create mode 100644 .github/workflows/Build_wheels_for_cpython312_x86_u16.yml diff --git a/.github/workflows/Build_wheels_for_cpython312_x86_u16.yml b/.github/workflows/Build_wheels_for_cpython312_x86_u16.yml new file mode 100644 index 000000000..58d4086df --- /dev/null +++ b/.github/workflows/Build_wheels_for_cpython312_x86_u16.yml @@ -0,0 +1,176 @@ +name: Build wheels for CPython3.12 x86 on Ububntu16 + +on: [push, pull_request] + +concurrency: + group: ${{ github.ref }}-${{ github.workflow }}-${{ github.event_name }}-${{ github.ref == format('refs/heads/{0}', github.event.repository.default_branch) && github.sha || '' }} + cancel-in-progress: true + +jobs: + build_wheels: + name: Build wheel - ${{ matrix.os.name }} + runs-on: ${{ matrix.os.runs-on }} + strategy: + fail-fast: false + matrix: + os: + - name: Ubuntu 24+16 i386 CPython 3.12 + runs-on: ubuntu-latest + matrix: linux + arch: i386 + tag_arch: i686 + release: xenial + mirror: http://azure.archive.ubuntu.com/ubuntu + version: 1.5.6.3 + pyver: "3.11" + getpipurl: https://bootstrap.pypa.io/pip/get-pip.py + pypkg: python3.12 + pypkgadd: python3.12-distutils + pyengine_tag: cp312-cp3112 + libc_tag: manylinux_2_4 + steps: + - name: Checkout code + uses: actions/checkout@v4 + with: + submodules: 'recursive' + + - name: Update and upgrade Ubuntu 24 + if: matrix.os.matrix == 'linux' + run: | + sudo which apt + sudo apt update; + sudo apt purge -y firefox lxd snapd; + sudo apt install -y zram-config; + sudo apt list --upgradable; + sudo apt dist-upgrade -y; + sudo apt install -f + + - name: Build source distribution with Ubuntu + if: matrix.os.matrix == 'linux' + run: | + sudo apt install -y devscripts debootstrap qemu-user; + pip install build; + python -m build --sdist --outdir dist . + + - name: Debootstrap Ubuntu ${{matrix.os.release}} ${{matrix.os.arch}} + if: matrix.os.matrix == 'linux' + run: | + sudo debootstrap --no-merged-usr --verbose --include=sudo,wget,curl,gnupg,ca-certificates --arch=${{matrix.os.arch}} ${{matrix.os.release}} ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} ${{matrix.os.mirror}} || tail ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/debootstrap/debootstrap.log + + - name: Update and Upgrade Ubuntu ${{matrix.os.release}} + if: matrix.os.matrix == 'linux' + run: | + sudo mkdir -p ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel + 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 + 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' + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /usr/bin/apt update + false && sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /usr/bin/apt dist-upgrade -y + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /usr/bin/apt -fy install + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /usr/bin/apt upgrade -y + + + - 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 + + - 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}} /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'" + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "${{matrix.os.pypkg}} -m pip install -U pkginfo" + + + - name: Pepare source and build wheel for ${{matrix.os.pypkg}} ${{matrix.os.arch}} + if: matrix.os.matrix == 'linux' + run: | + sudo mkdir -p ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel/ + sudo tar -xvf dist/zstd-${{matrix.os.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}} /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}} && ZSTD_ASM=1 _ZSTD_ASM_BMI2=1 ZSTD_THREADS=1 _ZSTD_EXTERNAL=0 python${{matrix.os.pyver}} setup.py bdist_wheel clean" + + - name: Test wheel for ${{matrix.os.pypkg}} ${{matrix.os.arch}} + if: matrix.os.matrix == 'linux' + run: | + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} find /build_wheel/ + sudo cp -v glibc-check.sh ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel/zstd-${{matrix.os.version}}/ + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}}/ ls -lh build/*/zstd.*.so; ldd build/*/zstd.*.so; file build/*/zstd.*.so; bash ./glibc-check.sh build/*/zstd.*.so" + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}} && python${{matrix.os.pyver}} setup.py test" + + - name: Pepare wheel for upload + if: matrix.os.matrix == 'linux' + run: | + sudo cp -v ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel/zstd-${{matrix.os.version}}/dist/* ./dist + sudo ls -lh ./dist/* + sudo mv -v ./dist/"zstd-${{matrix.os.version}}-${{matrix.os.pyengine_tag}}-linux_${{matrix.os.tag_arch}}.whl" ./dist/"zstd-${{matrix.os.version}}-${{matrix.os.pyengine_tag}}-${{matrix.os.libc_tag}}_${{matrix.os.tag_arch}}.whl" + sudo rm -vf ./dist/*.tar.gz + + +# - name: Upload artifacts +# uses: actions/upload-artifact@v4 +# with: +# name: wheels +#. path: ./dist +# compression-level: 0 + + - name: Test for secrets access + id: check_secrets + # If a third party makes a pull request + # this allows automated steps below to be skipped + # and leave a clean PR CI run + shell: bash + run: | + unset HAS_SECRET + unset HAS_SECRET_TEST + if [ -n "$SECRET" ]; then HAS_SECRET='true' ; fi + if [ -n "$SECRET_TEST" ]; then HAS_SECRET_TEST='true' ; fi + echo ::set-output name=HAS_SECRET::${HAS_SECRET} + echo ::set-output name=HAS_SECRET_TEST::${HAS_SECRET_TEST} + env: + SECRET: "${{ secrets.pypi_password }}" + SECRET_TEST: "${{ secrets.test_pypi_password }}" + + - name: Install twine + run: pip install 'twine<=6.0.1' + + - name: Publish distribution to PyPI + if: > + startsWith(github.event.ref, 'refs/tags') && + steps.check_secrets.outputs.HAS_SECRET + env: + # If the PR/Push has secret access + # and PYPI_PASSWORD is in GH Secrets for this repo + # and this is a tag, publish to PyPI + TWINE_REPOSITORY_URL: https://upload.pypi.org/legacy/ + TWINE_USERNAME: "${{ secrets.pypi_username }}" + TWINE_NON_INTERACTIVE: 1 + TWINE_PASSWORD: "${{ secrets.pypi_password }}" + run: twine upload --non-interactive --skip-existing --verbose 'dist/*' + + - name: Publish distribution to Test PyPI + if: steps.check_secrets.outputs.HAS_SECRET + env: + # If the PR/Push has secret access + # and TEST_PYPI_PASSWORD is in GH Secrets for this repo + # then publish each build to test PyPI + TWINE_REPOSITORY_URL: https://test.pypi.org/legacy/ + TWINE_USERNAME: "${{ secrets.test_pypi_username }}" + TWINE_NON_INTERACTIVE: 1 + TWINE_PASSWORD: "${{ secrets.test_pypi_password }}" + run: twine upload --non-interactive --skip-existing --verbose 'dist/*' + From 490916a8aa9b3001e79639d976008182c1a2c157 Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Wed, 12 Feb 2025 10:41:51 +0300 Subject: [PATCH 258/353] Create Build_wheels_for_cpython312_x86_64_u20.yml --- ...Build_wheels_for_cpython312_x86_64_u20.yml | 174 ++++++++++++++++++ 1 file changed, 174 insertions(+) create mode 100644 .github/workflows/Build_wheels_for_cpython312_x86_64_u20.yml diff --git a/.github/workflows/Build_wheels_for_cpython312_x86_64_u20.yml b/.github/workflows/Build_wheels_for_cpython312_x86_64_u20.yml new file mode 100644 index 000000000..f1ca9b2af --- /dev/null +++ b/.github/workflows/Build_wheels_for_cpython312_x86_64_u20.yml @@ -0,0 +1,174 @@ +name: Build wheels for CPython3.12 x86_64 on Ubuntu20 + +on: [push, pull_request] + +concurrency: + group: ${{ github.ref }}-${{ github.workflow }}-${{ github.event_name }}-${{ github.ref == format('refs/heads/{0}', github.event.repository.default_branch) && github.sha || '' }} + cancel-in-progress: true + +jobs: + build_wheels: + name: Build wheel - ${{ matrix.os.name }} + runs-on: ${{ matrix.os.runs-on }} + strategy: + fail-fast: false + matrix: + os: + - name: Ubuntu 24+20 amd64 CPython 3.12 + runs-on: ubuntu-latest + matrix: linux + arch: amd64 + tag_arch: x86_64 + release: focal + mirror: http://azure.archive.ubuntu.com/ubuntu + version: 1.5.6.3 + pyver: "3.12" + getpipurl: https://bootstrap.pypa.io/pip/get-pip.py + pypkg: python3.12 + pypkgadd: python3.12-distutils + pyengine_tag: cp312-cp312 + libc_tag: manylinux_2_4 + steps: + - name: Checkout code + uses: actions/checkout@v4 + with: + submodules: 'recursive' + + - name: Update and upgrade Ubuntu 24 + if: matrix.os.matrix == 'linux' + run: | + sudo which apt + sudo apt update; + sudo apt purge -y firefox lxd snapd; + sudo apt install -y zram-config; + sudo apt list --upgradable; + sudo apt upgrade -y; + sudo apt install -f + + - name: Build source distribution with Ubuntu + if: matrix.os.matrix == 'linux' + run: | + sudo apt install -y devscripts debootstrap qemu-user; + pip install build; + python -m build --sdist --outdir dist . + + - name: Debootstrap Ubuntu ${{matrix.os.release}} ${{matrix.os.arch}} + if: matrix.os.matrix == 'linux' + run: | + sudo debootstrap --no-merged-usr --verbose --include=sudo,wget,curl,ca-certificates --arch=${{matrix.os.arch}} ${{matrix.os.release}} ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} ${{matrix.os.mirror}} || tail ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/debootstrap/debootstrap.log + + - name: Update and Upgrade Ubuntu ${{matrix.os.release}} + if: matrix.os.matrix == 'linux' + run: | + sudo mkdir -p ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel + 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 + false && 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 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' + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /usr/bin/apt update + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /usr/bin/apt upgrade -y + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /usr/bin/apt -fy install + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /usr/bin/apt upgrade -y + + + - 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 + + - 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}} /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'" + + - name: Pepare source and build wheel for ${{matrix.os.pypkg}} ${{matrix.os.arch}} + if: matrix.os.matrix == 'linux' + run: | + sudo mkdir -p ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel/ + sudo tar -xvf dist/zstd-${{matrix.os.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}} /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}} && ZSTD_ASM=1 _ZSTD_ASM_BMI2=1 ZSTD_THREADS=1 _ZSTD_EXTERNAL=0 python${{matrix.os.pyver}} setup.py bdist_wheel" + + - name: Test wheel for ${{matrix.os.pypkg}} ${{matrix.os.arch}} + if: matrix.os.matrix == 'linux' + run: | + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} find /build_wheel/ + sudo cp -v glibc-check.sh ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel/zstd-${{matrix.os.version}}/ + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}}/; 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-${{matrix.os.version}} && python${{matrix.os.pyver}} setup.py test" + + - name: Pepare wheel for upload + if: matrix.os.matrix == 'linux' + run: | + sudo cp -v ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel/zstd-${{matrix.os.version}}/dist/* ./dist + sudo ls -lh ./dist/* + sudo mv -v ./dist/"zstd-${{matrix.os.version}}-${{matrix.os.pyengine_tag}}-linux_${{matrix.os.tag_arch}}.whl" ./dist/"zstd-${{matrix.os.version}}-${{matrix.os.pyengine_tag}}-${{matrix.os.libc_tag}}_${{matrix.os.tag_arch}}.whl" + sudo rm -vf ./dist/*.tar.gz + + +# - name: Upload artifacts +# uses: actions/upload-artifact@v4 +# with: +# name: wheels +#. path: ./dist +# compression-level: 0 + + - name: Test for secrets access + id: check_secrets + # If a third party makes a pull request + # this allows automated steps below to be skipped + # and leave a clean PR CI run + shell: bash + run: | + unset HAS_SECRET + unset HAS_SECRET_TEST + if [ -n "$SECRET" ]; then HAS_SECRET='true' ; fi + if [ -n "$SECRET_TEST" ]; then HAS_SECRET_TEST='true' ; fi + echo ::set-output name=HAS_SECRET::${HAS_SECRET} + echo ::set-output name=HAS_SECRET_TEST::${HAS_SECRET_TEST} + env: + SECRET: "${{ secrets.pypi_password }}" + SECRET_TEST: "${{ secrets.test_pypi_password }}" + + - name: Install twine + run: pip install 'twine<=6.0.1' + + - name: Publish distribution to PyPI + if: > + startsWith(github.event.ref, 'refs/tags') && + steps.check_secrets.outputs.HAS_SECRET + env: + # If the PR/Push has secret access + # and PYPI_PASSWORD is in GH Secrets for this repo + # and this is a tag, publish to PyPI + TWINE_REPOSITORY_URL: https://upload.pypi.org/legacy/ + TWINE_USERNAME: "${{ secrets.pypi_username }}" + TWINE_NON_INTERACTIVE: 1 + TWINE_PASSWORD: "${{ secrets.pypi_password }}" + run: twine upload --non-interactive --skip-existing --verbose 'dist/*' + + - name: Publish distribution to Test PyPI + if: steps.check_secrets.outputs.HAS_SECRET + env: + # If the PR/Push has secret access + # and TEST_PYPI_PASSWORD is in GH Secrets for this repo + # then publish each build to test PyPI + TWINE_REPOSITORY_URL: https://test.pypi.org/legacy/ + TWINE_USERNAME: "${{ secrets.test_pypi_username }}" + TWINE_NON_INTERACTIVE: 1 + TWINE_PASSWORD: "${{ secrets.test_pypi_password }}" + run: twine upload --non-interactive --skip-existing --verbose 'dist/*' + From 5afeecce49ab60ea5ae7c19e4dd7fbd706b13ea1 Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Wed, 12 Feb 2025 10:57:02 +0300 Subject: [PATCH 259/353] Update README.rst --- README.rst | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/README.rst b/README.rst index e852ecb80..6b870b4fa 100644 --- a/README.rst +++ b/README.rst @@ -65,6 +65,12 @@ python-zstd .. |cpython311x64u20| image:: https://github.com/sergey-dryabzhinsky/python-zstd/actions/workflows/Build_wheels_for_cpython311_x86_64_u20.yml/badge.svg :target: https://github.com/sergey-dryabzhinsky/python-zstd/actions/workflows/Build_wheels_for_cpython311_x86_64_u20.yml +.. |cpython312x86u16| image:: https://github.com/sergey-dryabzhinsky/python-zstd/actions/workflows/Build_wheels_for_cpython312_x86_u16.yml/badge.svg + :target: https://github.com/sergey-dryabzhinsky/python-zstd/actions/workflows/Build_wheels_for_cpython312_x86_u16.yml + +.. |cpython312x64u20| image:: https://github.com/sergey-dryabzhinsky/python-zstd/actions/workflows/Build_wheels_for_cpython312_x86_64_u20.yml/badge.svg + :target: https://github.com/sergey-dryabzhinsky/python-zstd/actions/workflows/Build_wheels_for_cpython312_x86_64_u20.yml + +----------------------+---------------------+ | wheels for: | status | +======================+=====================+ @@ -106,6 +112,10 @@ python-zstd +----------------------+---------------------+ | cpython 3.11 x64 u20 | |cpython311x64u20| | +----------------------+---------------------+ +| cpython 3.12 x86 u16 | |cpython312x86u16| | ++----------------------+---------------------+ +| cpython 3.12 x64 u20 | |cpython312x64u20| | ++----------------------+---------------------+ | Release | |releaseW| | | 1.5.6.3 | | +----------------------+---------------------+ From 51121a61a462fc7ae24acb899ba72ab9f112582d Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Wed, 12 Feb 2025 11:38:47 +0300 Subject: [PATCH 260/353] Update Build_wheels_for_cpython312_x86_u16.yml --- .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 58d4086df..fd9120c8c 100644 --- a/.github/workflows/Build_wheels_for_cpython312_x86_u16.yml +++ b/.github/workflows/Build_wheels_for_cpython312_x86_u16.yml @@ -25,7 +25,7 @@ jobs: pyver: "3.11" getpipurl: https://bootstrap.pypa.io/pip/get-pip.py pypkg: python3.12 - pypkgadd: python3.12-distutils + #pypkgadd: python3.12-distutils pyengine_tag: cp312-cp3112 libc_tag: manylinux_2_4 steps: From 0b548a72df76db674329d15ec36ef970f1b8e639 Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Wed, 12 Feb 2025 11:39:19 +0300 Subject: [PATCH 261/353] Update Build_wheels_for_cpython312_x86_64_u20.yml --- .github/workflows/Build_wheels_for_cpython312_x86_64_u20.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/Build_wheels_for_cpython312_x86_64_u20.yml b/.github/workflows/Build_wheels_for_cpython312_x86_64_u20.yml index f1ca9b2af..ca11b45bd 100644 --- a/.github/workflows/Build_wheels_for_cpython312_x86_64_u20.yml +++ b/.github/workflows/Build_wheels_for_cpython312_x86_64_u20.yml @@ -25,7 +25,7 @@ jobs: pyver: "3.12" getpipurl: https://bootstrap.pypa.io/pip/get-pip.py pypkg: python3.12 - pypkgadd: python3.12-distutils + #pypkgadd: python3.12-distutils pyengine_tag: cp312-cp312 libc_tag: manylinux_2_4 steps: From 7e5781b5c679cd0d2083a10d40d5ca9764ed347f Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Wed, 12 Feb 2025 14:46:39 +0300 Subject: [PATCH 262/353] Update Build_wheels_for_cpython312_x86_u16.yml --- .github/workflows/Build_wheels_for_cpython312_x86_u16.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/Build_wheels_for_cpython312_x86_u16.yml b/.github/workflows/Build_wheels_for_cpython312_x86_u16.yml index fd9120c8c..02225126b 100644 --- a/.github/workflows/Build_wheels_for_cpython312_x86_u16.yml +++ b/.github/workflows/Build_wheels_for_cpython312_x86_u16.yml @@ -22,7 +22,7 @@ jobs: release: xenial mirror: http://azure.archive.ubuntu.com/ubuntu version: 1.5.6.3 - pyver: "3.11" + pyver: "3.12" getpipurl: https://bootstrap.pypa.io/pip/get-pip.py pypkg: python3.12 #pypkgadd: python3.12-distutils @@ -102,7 +102,7 @@ jobs: sudo tar -xvf dist/zstd-${{matrix.os.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}} /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}} && ZSTD_ASM=1 _ZSTD_ASM_BMI2=1 ZSTD_THREADS=1 _ZSTD_EXTERNAL=0 python${{matrix.os.pyver}} setup.py bdist_wheel clean" + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}} && ZSTD_ASM=1 _ZSTD_ASM_BMI2=1 ZSTD_THREADS=1 _ZSTD_EXTERNAL=0 ${{matrix.os.pypkg}} setup.py bdist_wheel clean" - name: Test wheel for ${{matrix.os.pypkg}} ${{matrix.os.arch}} if: matrix.os.matrix == 'linux' @@ -110,7 +110,7 @@ jobs: sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} find /build_wheel/ sudo cp -v glibc-check.sh ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel/zstd-${{matrix.os.version}}/ sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}}/ ls -lh build/*/zstd.*.so; ldd build/*/zstd.*.so; file build/*/zstd.*.so; bash ./glibc-check.sh build/*/zstd.*.so" - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}} && python${{matrix.os.pyver}} setup.py test" + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}} && ${{matrix.os.pyvpkg}} setup.py test" - name: Pepare wheel for upload if: matrix.os.matrix == 'linux' From 3b1df7c91c0b885fe1cde10fa2664dab552fbf48 Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Wed, 12 Feb 2025 14:50:31 +0300 Subject: [PATCH 263/353] Update Build_wheels_for_cpython312_x86_u16.yml --- .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 02225126b..998dc0f05 100644 --- a/.github/workflows/Build_wheels_for_cpython312_x86_u16.yml +++ b/.github/workflows/Build_wheels_for_cpython312_x86_u16.yml @@ -48,7 +48,7 @@ jobs: - name: Build source distribution with Ubuntu if: matrix.os.matrix == 'linux' run: | - sudo apt install -y devscripts debootstrap qemu-user; + sudo apt install -y debootstrap qemu-user; pip install build; python -m build --sdist --outdir dist . From 47ca99642d6aada76b74e1511d85037c937f7a6a Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Wed, 12 Feb 2025 14:59:30 +0300 Subject: [PATCH 264/353] Update Build_wheels_for_cpython27_x86.yml --- .github/workflows/Build_wheels_for_cpython27_x86.yml | 10 +++++----- 1 file 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 e32903457..cd6918565 100644 --- a/.github/workflows/Build_wheels_for_cpython27_x86.yml +++ b/.github/workflows/Build_wheels_for_cpython27_x86.yml @@ -22,7 +22,7 @@ jobs: release: xenial mirror: http://azure.archive.ubuntu.com/ubuntu version: 1.5.6.3 - pyver: "2.7" + #pyver: "2.7" getpipurl: https://bootstrap.pypa.io/pip/2.7/get-pip.py pypkg: python2.7 pyengine_tag: cp27-cp27mu @@ -100,15 +100,15 @@ 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}} /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}} && ZSTD_ASM=1 ZSTD_SMALL=1 _ZSTD_ASM_BMI2=1 ZSTD_THREADS=1 _ZSTD_EXTERNAL=0 python${{matrix.os.pyver}} setup.py bdist_wheel " + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}} && ZSTD_ASM=1 _ZSTD_SMALL=1 _ZSTD_ASM_BMI2=1 ZSTD_THREADS=1 _ZSTD_EXTERNAL=0 ${{matrix.os.pyvpkg}} setup.py bdist_wheel " - name: Test wheel for ${{matrix.os.pypkg}} ${{matrix.os.arch}} if: matrix.os.matrix == 'linux' run: | - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} find /build_wheel/ + false && sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} find /build_wheel/ sudo cp -v glibc-check.sh ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel/zstd-${{matrix.os.version}}/ - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}}/ 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-${{matrix.os.version}} && python${{matrix.os.pyver}} setup.py test" + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.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-${{matrix.os.version}} && ${{matrix.os.pypkg}} setup.py test" - name: Pepare wheel for upload if: matrix.os.matrix == 'linux' From 18e1802da6697509f02c7073edf034c4859fda15 Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Wed, 12 Feb 2025 17:15:48 +0300 Subject: [PATCH 265/353] Update Build_wheels_for_cpython312_x86_u16.yml --- .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 998dc0f05..f37615a2d 100644 --- a/.github/workflows/Build_wheels_for_cpython312_x86_u16.yml +++ b/.github/workflows/Build_wheels_for_cpython312_x86_u16.yml @@ -110,7 +110,7 @@ jobs: sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} find /build_wheel/ sudo cp -v glibc-check.sh ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel/zstd-${{matrix.os.version}}/ sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}}/ ls -lh build/*/zstd.*.so; ldd build/*/zstd.*.so; file build/*/zstd.*.so; bash ./glibc-check.sh build/*/zstd.*.so" - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}} && ${{matrix.os.pyvpkg}} setup.py test" + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}} && ${{matrix.os.pypkg}} setup.py test" - name: Pepare wheel for upload if: matrix.os.matrix == 'linux' From 629ff1d3974665b3e492b9176b4e4961adfb1a83 Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Wed, 12 Feb 2025 17:17:28 +0300 Subject: [PATCH 266/353] Update Build_wheels_for_cpython27_x86.yml --- .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 cd6918565..a113f4e4b 100644 --- a/.github/workflows/Build_wheels_for_cpython27_x86.yml +++ b/.github/workflows/Build_wheels_for_cpython27_x86.yml @@ -100,7 +100,7 @@ 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}} /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}} && ZSTD_ASM=1 _ZSTD_SMALL=1 _ZSTD_ASM_BMI2=1 ZSTD_THREADS=1 _ZSTD_EXTERNAL=0 ${{matrix.os.pyvpkg}} setup.py bdist_wheel " + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}} && ZSTD_ASM=1 _ZSTD_SMALL=1 _ZSTD_ASM_BMI2=1 ZSTD_THREADS=1 _ZSTD_EXTERNAL=0 ${{matrix.os.pypkg}} setup.py bdist_wheel " - name: Test wheel for ${{matrix.os.pypkg}} ${{matrix.os.arch}} if: matrix.os.matrix == 'linux' From cab555f182faeb7304b20de4c3a4fb317ec96aca Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Wed, 12 Feb 2025 17:51:56 +0300 Subject: [PATCH 267/353] Update Build_wheels_for_cpython27_x86.yml --- .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 a113f4e4b..90b27ca16 100644 --- a/.github/workflows/Build_wheels_for_cpython27_x86.yml +++ b/.github/workflows/Build_wheels_for_cpython27_x86.yml @@ -100,7 +100,7 @@ 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}} /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}} && ZSTD_ASM=1 _ZSTD_SMALL=1 _ZSTD_ASM_BMI2=1 ZSTD_THREADS=1 _ZSTD_EXTERNAL=0 ${{matrix.os.pypkg}} setup.py bdist_wheel " + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}} && ZSTD_ASM=1 ZSTD_SMALL=1 _ZSTD_ASM_BMI2=1 ZSTD_THREADS=1 _ZSTD_EXTERNAL=0 ${{matrix.os.pypkg}} setup.py bdist_wheel " - name: Test wheel for ${{matrix.os.pypkg}} ${{matrix.os.arch}} if: matrix.os.matrix == 'linux' From 28ad1cd023de1fc3941a94b518fffc82307ef7e0 Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Wed, 12 Feb 2025 18:43:06 +0300 Subject: [PATCH 268/353] Update Build_wheels_for_cpython27_x86.yml --- .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 90b27ca16..a63d6adb0 100644 --- a/.github/workflows/Build_wheels_for_cpython27_x86.yml +++ b/.github/workflows/Build_wheels_for_cpython27_x86.yml @@ -67,7 +67,7 @@ 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 - sudo find ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} -iname apt + 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 From d23c9ec21ae2ec77a5f8b3c21c2ab08b375cb22f Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Wed, 12 Feb 2025 18:57:47 +0300 Subject: [PATCH 269/353] Update Build_wheels_for_cpython27_x86.yml --- .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 a63d6adb0..95461fbe6 100644 --- a/.github/workflows/Build_wheels_for_cpython27_x86.yml +++ b/.github/workflows/Build_wheels_for_cpython27_x86.yml @@ -100,7 +100,7 @@ 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}} /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}} && ZSTD_ASM=1 ZSTD_SMALL=1 _ZSTD_ASM_BMI2=1 ZSTD_THREADS=1 _ZSTD_EXTERNAL=0 ${{matrix.os.pypkg}} setup.py bdist_wheel " + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}} && ZSTD_ASM=1 _ZSTD_SMALL=1 _ZSTD_ASM_BMI2=1 ZSTD_THREADS=1 _ZSTD_EXTERNAL=0 ${{matrix.os.pypkg}} setup.py bdist_wheel " - name: Test wheel for ${{matrix.os.pypkg}} ${{matrix.os.arch}} if: matrix.os.matrix == 'linux' From 5b60d889d9ef8a161ecf7f6b00d262a96816cb4b Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Wed, 12 Feb 2025 19:12:24 +0300 Subject: [PATCH 270/353] Update Build_wheels_for_cpython37_x86.yml --- .../Build_wheels_for_cpython37_x86.yml | 60 ++++++++++--------- 1 file changed, 31 insertions(+), 29 deletions(-) diff --git a/.github/workflows/Build_wheels_for_cpython37_x86.yml b/.github/workflows/Build_wheels_for_cpython37_x86.yml index 6bfdc9f15..6ded72e56 100644 --- a/.github/workflows/Build_wheels_for_cpython37_x86.yml +++ b/.github/workflows/Build_wheels_for_cpython37_x86.yml @@ -14,12 +14,12 @@ jobs: fail-fast: false matrix: os: - - name: Ubuntu 24+16 i386 CPython 3.7 + - name: Ubuntu 24 i386 CPython 3.7 runs-on: ubuntu-latest matrix: linux arch: i386 tag_arch: i686 - release: xenial + release: noble mirror: http://azure.archive.ubuntu.com/ubuntu version: 1.5.6.3 pyver: "3.7" @@ -48,66 +48,68 @@ jobs: - name: Build source distribution with Ubuntu if: matrix.os.matrix == 'linux' run: | - sudo apt install -y devscripts debootstrap qemu-user; + sudo apt install -y debootstrap qemu-user; pip install build; python -m build --sdist --outdir dist . - name: Debootstrap Ubuntu ${{matrix.os.release}} ${{matrix.os.arch}} if: matrix.os.matrix == 'linux' run: | - sudo debootstrap --no-merged-usr --verbose --include=sudo,wget,curl,ca-certificates --arch=${{matrix.os.arch}} ${{matrix.os.release}} ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} ${{matrix.os.mirror}} || tail ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/debootstrap/debootstrap.log + false && sudo debootstrap --no-merged-usr --verbose --include=sudo,wget,curl,ca-certificates --arch=${{matrix.os.arch}} ${{matrix.os.release}} ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} ${{matrix.os.mirror}} || tail ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/debootstrap/debootstrap.log - name: Update and Upgrade Ubuntu ${{matrix.os.release}} if: matrix.os.matrix == 'linux' run: | - sudo mkdir -p ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel - 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 + false && sudo mkdir -p ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel + false && sudo mount none ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/proc -t proc + false && sudo mount none ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/dev/pts -t devpts + false && sudo mount none ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/sys -t sysfs + false && 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 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 find ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} -iname apt + false && sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /usr/bin/apt update + sudo cp -v ./*.list /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' - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /usr/bin/apt update - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /usr/bin/apt upgrade -y - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /usr/bin/apt -fy install - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /usr/bin/apt upgrade -y + sudo /bin/bash -c 'cd /etc/apt/trusted.gpg.d && wget http://packages.rusoft.ru/apt/public.gpg -Orusoft.gpg' + sudo /bin/bash -c 'cd /etc/apt/trusted.gpg.d && wget http://packages.rusoft.ru/apt/public-old.gpg -Orusoft-old.gpg' + sudo /bin/bash -c 'apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys A2CE4BCCC50209DD || true' + sudo /usr/bin/apt update + sudo /usr/bin/apt upgrade -y + sudo /usr/bin/apt -fy install + sudo /usr/bin/apt upgrade -y - 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 /usr/bin/apt install -y libzstd-dev - 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}} /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'" - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "${{matrix.os.pypkg}} -m pip install -U pkginfo" + sudo /usr/bin/apt install -y ${{matrix.os.pypkg}}-dev gcc pkg-config ${{matrix.os.pypkgadd}} + sudo /bin/bash -c "wget ${{matrix.os.getpipurl}} -O get-pip.py && ${{matrix.os.pypkg}} get-pip.py || true" + sudo /bin/bash -c "${{matrix.os.pypkg}} -m pip install -U 'setuptools<72.0'" + sudo /bin/bash -c "${{matrix.os.pypkg}} -m pip install -U pkginfo" - name: Pepare source and build wheel for ${{matrix.os.pypkg}} ${{matrix.os.arch}} if: matrix.os.matrix == 'linux' run: | - sudo mkdir -p ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel/ - sudo tar -xvf dist/zstd-${{matrix.os.version}}.tar.gz -C ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel/ + false && sudo mkdir -p ./build_wheel/ + false && sudo tar -xvf dist/zstd-${{matrix.os.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}} /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}} && ZSTD_ASM=1 _ZSTD_ASM_BMI2=1 ZSTD_THREADS=1 _ZSTD_EXTERNAL=0 python${{matrix.os.pyver}} setup.py bdist_wheel clean" + sudo pkg-config libzstd --modversion + sudo /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}} && ZSTD_ASM=1 ZSTD_SMALL=1 _ZSTD_ASM_BMI2=1 ZSTD_THREADS=1 _ZSTD_EXTERNAL=0 ${{matrix.os.pypkg}} setup.py bdist_wheel clean" - name: Test wheel for ${{matrix.os.pypkg}} ${{matrix.os.arch}} if: matrix.os.matrix == 'linux' run: | - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}} && python${{matrix.os.pyver}} setup.py test" + sudo cp -v glibc-check.sh ./build_wheel/zstd-${{matrix.os.version}}/ + sudo /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.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 /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}} && ${{matrix.os.pypkg}} setup.py test" - name: Pepare wheel for upload if: matrix.os.matrix == 'linux' From 66ec702ae52c98fbaa47b5820484a096d47984a1 Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Wed, 12 Feb 2025 19:30:58 +0300 Subject: [PATCH 271/353] Update Build_wheels_for_cpython37_x86.yml --- .github/workflows/Build_wheels_for_cpython37_x86.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/Build_wheels_for_cpython37_x86.yml b/.github/workflows/Build_wheels_for_cpython37_x86.yml index 6ded72e56..ed6ad890a 100644 --- a/.github/workflows/Build_wheels_for_cpython37_x86.yml +++ b/.github/workflows/Build_wheels_for_cpython37_x86.yml @@ -55,7 +55,8 @@ jobs: - name: Debootstrap Ubuntu ${{matrix.os.release}} ${{matrix.os.arch}} if: matrix.os.matrix == 'linux' run: | - false && sudo debootstrap --no-merged-usr --verbose --include=sudo,wget,curl,ca-certificates --arch=${{matrix.os.arch}} ${{matrix.os.release}} ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} ${{matrix.os.mirror}} || tail ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/debootstrap/debootstrap.log + false && sudo debootstrap --no-merged-usr --verbose --include=sudo,wget,curl,ca-certificates --arch=${{matrix.os.arch}} ${{matrix.os.release}} ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} ${{matrix.os.mirror}} + false && if [ -f ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/debootstrap/debootstrap.log ] then tail ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/debootstrap/debootstrap.log fi - name: Update and Upgrade Ubuntu ${{matrix.os.release}} if: matrix.os.matrix == 'linux' From 1dda13d85179b173cf498ee6ba6eb6f045eb10bd Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Wed, 12 Feb 2025 19:31:31 +0300 Subject: [PATCH 272/353] Update Build_wheels_for_cpython37_x86.yml --- .github/workflows/Build_wheels_for_cpython37_x86.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/Build_wheels_for_cpython37_x86.yml b/.github/workflows/Build_wheels_for_cpython37_x86.yml index ed6ad890a..70cfa6607 100644 --- a/.github/workflows/Build_wheels_for_cpython37_x86.yml +++ b/.github/workflows/Build_wheels_for_cpython37_x86.yml @@ -1,4 +1,4 @@ -name: Build wheels for CPython3.7 x86 +name: Build wheels for CPython3.7 x86 on Ubuntu24 on: [push, pull_request] From 5318f695f0a521677009a72116dc12587f36e401 Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Wed, 12 Feb 2025 19:49:18 +0300 Subject: [PATCH 273/353] Update Build_wheels_for_cpython37_x86.yml --- .github/workflows/Build_wheels_for_cpython37_x86.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/Build_wheels_for_cpython37_x86.yml b/.github/workflows/Build_wheels_for_cpython37_x86.yml index 70cfa6607..cf121d80d 100644 --- a/.github/workflows/Build_wheels_for_cpython37_x86.yml +++ b/.github/workflows/Build_wheels_for_cpython37_x86.yml @@ -22,12 +22,12 @@ jobs: release: noble mirror: http://azure.archive.ubuntu.com/ubuntu version: 1.5.6.3 - pyver: "3.7" + # pyver: "3.7" getpipurl: https://bootstrap.pypa.io/pip/3.7/get-pip.py pypkg: python3.7 pypkgadd: python3.7-distutils pyengine_tag: cp37-cp37m - libc_tag: manylinux_2_17 + libc_tag: manylinux_2_4 steps: - name: Checkout code uses: actions/checkout@v4 @@ -55,7 +55,7 @@ jobs: - name: Debootstrap Ubuntu ${{matrix.os.release}} ${{matrix.os.arch}} if: matrix.os.matrix == 'linux' run: | - false && sudo debootstrap --no-merged-usr --verbose --include=sudo,wget,curl,ca-certificates --arch=${{matrix.os.arch}} ${{matrix.os.release}} ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} ${{matrix.os.mirror}} + false && sudo debootstrap --no-merged-usr --verbose --include=sudo,wget,curl,ca-certificates --arch=${{matrix.os.arch}} ${{matrix.os.release}} ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} ${{matrix.os.mirror}} false && if [ -f ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/debootstrap/debootstrap.log ] then tail ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/debootstrap/debootstrap.log fi - name: Update and Upgrade Ubuntu ${{matrix.os.release}} From ca3bd9b0f5c3562608250793685069721bd00f37 Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Wed, 12 Feb 2025 19:59:30 +0300 Subject: [PATCH 274/353] Update Build_wheels_for_cpython37_x86.yml --- .../Build_wheels_for_cpython37_x86.yml | 76 +++++++++---------- 1 file changed, 38 insertions(+), 38 deletions(-) diff --git a/.github/workflows/Build_wheels_for_cpython37_x86.yml b/.github/workflows/Build_wheels_for_cpython37_x86.yml index cf121d80d..fd9120c8c 100644 --- a/.github/workflows/Build_wheels_for_cpython37_x86.yml +++ b/.github/workflows/Build_wheels_for_cpython37_x86.yml @@ -1,4 +1,4 @@ -name: Build wheels for CPython3.7 x86 on Ubuntu24 +name: Build wheels for CPython3.12 x86 on Ububntu16 on: [push, pull_request] @@ -14,19 +14,19 @@ jobs: fail-fast: false matrix: os: - - name: Ubuntu 24 i386 CPython 3.7 + - name: Ubuntu 24+16 i386 CPython 3.12 runs-on: ubuntu-latest matrix: linux arch: i386 tag_arch: i686 - release: noble + release: xenial mirror: http://azure.archive.ubuntu.com/ubuntu version: 1.5.6.3 - # pyver: "3.7" - getpipurl: https://bootstrap.pypa.io/pip/3.7/get-pip.py - pypkg: python3.7 - pypkgadd: python3.7-distutils - pyengine_tag: cp37-cp37m + pyver: "3.11" + getpipurl: https://bootstrap.pypa.io/pip/get-pip.py + pypkg: python3.12 + #pypkgadd: python3.12-distutils + pyengine_tag: cp312-cp3112 libc_tag: manylinux_2_4 steps: - name: Checkout code @@ -42,75 +42,75 @@ jobs: sudo apt purge -y firefox lxd snapd; sudo apt install -y zram-config; sudo apt list --upgradable; - sudo apt upgrade -y; + sudo apt dist-upgrade -y; sudo apt install -f - name: Build source distribution with Ubuntu if: matrix.os.matrix == 'linux' run: | - sudo apt install -y debootstrap qemu-user; + sudo apt install -y devscripts debootstrap qemu-user; pip install build; python -m build --sdist --outdir dist . - name: Debootstrap Ubuntu ${{matrix.os.release}} ${{matrix.os.arch}} if: matrix.os.matrix == 'linux' run: | - false && sudo debootstrap --no-merged-usr --verbose --include=sudo,wget,curl,ca-certificates --arch=${{matrix.os.arch}} ${{matrix.os.release}} ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} ${{matrix.os.mirror}} - false && if [ -f ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/debootstrap/debootstrap.log ] then tail ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/debootstrap/debootstrap.log fi + sudo debootstrap --no-merged-usr --verbose --include=sudo,wget,curl,gnupg,ca-certificates --arch=${{matrix.os.arch}} ${{matrix.os.release}} ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} ${{matrix.os.mirror}} || tail ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/debootstrap/debootstrap.log - name: Update and Upgrade Ubuntu ${{matrix.os.release}} if: matrix.os.matrix == 'linux' run: | - false && sudo mkdir -p ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel - false && sudo mount none ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/proc -t proc - false && sudo mount none ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/dev/pts -t devpts - false && sudo mount none ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/sys -t sysfs - false && echo " deb [trusted=yes] http://packages.rusoft.ru/ppa/rusoft/python ubuntu-${{matrix.os.release}} main" > rusoft-python.list + sudo mkdir -p ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel + 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 - false && sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /usr/bin/apt update - sudo cp -v ./*.list /etc/apt/sources.list.d + 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 /bin/bash -c 'cd /etc/apt/trusted.gpg.d && wget http://packages.rusoft.ru/apt/public.gpg -Orusoft.gpg' - sudo /bin/bash -c 'cd /etc/apt/trusted.gpg.d && wget http://packages.rusoft.ru/apt/public-old.gpg -Orusoft-old.gpg' - sudo /bin/bash -c 'apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys A2CE4BCCC50209DD || true' - sudo /usr/bin/apt update - sudo /usr/bin/apt upgrade -y - sudo /usr/bin/apt -fy install - sudo /usr/bin/apt upgrade -y + 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' + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /usr/bin/apt update + false && sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /usr/bin/apt dist-upgrade -y + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /usr/bin/apt -fy install + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /usr/bin/apt upgrade -y - name: Pepare dev files if: matrix.os.matrix == 'linux' run: | - sudo /usr/bin/apt install -y libzstd-dev + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /usr/bin/apt install -y libzstd-dev - name: Pepare for ${{matrix.os.pypkg}} ${{matrix.os.arch}} if: matrix.os.matrix == 'linux' run: | - sudo /usr/bin/apt install -y ${{matrix.os.pypkg}}-dev gcc pkg-config ${{matrix.os.pypkgadd}} - sudo /bin/bash -c "wget ${{matrix.os.getpipurl}} -O get-pip.py && ${{matrix.os.pypkg}} get-pip.py || true" - sudo /bin/bash -c "${{matrix.os.pypkg}} -m pip install -U 'setuptools<72.0'" - sudo /bin/bash -c "${{matrix.os.pypkg}} -m pip install -U pkginfo" + 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.0'" + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "${{matrix.os.pypkg}} -m pip install -U pkginfo" - name: Pepare source and build wheel for ${{matrix.os.pypkg}} ${{matrix.os.arch}} if: matrix.os.matrix == 'linux' run: | - false && sudo mkdir -p ./build_wheel/ - false && sudo tar -xvf dist/zstd-${{matrix.os.version}}.tar.gz -C ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel/ + sudo mkdir -p ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel/ + sudo tar -xvf dist/zstd-${{matrix.os.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 pkg-config libzstd --modversion - sudo /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}} && ZSTD_ASM=1 ZSTD_SMALL=1 _ZSTD_ASM_BMI2=1 ZSTD_THREADS=1 _ZSTD_EXTERNAL=0 ${{matrix.os.pypkg}} setup.py bdist_wheel clean" + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} pkg-config libzstd --modversion + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}} && ZSTD_ASM=1 _ZSTD_ASM_BMI2=1 ZSTD_THREADS=1 _ZSTD_EXTERNAL=0 python${{matrix.os.pyver}} setup.py bdist_wheel clean" - name: Test wheel for ${{matrix.os.pypkg}} ${{matrix.os.arch}} if: matrix.os.matrix == 'linux' run: | - sudo cp -v glibc-check.sh ./build_wheel/zstd-${{matrix.os.version}}/ - sudo /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.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 /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}} && ${{matrix.os.pypkg}} setup.py test" + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} find /build_wheel/ + sudo cp -v glibc-check.sh ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel/zstd-${{matrix.os.version}}/ + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}}/ ls -lh build/*/zstd.*.so; ldd build/*/zstd.*.so; file build/*/zstd.*.so; bash ./glibc-check.sh build/*/zstd.*.so" + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}} && python${{matrix.os.pyver}} setup.py test" - name: Pepare wheel for upload if: matrix.os.matrix == 'linux' From e756d346bf5c35dd5436aa70d7b690eae9e7aaf8 Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Wed, 12 Feb 2025 20:01:27 +0300 Subject: [PATCH 275/353] Update Build_wheels_for_cpython37_x86_64.yml --- .../workflows/Build_wheels_for_cpython37_x86_64.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/Build_wheels_for_cpython37_x86_64.yml b/.github/workflows/Build_wheels_for_cpython37_x86_64.yml index dc12f3f76..8d012f074 100644 --- a/.github/workflows/Build_wheels_for_cpython37_x86_64.yml +++ b/.github/workflows/Build_wheels_for_cpython37_x86_64.yml @@ -1,4 +1,4 @@ -name: Build wheels for CPython3.7 x86_64 +name: Build wheels for CPython3.7 x86_64 on Ubuntu24 on: [push, pull_request] @@ -19,10 +19,10 @@ jobs: matrix: linux arch: amd64 tag_arch: x86_64 - release: xenial + release: noble mirror: http://azure.archive.ubuntu.com/ubuntu version: 1.5.6.3 - pyver: "3.7" + # pyver: "3.7" getpipurl: https://bootstrap.pypa.io/pip/3.7/get-pip.py pypkg: python3.7 pypkgadd: python3.7-distutils @@ -100,12 +100,12 @@ jobs: sudo tar -xvf dist/zstd-${{matrix.os.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}} /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}} && ZSTD_ASM=1 _ZSTD_ASM_BMI2=1 ZSTD_THREADS=1 _ZSTD_EXTERNAL=0 python${{matrix.os.pyver}} setup.py bdist_wheel clean" + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}} && ZSTD_ASM=1 _ZSTD_ASM_BMI2=1 ZSTD_THREADS=1 _ZSTD_EXTERNAL=0 ${{matrix.os.pypkg}} setup.py bdist_wheel clean" - name: Test wheel for ${{matrix.os.pypkg}} ${{matrix.os.arch}} if: matrix.os.matrix == 'linux' run: | - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}} && python${{matrix.os.pyver}} setup.py test" + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}} && ${{matrix.os.pypkg}} setup.py test" - name: Pepare wheel for upload if: matrix.os.matrix == 'linux' From 44689e1043fb07c531601edf3c454dc0d4dca841 Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Wed, 12 Feb 2025 20:03:18 +0300 Subject: [PATCH 276/353] Update Build_wheels_for_cpython37_x86_64.yml --- .github/workflows/Build_wheels_for_cpython37_x86_64.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.github/workflows/Build_wheels_for_cpython37_x86_64.yml b/.github/workflows/Build_wheels_for_cpython37_x86_64.yml index 8d012f074..bdfcd5615 100644 --- a/.github/workflows/Build_wheels_for_cpython37_x86_64.yml +++ b/.github/workflows/Build_wheels_for_cpython37_x86_64.yml @@ -105,6 +105,10 @@ jobs: - name: Test wheel for ${{matrix.os.pypkg}} ${{matrix.os.arch}} if: matrix.os.matrix == 'linux' run: | + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} find /build_wheel/ + sudo cp -v glibc-check.sh ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel/zstd-${{matrix.os.version}}/ + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}}/ ls -lh build/*/zstd.*.so; ldd build/*/zstd.*.so ; file build/*/zstd.*.so; bash ./glibc-check.sh build/*/zstd.*.so" + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}} && ${{matrix.os.pypkg}} setup.py test" - name: Pepare wheel for upload From 11af8a990427817485b129e9e959358fceece4c3 Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Wed, 12 Feb 2025 21:20:03 +0300 Subject: [PATCH 277/353] Update Build_wheels_for_cpython312_x86_u16.yml --- .github/workflows/Build_wheels_for_cpython312_x86_u16.yml | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/.github/workflows/Build_wheels_for_cpython312_x86_u16.yml b/.github/workflows/Build_wheels_for_cpython312_x86_u16.yml index f37615a2d..ab2dcab7f 100644 --- a/.github/workflows/Build_wheels_for_cpython312_x86_u16.yml +++ b/.github/workflows/Build_wheels_for_cpython312_x86_u16.yml @@ -22,7 +22,7 @@ jobs: release: xenial mirror: http://azure.archive.ubuntu.com/ubuntu version: 1.5.6.3 - pyver: "3.12" + #pyver: "3.12" getpipurl: https://bootstrap.pypa.io/pip/get-pip.py pypkg: python3.12 #pypkgadd: python3.12-distutils @@ -93,7 +93,6 @@ jobs: 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'" sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "${{matrix.os.pypkg}} -m pip install -U pkginfo" - - name: Pepare source and build wheel for ${{matrix.os.pypkg}} ${{matrix.os.arch}} if: matrix.os.matrix == 'linux' @@ -102,7 +101,7 @@ jobs: sudo tar -xvf dist/zstd-${{matrix.os.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}} /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}} && ZSTD_ASM=1 _ZSTD_ASM_BMI2=1 ZSTD_THREADS=1 _ZSTD_EXTERNAL=0 ${{matrix.os.pypkg}} setup.py bdist_wheel clean" + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}} && ZSTD_ASM=1 _ZSTD_ASM_BMI2=1 ZSTD_THREADS=1 _ZSTD_EXTERNAL=0 ${{matrix.os.pypkg}} setup.py bdist_wheel " - name: Test wheel for ${{matrix.os.pypkg}} ${{matrix.os.arch}} if: matrix.os.matrix == 'linux' From eef0503e31b5ae8ae45e182588723c10822c5733 Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Wed, 12 Feb 2025 21:21:40 +0300 Subject: [PATCH 278/353] Update Build_wheels_for_cpython312_x86_64_u20.yml --- .../workflows/Build_wheels_for_cpython312_x86_64_u20.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/Build_wheels_for_cpython312_x86_64_u20.yml b/.github/workflows/Build_wheels_for_cpython312_x86_64_u20.yml index ca11b45bd..65d52c819 100644 --- a/.github/workflows/Build_wheels_for_cpython312_x86_64_u20.yml +++ b/.github/workflows/Build_wheels_for_cpython312_x86_64_u20.yml @@ -1,4 +1,4 @@ -name: Build wheels for CPython3.12 x86_64 on Ubuntu20 +name: Build wheels for CPython3.12 x86_64 on Ubuntu24 on: [push, pull_request] @@ -14,12 +14,12 @@ jobs: fail-fast: false matrix: os: - - name: Ubuntu 24+20 amd64 CPython 3.12 + - name: Ubuntu 24+24 amd64 CPython 3.12 runs-on: ubuntu-latest matrix: linux arch: amd64 tag_arch: x86_64 - release: focal + release: noble mirror: http://azure.archive.ubuntu.com/ubuntu version: 1.5.6.3 pyver: "3.12" From 75b9a719e0bba99a46314c51236ff09e4c3189a7 Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Thu, 13 Feb 2025 10:27:03 +0300 Subject: [PATCH 279/353] Update Build_wheels_for_cpython37_x86_64.yml --- .../workflows/Build_wheels_for_cpython37_x86_64.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/Build_wheels_for_cpython37_x86_64.yml b/.github/workflows/Build_wheels_for_cpython37_x86_64.yml index bdfcd5615..2f238ccc7 100644 --- a/.github/workflows/Build_wheels_for_cpython37_x86_64.yml +++ b/.github/workflows/Build_wheels_for_cpython37_x86_64.yml @@ -14,7 +14,7 @@ jobs: fail-fast: false matrix: os: - - name: Ubuntu 24+16 amd64 CPython 3.7 + - name: Ubuntu 24 amd64 CPython 3.7 runs-on: ubuntu-latest matrix: linux arch: amd64 @@ -64,11 +64,11 @@ 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 + false && echo " deb [trusted=yes] http://packages.rusoft.ru/ppa/rusoft/python ubuntu-${{matrix.os.release}} main" > rusoft-python.list + false && echo " deb [trusted=yes] http://packages.rusoft.ru/ppa/rusoft/backports ubuntu-${{matrix.os.release}} main" > rusoft-backports.list + false && 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 find ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} -iname apt + 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 From 8e7838746818c9bf77b476cd3d09fee99586dabe Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Thu, 13 Feb 2025 12:41:54 +0300 Subject: [PATCH 280/353] Update Build_wheels_for_cpython37_x86_64.yml --- .github/workflows/Build_wheels_for_cpython37_x86_64.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/Build_wheels_for_cpython37_x86_64.yml b/.github/workflows/Build_wheels_for_cpython37_x86_64.yml index 2f238ccc7..fd6a1f8a9 100644 --- a/.github/workflows/Build_wheels_for_cpython37_x86_64.yml +++ b/.github/workflows/Build_wheels_for_cpython37_x86_64.yml @@ -100,7 +100,7 @@ jobs: sudo tar -xvf dist/zstd-${{matrix.os.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}} /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}} && ZSTD_ASM=1 _ZSTD_ASM_BMI2=1 ZSTD_THREADS=1 _ZSTD_EXTERNAL=0 ${{matrix.os.pypkg}} setup.py bdist_wheel clean" + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}} && ZSTD_ASM=1 _ZSTD_ASM_BMI2=1 ZSTD_THREADS=1 _ZSTD_EXTERNAL=0 ${{matrix.os.pypkg}} setup.py bdist_wheel" - name: Test wheel for ${{matrix.os.pypkg}} ${{matrix.os.arch}} if: matrix.os.matrix == 'linux' From fe5b2a5f87d4025c427df524c1f914f903005713 Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Thu, 13 Feb 2025 12:44:36 +0300 Subject: [PATCH 281/353] Update Build_wheels_for_cpython310_x86_64_u20.yml --- .../workflows/Build_wheels_for_cpython310_x86_64_u20.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/Build_wheels_for_cpython310_x86_64_u20.yml b/.github/workflows/Build_wheels_for_cpython310_x86_64_u20.yml index d4e962cd7..3ccff1483 100644 --- a/.github/workflows/Build_wheels_for_cpython310_x86_64_u20.yml +++ b/.github/workflows/Build_wheels_for_cpython310_x86_64_u20.yml @@ -22,7 +22,7 @@ jobs: release: focal mirror: http://azure.archive.ubuntu.com/ubuntu version: 1.5.6.3 - pyver: "3.10" + # pyver: "3.10" getpipurl: https://bootstrap.pypa.io/pip/get-pip.py pypkg: python3.10 pypkgadd: python3.10-distutils @@ -100,7 +100,7 @@ jobs: sudo tar -xvf dist/zstd-${{matrix.os.version}}.tar.gz -C /build_wheel/ false && sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} env sudo pkg-config libzstd --modversion - sudo /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}} && ZSTD_ASM=1 _ZSTD_SMALL=1 _ZSTD_ASM_BMI2=1 ZSTD_THREADS=1 _ZSTD_EXTERNAL=0 python${{matrix.os.pyver}} setup.py bdist_wheel" + sudo /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}} && ZSTD_ASM=1 _ZSTD_SMALL=1 _ZSTD_ASM_BMI2=1 ZSTD_THREADS=1 _ZSTD_EXTERNAL=0 ${{matrix.os.pypkg}} setup.py bdist_wheel" - name: Test wheel for ${{matrix.os.pypkg}} ${{matrix.os.arch}} if: matrix.os.matrix == 'linux' @@ -108,7 +108,7 @@ jobs: sudo find /build_wheel/ sudo cp -v glibc-check.sh ./build_wheel/zstd-${{matrix.os.version}}/ sudo /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}}/; 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 /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}} && python${{matrix.os.pyver}} setup.py test" + sudo /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}} && ${{matrix.os.pypkg}} setup.py test" - name: Pepare wheel for upload if: matrix.os.matrix == 'linux' From 535905a43bf2ed5e4c31c8e143139fdca781c863 Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Thu, 13 Feb 2025 12:47:47 +0300 Subject: [PATCH 282/353] Rename Build_wheels_for_cpython37_x86_64.yml to Build_wheels_for_cpython37_x86_64_u24.yml --- ...hon37_x86_64.yml => Build_wheels_for_cpython37_x86_64_u24.yml} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename .github/workflows/{Build_wheels_for_cpython37_x86_64.yml => Build_wheels_for_cpython37_x86_64_u24.yml} (100%) diff --git a/.github/workflows/Build_wheels_for_cpython37_x86_64.yml b/.github/workflows/Build_wheels_for_cpython37_x86_64_u24.yml similarity index 100% rename from .github/workflows/Build_wheels_for_cpython37_x86_64.yml rename to .github/workflows/Build_wheels_for_cpython37_x86_64_u24.yml From 778b41f55d73f6ab078011abbeeabf807900423d Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Thu, 13 Feb 2025 12:52:45 +0300 Subject: [PATCH 283/353] Update and rename Build_wheels_for_cpython312_x86_64_u20.yml to Build_wheels_for_cpython312_x86_64_u24.yml --- ...4_u20.yml => Build_wheels_for_cpython312_x86_64_u24.yml} | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) rename .github/workflows/{Build_wheels_for_cpython312_x86_64_u20.yml => Build_wheels_for_cpython312_x86_64_u24.yml} (95%) diff --git a/.github/workflows/Build_wheels_for_cpython312_x86_64_u20.yml b/.github/workflows/Build_wheels_for_cpython312_x86_64_u24.yml similarity index 95% rename from .github/workflows/Build_wheels_for_cpython312_x86_64_u20.yml rename to .github/workflows/Build_wheels_for_cpython312_x86_64_u24.yml index 65d52c819..2be405057 100644 --- a/.github/workflows/Build_wheels_for_cpython312_x86_64_u20.yml +++ b/.github/workflows/Build_wheels_for_cpython312_x86_64_u24.yml @@ -65,10 +65,10 @@ jobs: 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 false && 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 + false && echo " deb [trusted=yes] http://packages.rusoft.ru/ppa/rusoft/backports ubuntu-${{matrix.os.release}} main" > rusoft-backports.list + false && 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 find ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} -iname apt + 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 From 16e10a8c146bdc00950b43113c112ed8b2bc8655 Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Thu, 13 Feb 2025 12:55:15 +0300 Subject: [PATCH 284/353] Update Build_wheels_for_cpython310_x86_u16.yml --- .github/workflows/Build_wheels_for_cpython310_x86_u16.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/Build_wheels_for_cpython310_x86_u16.yml b/.github/workflows/Build_wheels_for_cpython310_x86_u16.yml index 8ccad7b78..8a9679cce 100644 --- a/.github/workflows/Build_wheels_for_cpython310_x86_u16.yml +++ b/.github/workflows/Build_wheels_for_cpython310_x86_u16.yml @@ -1,4 +1,4 @@ -name: Build wheels for CPython3.10 x86 on Ububntu16 +name: Build wheels for CPython3.10 x86 on Ubuntu16 on: [push, pull_request] From 1bb47bcc9b769ac558b0b4b803c094aa51a705df Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Thu, 13 Feb 2025 13:01:26 +0300 Subject: [PATCH 285/353] Update Build_wheels_for_cpython37_x86_64_u24.yml --- .github/workflows/Build_wheels_for_cpython37_x86_64_u24.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/Build_wheels_for_cpython37_x86_64_u24.yml b/.github/workflows/Build_wheels_for_cpython37_x86_64_u24.yml index fd6a1f8a9..0305dc8f6 100644 --- a/.github/workflows/Build_wheels_for_cpython37_x86_64_u24.yml +++ b/.github/workflows/Build_wheels_for_cpython37_x86_64_u24.yml @@ -48,7 +48,7 @@ jobs: - name: Build source distribution with Ubuntu if: matrix.os.matrix == 'linux' run: | - sudo apt install -y devscripts debootstrap qemu-user; + sudo apt install -y debootstrap qemu-user; pip install build; python -m build --sdist --outdir dist . @@ -100,7 +100,7 @@ jobs: sudo tar -xvf dist/zstd-${{matrix.os.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}} /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}} && ZSTD_ASM=1 _ZSTD_ASM_BMI2=1 ZSTD_THREADS=1 _ZSTD_EXTERNAL=0 ${{matrix.os.pypkg}} setup.py bdist_wheel" + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}}; && ZSTD_ASM=1 _ZSTD_ASM_BMI2=1 ZSTD_THREADS=1 _ZSTD_EXTERNAL=0 ${{matrix.os.pypkg}} setup.py bdist_wheel" - name: Test wheel for ${{matrix.os.pypkg}} ${{matrix.os.arch}} if: matrix.os.matrix == 'linux' @@ -109,7 +109,7 @@ jobs: sudo cp -v glibc-check.sh ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel/zstd-${{matrix.os.version}}/ sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}}/ ls -lh build/*/zstd.*.so; ldd build/*/zstd.*.so ; file build/*/zstd.*.so; bash ./glibc-check.sh build/*/zstd.*.so" - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}} && ${{matrix.os.pypkg}} setup.py test" + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}}; && ${{matrix.os.pypkg}} setup.py test" - name: Pepare wheel for upload if: matrix.os.matrix == 'linux' From 757bff9bdf3f98140403b02b7d253947baba4365 Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Thu, 13 Feb 2025 13:04:38 +0300 Subject: [PATCH 286/353] Update Build_wheels_for_cpython312_x86_64_u24.yml --- .github/workflows/Build_wheels_for_cpython312_x86_64_u24.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/Build_wheels_for_cpython312_x86_64_u24.yml b/.github/workflows/Build_wheels_for_cpython312_x86_64_u24.yml index 2be405057..df49389c2 100644 --- a/.github/workflows/Build_wheels_for_cpython312_x86_64_u24.yml +++ b/.github/workflows/Build_wheels_for_cpython312_x86_64_u24.yml @@ -48,7 +48,7 @@ jobs: - name: Build source distribution with Ubuntu if: matrix.os.matrix == 'linux' run: | - sudo apt install -y devscripts debootstrap qemu-user; + sudo apt install -y debootstrap qemu-user; pip install build; python -m build --sdist --outdir dist . From 4ec14f8af8daff7974f3ab45266170cca2340a2c Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Thu, 13 Feb 2025 13:06:39 +0300 Subject: [PATCH 287/353] Update Build_wheels_for_cpython312_x86_64_u24.yml --- .github/workflows/Build_wheels_for_cpython312_x86_64_u24.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/Build_wheels_for_cpython312_x86_64_u24.yml b/.github/workflows/Build_wheels_for_cpython312_x86_64_u24.yml index df49389c2..067c29817 100644 --- a/.github/workflows/Build_wheels_for_cpython312_x86_64_u24.yml +++ b/.github/workflows/Build_wheels_for_cpython312_x86_64_u24.yml @@ -90,8 +90,8 @@ jobs: 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}} /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'" + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "wget ${{matrix.os.getpipurl}} -O get-pip.py && sudo ${{matrix.os.pypkg}} get-pip.py || true" + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "sudo ${{matrix.os.pypkg}} -m pip install -U 'setuptools<72.0'" - name: Pepare source and build wheel for ${{matrix.os.pypkg}} ${{matrix.os.arch}} if: matrix.os.matrix == 'linux' From b89574abc7c8df3953975fcd2ef57a3dfc5095f9 Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Thu, 13 Feb 2025 13:42:52 +0300 Subject: [PATCH 288/353] Update Build_wheels_for_cpython310_x86_64_u20.yml --- .github/workflows/Build_wheels_for_cpython310_x86_64_u20.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/Build_wheels_for_cpython310_x86_64_u20.yml b/.github/workflows/Build_wheels_for_cpython310_x86_64_u20.yml index 3ccff1483..cd0ac4c33 100644 --- a/.github/workflows/Build_wheels_for_cpython310_x86_64_u20.yml +++ b/.github/workflows/Build_wheels_for_cpython310_x86_64_u20.yml @@ -34,7 +34,7 @@ jobs: with: submodules: 'recursive' - - name: Update and upgrade Ubuntu 24 + - name: Update and upgrade Ubuntu 20 if: matrix.os.matrix == 'linux' run: | sudo which apt @@ -48,7 +48,7 @@ jobs: - name: Build source distribution with Ubuntu if: matrix.os.matrix == 'linux' run: | - sudo apt install -y devscripts debootstrap qemu-user; + sudo apt install -y debootstrap qemu-user; pip install build; python -m build --sdist --outdir dist . From 85548c38f4384e193d082bb62869d91b980e8a8e Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Thu, 13 Feb 2025 13:45:05 +0300 Subject: [PATCH 289/353] Update Build_wheels_for_cpython310_x86_64_u20.yml --- .github/workflows/Build_wheels_for_cpython310_x86_64_u20.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/Build_wheels_for_cpython310_x86_64_u20.yml b/.github/workflows/Build_wheels_for_cpython310_x86_64_u20.yml index cd0ac4c33..f4c103aa7 100644 --- a/.github/workflows/Build_wheels_for_cpython310_x86_64_u20.yml +++ b/.github/workflows/Build_wheels_for_cpython310_x86_64_u20.yml @@ -91,7 +91,7 @@ jobs: run: | sudo /usr/bin/apt install -y ${{matrix.os.pypkg}}-dev gcc pkg-config ${{matrix.os.pypkgadd}} sudo /bin/bash -c "wget ${{matrix.os.getpipurl}} -O get-pip.py && ${{matrix.os.pypkg}} get-pip.py || true" - sudo /bin/bash -c "${{matrix.os.pypkg}} -m pip install -U 'setuptools<=71.0.0'" + sudo /bin/bash -c "${{matrix.os.pypkg}} -m pip install -U 'setuptools==58.2.0'" - name: Pepare source and build wheel for ${{matrix.os.pypkg}} ${{matrix.os.arch}} if: matrix.os.matrix == 'linux' From cfc36347a1ed5575a7a13b1c4457861bdbe010c6 Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Thu, 13 Feb 2025 14:15:08 +0300 Subject: [PATCH 290/353] Update Build_wheels_for_cpython312_x86_u16.yml --- .github/workflows/Build_wheels_for_cpython312_x86_u16.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/Build_wheels_for_cpython312_x86_u16.yml b/.github/workflows/Build_wheels_for_cpython312_x86_u16.yml index ab2dcab7f..d408f7f42 100644 --- a/.github/workflows/Build_wheels_for_cpython312_x86_u16.yml +++ b/.github/workflows/Build_wheels_for_cpython312_x86_u16.yml @@ -26,7 +26,7 @@ jobs: getpipurl: https://bootstrap.pypa.io/pip/get-pip.py pypkg: python3.12 #pypkgadd: python3.12-distutils - pyengine_tag: cp312-cp3112 + pyengine_tag: cp312-cp312 libc_tag: manylinux_2_4 steps: - name: Checkout code @@ -106,7 +106,7 @@ jobs: - name: Test wheel for ${{matrix.os.pypkg}} ${{matrix.os.arch}} if: matrix.os.matrix == 'linux' run: | - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} find /build_wheel/ + false && sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} find /build_wheel/ sudo cp -v glibc-check.sh ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel/zstd-${{matrix.os.version}}/ sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}}/ ls -lh build/*/zstd.*.so; ldd build/*/zstd.*.so; file build/*/zstd.*.so; bash ./glibc-check.sh build/*/zstd.*.so" sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}} && ${{matrix.os.pypkg}} setup.py test" From c7c3ec7f68f5682e44458baaceee9166ae23ddd3 Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Thu, 13 Feb 2025 14:42:28 +0300 Subject: [PATCH 291/353] Update Build_wheels_for_cpython310_x86_64_u20.yml --- .github/workflows/Build_wheels_for_cpython310_x86_64_u20.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/Build_wheels_for_cpython310_x86_64_u20.yml b/.github/workflows/Build_wheels_for_cpython310_x86_64_u20.yml index f4c103aa7..a2e1fa184 100644 --- a/.github/workflows/Build_wheels_for_cpython310_x86_64_u20.yml +++ b/.github/workflows/Build_wheels_for_cpython310_x86_64_u20.yml @@ -106,7 +106,7 @@ jobs: if: matrix.os.matrix == 'linux' run: | sudo find /build_wheel/ - sudo cp -v glibc-check.sh ./build_wheel/zstd-${{matrix.os.version}}/ + sudo cp -v glibc-check.sh ./build_wheel/zstd-${{matrix.os.version}}/glibc-check.sh sudo /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}}/; 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 /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}} && ${{matrix.os.pypkg}} setup.py test" From 731522a8f5eb643aa17173047946f740aa940967 Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Thu, 13 Feb 2025 15:44:33 +0300 Subject: [PATCH 292/353] Update Build_wheels_for_cpython37_x86_64_u24.yml --- .github/workflows/Build_wheels_for_cpython37_x86_64_u24.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/Build_wheels_for_cpython37_x86_64_u24.yml b/.github/workflows/Build_wheels_for_cpython37_x86_64_u24.yml index 0305dc8f6..80ef778c9 100644 --- a/.github/workflows/Build_wheels_for_cpython37_x86_64_u24.yml +++ b/.github/workflows/Build_wheels_for_cpython37_x86_64_u24.yml @@ -100,7 +100,7 @@ jobs: sudo tar -xvf dist/zstd-${{matrix.os.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}} /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}}; && ZSTD_ASM=1 _ZSTD_ASM_BMI2=1 ZSTD_THREADS=1 _ZSTD_EXTERNAL=0 ${{matrix.os.pypkg}} setup.py bdist_wheel" + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}} && ZSTD_ASM=1 _ZSTD_ASM_BMI2=1 ZSTD_THREADS=1 _ZSTD_EXTERNAL=0 ${{matrix.os.pypkg}} setup.py bdist_wheel" - name: Test wheel for ${{matrix.os.pypkg}} ${{matrix.os.arch}} if: matrix.os.matrix == 'linux' From 2cc3ce64cd7a08466c238c678e1f388f7d40c0e1 Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Thu, 13 Feb 2025 15:47:38 +0300 Subject: [PATCH 293/353] Update Build_wheels_for_cpython312_x86_64_u24.yml --- .github/workflows/Build_wheels_for_cpython312_x86_64_u24.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/Build_wheels_for_cpython312_x86_64_u24.yml b/.github/workflows/Build_wheels_for_cpython312_x86_64_u24.yml index 067c29817..70ee887c5 100644 --- a/.github/workflows/Build_wheels_for_cpython312_x86_64_u24.yml +++ b/.github/workflows/Build_wheels_for_cpython312_x86_64_u24.yml @@ -26,6 +26,7 @@ jobs: getpipurl: https://bootstrap.pypa.io/pip/get-pip.py pypkg: python3.12 #pypkgadd: python3.12-distutils + pypkgadd: python3-pip pyengine_tag: cp312-cp312 libc_tag: manylinux_2_4 steps: @@ -90,7 +91,7 @@ jobs: 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}} /bin/bash -c "wget ${{matrix.os.getpipurl}} -O get-pip.py && sudo ${{matrix.os.pypkg}} get-pip.py || true" + false && sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "wget ${{matrix.os.getpipurl}} -O get-pip.py && sudo ${{matrix.os.pypkg}} get-pip.py || true" sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "sudo ${{matrix.os.pypkg}} -m pip install -U 'setuptools<72.0'" - name: Pepare source and build wheel for ${{matrix.os.pypkg}} ${{matrix.os.arch}} From 9f05b20303bd3a9af400ef5fb0d13ea67016037f Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Thu, 13 Feb 2025 16:58:36 +0300 Subject: [PATCH 294/353] Update Build_wheels_for_cpython312_x86_u16.yml --- .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 d408f7f42..4019dbe5c 100644 --- a/.github/workflows/Build_wheels_for_cpython312_x86_u16.yml +++ b/.github/workflows/Build_wheels_for_cpython312_x86_u16.yml @@ -67,7 +67,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 + false && 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 e762efb0b2e70b40da2a46542cdf52746804d5e9 Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Thu, 13 Feb 2025 17:23:28 +0300 Subject: [PATCH 295/353] Update Build_wheels_for_cpython310_x86_64_u20.yml --- .github/workflows/Build_wheels_for_cpython310_x86_64_u20.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/Build_wheels_for_cpython310_x86_64_u20.yml b/.github/workflows/Build_wheels_for_cpython310_x86_64_u20.yml index a2e1fa184..21f1ebb25 100644 --- a/.github/workflows/Build_wheels_for_cpython310_x86_64_u20.yml +++ b/.github/workflows/Build_wheels_for_cpython310_x86_64_u20.yml @@ -106,7 +106,7 @@ jobs: if: matrix.os.matrix == 'linux' run: | sudo find /build_wheel/ - sudo cp -v glibc-check.sh ./build_wheel/zstd-${{matrix.os.version}}/glibc-check.sh + sudo cp -v glibc-check.sh /build_wheel/zstd-${{matrix.os.version}}/glibc-check.sh sudo /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}}/; 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 /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}} && ${{matrix.os.pypkg}} setup.py test" From a17005ab41db987ce67ada15062c2f1058247af6 Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Thu, 13 Feb 2025 18:49:37 +0300 Subject: [PATCH 296/353] Update Build_wheels_for_cpython310_x86_64_u20.yml --- .github/workflows/Build_wheels_for_cpython310_x86_64_u20.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/Build_wheels_for_cpython310_x86_64_u20.yml b/.github/workflows/Build_wheels_for_cpython310_x86_64_u20.yml index 21f1ebb25..b5c033925 100644 --- a/.github/workflows/Build_wheels_for_cpython310_x86_64_u20.yml +++ b/.github/workflows/Build_wheels_for_cpython310_x86_64_u20.yml @@ -113,7 +113,7 @@ jobs: - name: Pepare wheel for upload if: matrix.os.matrix == 'linux' run: | - sudo cp -v ./build_wheel/zstd-${{matrix.os.version}}/dist/* ./dist + sudo cp -v /build_wheel/zstd-${{matrix.os.version}}/dist/* ./dist sudo ls -lh ./dist/* sudo mv -v ./dist/"zstd-${{matrix.os.version}}-${{matrix.os.pyengine_tag}}-linux_${{matrix.os.tag_arch}}.whl" ./dist/"zstd-${{matrix.os.version}}-${{matrix.os.pyengine_tag}}-${{matrix.os.libc_tag}}_${{matrix.os.tag_arch}}.whl" sudo rm -vf ./dist/*.tar.gz From 98ef1a78ccb9dafe6a45cfc354267f041ef22be0 Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Thu, 13 Feb 2025 18:53:55 +0300 Subject: [PATCH 297/353] Update Build_wheels_for_cpython312_x86_64_u24.yml --- .github/workflows/Build_wheels_for_cpython312_x86_64_u24.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/Build_wheels_for_cpython312_x86_64_u24.yml b/.github/workflows/Build_wheels_for_cpython312_x86_64_u24.yml index 70ee887c5..b7b878377 100644 --- a/.github/workflows/Build_wheels_for_cpython312_x86_64_u24.yml +++ b/.github/workflows/Build_wheels_for_cpython312_x86_64_u24.yml @@ -26,7 +26,7 @@ jobs: getpipurl: https://bootstrap.pypa.io/pip/get-pip.py pypkg: python3.12 #pypkgadd: python3.12-distutils - pypkgadd: python3-pip + #pypkgadd: python3-pip pyengine_tag: cp312-cp312 libc_tag: manylinux_2_4 steps: From 5eeb82f0d01634fcafce79ea2f0f9727793a483a Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Thu, 13 Feb 2025 18:55:23 +0300 Subject: [PATCH 298/353] Update Build_wheels_for_cpython312_x86_64_u24.yml --- .github/workflows/Build_wheels_for_cpython312_x86_64_u24.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/Build_wheels_for_cpython312_x86_64_u24.yml b/.github/workflows/Build_wheels_for_cpython312_x86_64_u24.yml index b7b878377..e8dc64d98 100644 --- a/.github/workflows/Build_wheels_for_cpython312_x86_64_u24.yml +++ b/.github/workflows/Build_wheels_for_cpython312_x86_64_u24.yml @@ -91,7 +91,7 @@ jobs: 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}} - false && sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "wget ${{matrix.os.getpipurl}} -O get-pip.py && sudo ${{matrix.os.pypkg}} get-pip.py || true" + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "wget ${{matrix.os.getpipurl}} -O get-pip.py && sudo ${{matrix.os.pypkg}} get-pip.py || true" sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "sudo ${{matrix.os.pypkg}} -m pip install -U 'setuptools<72.0'" - name: Pepare source and build wheel for ${{matrix.os.pypkg}} ${{matrix.os.arch}} From 09bdb63f0b5820103d0aa833db15333764b554c1 Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Thu, 13 Feb 2025 19:46:13 +0300 Subject: [PATCH 299/353] Update Build_wheels_for_cpython312_x86_64_u24.yml --- .../workflows/Build_wheels_for_cpython312_x86_64_u24.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/Build_wheels_for_cpython312_x86_64_u24.yml b/.github/workflows/Build_wheels_for_cpython312_x86_64_u24.yml index e8dc64d98..24fa61136 100644 --- a/.github/workflows/Build_wheels_for_cpython312_x86_64_u24.yml +++ b/.github/workflows/Build_wheels_for_cpython312_x86_64_u24.yml @@ -101,15 +101,15 @@ jobs: sudo tar -xvf dist/zstd-${{matrix.os.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}} /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}} && ZSTD_ASM=1 _ZSTD_ASM_BMI2=1 ZSTD_THREADS=1 _ZSTD_EXTERNAL=0 python${{matrix.os.pyver}} setup.py bdist_wheel" + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}} && ZSTD_ASM=1 _ZSTD_ASM_BMI2=1 ZSTD_THREADS=1 _ZSTD_EXTERNAL=0 ${{matrix.os.pypkg}} setup.py bdist_wheel" - name: Test wheel for ${{matrix.os.pypkg}} ${{matrix.os.arch}} if: matrix.os.matrix == 'linux' run: | sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} find /build_wheel/ sudo cp -v glibc-check.sh ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel/zstd-${{matrix.os.version}}/ - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}}/; 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-${{matrix.os.version}} && python${{matrix.os.pyver}} setup.py test" + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "echo cd /build_wheel/zstd-${{matrix.os.version}}/; 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-${{matrix.os.version}} && ${{matrix.os.pypkg}} setup.py test" - name: Pepare wheel for upload if: matrix.os.matrix == 'linux' From 3fde224251a7e4ebf78760895beb9c27d0c33639 Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Fri, 14 Feb 2025 10:51:50 +0300 Subject: [PATCH 300/353] Update Build_wheels_for_cpython36_x86.yml --- .github/workflows/Build_wheels_for_cpython36_x86.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/Build_wheels_for_cpython36_x86.yml b/.github/workflows/Build_wheels_for_cpython36_x86.yml index 33c714592..ea9919679 100644 --- a/.github/workflows/Build_wheels_for_cpython36_x86.yml +++ b/.github/workflows/Build_wheels_for_cpython36_x86.yml @@ -22,7 +22,7 @@ jobs: release: xenial mirror: http://azure.archive.ubuntu.com/ubuntu version: 1.5.6.3 - pyver: "3.6" + # pyver: "3.6" getpipurl: https://bootstrap.pypa.io/pip/3.6/get-pip.py pypkg: python3.6 pypkgadd: python3.6-distutils @@ -68,7 +68,7 @@ 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 - sudo find ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} -iname apt + 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 @@ -102,12 +102,12 @@ jobs: sudo tar -xvf dist/zstd-${{matrix.os.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}} /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}} && ZSTD_ASM=1 _ZSTD_ASM_BMI2=1 ZSTD_THREADS=1 _ZSTD_EXTERNAL=0 python${{matrix.os.pyver}} setup.py bdist_wheel clean" + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}} && ZSTD_ASM=1 _ZSTD_ASM_BMI2=1 ZSTD_THREADS=1 _ZSTD_EXTERNAL=0 ${{matrix.os.pypkg}} setup.py bdist_wheel clean" - name: Test wheel for ${{matrix.os.pypkg}} ${{matrix.os.arch}} if: matrix.os.matrix == 'linux' run: | - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}} && python${{matrix.os.pyver}} setup.py test" + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}} && ${{matrix.os.pypkg}} setup.py test" - name: Pepare wheel for upload if: matrix.os.matrix == 'linux' From da065bd455adc102e55a8ba88a5064fd7701949c Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Fri, 14 Feb 2025 11:42:53 +0300 Subject: [PATCH 301/353] Update Build_wheels_for_cpython37_x86_64_u24.yml --- .github/workflows/Build_wheels_for_cpython37_x86_64_u24.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/Build_wheels_for_cpython37_x86_64_u24.yml b/.github/workflows/Build_wheels_for_cpython37_x86_64_u24.yml index 80ef778c9..d20325c45 100644 --- a/.github/workflows/Build_wheels_for_cpython37_x86_64_u24.yml +++ b/.github/workflows/Build_wheels_for_cpython37_x86_64_u24.yml @@ -27,7 +27,7 @@ jobs: pypkg: python3.7 pypkgadd: python3.7-distutils pyengine_tag: cp37-cp37m - libc_tag: manylinux_2_17 + libc_tag: manylinux_2_4 steps: - name: Checkout code uses: actions/checkout@v4 @@ -105,9 +105,9 @@ jobs: - name: Test wheel for ${{matrix.os.pypkg}} ${{matrix.os.arch}} if: matrix.os.matrix == 'linux' run: | - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} find /build_wheel/ + false && sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} find /build_wheel/ sudo cp -v glibc-check.sh ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel/zstd-${{matrix.os.version}}/ - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}}/ ls -lh build/*/zstd.*.so; ldd build/*/zstd.*.so ; file build/*/zstd.*.so; bash ./glibc-check.sh build/*/zstd.*.so" + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}}/; echo LLH; ls -lh build/*/zstd.*.so; ldd build/*/zstd.*.so ; file build/*/zstd.*.so; bash ./glibc-check.sh build/*/zstd.*.so" sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}}; && ${{matrix.os.pypkg}} setup.py test" From a6954c707ca85b9f8541fd0e4813105bf18a0d11 Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Fri, 14 Feb 2025 11:46:42 +0300 Subject: [PATCH 302/353] Update Build_wheels_for_cpython312_x86_64_u24.yml --- .github/workflows/Build_wheels_for_cpython312_x86_64_u24.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/Build_wheels_for_cpython312_x86_64_u24.yml b/.github/workflows/Build_wheels_for_cpython312_x86_64_u24.yml index 24fa61136..7dce118f2 100644 --- a/.github/workflows/Build_wheels_for_cpython312_x86_64_u24.yml +++ b/.github/workflows/Build_wheels_for_cpython312_x86_64_u24.yml @@ -71,7 +71,7 @@ jobs: 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 + sudo cp -v ./deadsnakes.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' From 4f0b8ab405782f2fba63e2fdfd86fbd5f4fe4bf9 Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Fri, 14 Feb 2025 12:09:14 +0300 Subject: [PATCH 303/353] Update Build_wheels_for_cpython312_x86_64_u24.yml --- .github/workflows/Build_wheels_for_cpython312_x86_64_u24.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/Build_wheels_for_cpython312_x86_64_u24.yml b/.github/workflows/Build_wheels_for_cpython312_x86_64_u24.yml index 7dce118f2..61cb2f3a5 100644 --- a/.github/workflows/Build_wheels_for_cpython312_x86_64_u24.yml +++ b/.github/workflows/Build_wheels_for_cpython312_x86_64_u24.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 && sudo ${{matrix.os.pypkg}} get-pip.py || true" - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "sudo ${{matrix.os.pypkg}} -m pip install -U 'setuptools<72.0'" + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "sudo pip install -U 'setuptools<72.0'" - name: Pepare source and build wheel for ${{matrix.os.pypkg}} ${{matrix.os.arch}} if: matrix.os.matrix == 'linux' From 47048270909f36ccd702ec36438cc4c42c94a863 Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Fri, 14 Feb 2025 12:41:20 +0300 Subject: [PATCH 304/353] Update Build_wheels_for_cpython312_x86_64_u24.yml --- .github/workflows/Build_wheels_for_cpython312_x86_64_u24.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/Build_wheels_for_cpython312_x86_64_u24.yml b/.github/workflows/Build_wheels_for_cpython312_x86_64_u24.yml index 61cb2f3a5..872ffed82 100644 --- a/.github/workflows/Build_wheels_for_cpython312_x86_64_u24.yml +++ b/.github/workflows/Build_wheels_for_cpython312_x86_64_u24.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 && sudo ${{matrix.os.pypkg}} get-pip.py || true" - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "sudo pip install -U 'setuptools<72.0'" + false && sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "pip install -U 'setuptools<72.0'" - name: Pepare source and build wheel for ${{matrix.os.pypkg}} ${{matrix.os.arch}} if: matrix.os.matrix == 'linux' From 10ea04a1abe769b0418a767026ea0f17e7fab154 Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Fri, 14 Feb 2025 13:21:04 +0300 Subject: [PATCH 305/353] Update Build_wheels_for_cpython312_x86_64_u24.yml --- .github/workflows/Build_wheels_for_cpython312_x86_64_u24.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/Build_wheels_for_cpython312_x86_64_u24.yml b/.github/workflows/Build_wheels_for_cpython312_x86_64_u24.yml index 872ffed82..ad71b7dc2 100644 --- a/.github/workflows/Build_wheels_for_cpython312_x86_64_u24.yml +++ b/.github/workflows/Build_wheels_for_cpython312_x86_64_u24.yml @@ -26,7 +26,7 @@ jobs: getpipurl: https://bootstrap.pypa.io/pip/get-pip.py pypkg: python3.12 #pypkgadd: python3.12-distutils - #pypkgadd: python3-pip + pypkgadd: python3-full pyengine_tag: cp312-cp312 libc_tag: manylinux_2_4 steps: From d4808006009a35cf8bf7a1d5e5b38a8a72a0ec25 Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Fri, 14 Feb 2025 13:28:37 +0300 Subject: [PATCH 306/353] Update Build_wheels_for_cpython312_x86_64_u24.yml --- .../workflows/Build_wheels_for_cpython312_x86_64_u24.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/Build_wheels_for_cpython312_x86_64_u24.yml b/.github/workflows/Build_wheels_for_cpython312_x86_64_u24.yml index ad71b7dc2..6d668fb65 100644 --- a/.github/workflows/Build_wheels_for_cpython312_x86_64_u24.yml +++ b/.github/workflows/Build_wheels_for_cpython312_x86_64_u24.yml @@ -26,7 +26,7 @@ jobs: getpipurl: https://bootstrap.pypa.io/pip/get-pip.py pypkg: python3.12 #pypkgadd: python3.12-distutils - pypkgadd: python3-full + #pypkgadd: python3-full pyengine_tag: cp312-cp312 libc_tag: manylinux_2_4 steps: @@ -91,8 +91,8 @@ jobs: 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}} /bin/bash -c "wget ${{matrix.os.getpipurl}} -O get-pip.py && sudo ${{matrix.os.pypkg}} get-pip.py || true" - false && sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "pip install -U 'setuptools<72.0'" + false && sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "wget ${{matrix.os.getpipurl}} -O get-pip.py && sudo ${{matrix.os.pypkg}} get-pip.py || true" + false && sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "${{matrix.os.pypkg}} -m ensurepip --upgrade; pip install -U 'setuptools<72.0'" - name: Pepare source and build wheel for ${{matrix.os.pypkg}} ${{matrix.os.arch}} if: matrix.os.matrix == 'linux' From 7a09cfe8e6fd6c6a9939dfbe0758f769f4cb37cc Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Fri, 14 Feb 2025 15:31:36 +0300 Subject: [PATCH 307/353] Update glibc-check.sh --- glibc-check.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/glibc-check.sh b/glibc-check.sh index 4d3ac9a73..7811f9bf4 100644 --- a/glibc-check.sh +++ b/glibc-check.sh @@ -5,7 +5,7 @@ # # You can set `MAX_VER` however low you want, although I (fasterthanlime) # feel like `2.13` is a good target (For reference, Ubuntu 12.04 has GLIBC 2.15) -MAX_VER=2.19 +MAX_VER=2.34 SCRIPTPATH=$( cd $(dirname $0) ; pwd -P ) BINARY=$1 From e7acb09f19d2200a6507c39a3de9f949f1ac86c9 Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Fri, 14 Feb 2025 15:32:12 +0300 Subject: [PATCH 308/353] Update Build_wheels_for_cpython37_x86_64_u24.yml --- .github/workflows/Build_wheels_for_cpython37_x86_64_u24.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/Build_wheels_for_cpython37_x86_64_u24.yml b/.github/workflows/Build_wheels_for_cpython37_x86_64_u24.yml index d20325c45..c3d774811 100644 --- a/.github/workflows/Build_wheels_for_cpython37_x86_64_u24.yml +++ b/.github/workflows/Build_wheels_for_cpython37_x86_64_u24.yml @@ -27,7 +27,7 @@ jobs: pypkg: python3.7 pypkgadd: python3.7-distutils pyengine_tag: cp37-cp37m - libc_tag: manylinux_2_4 + libc_tag: manylinux_2_34 steps: - name: Checkout code uses: actions/checkout@v4 From 0e17c00ca5181f78940c183aa06fff683e4a59ff Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Fri, 14 Feb 2025 17:07:36 +0300 Subject: [PATCH 309/353] Update build-wheels.yml Musl 1.2 in stable releases --- .github/workflows/build-wheels.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build-wheels.yml b/.github/workflows/build-wheels.yml index af4a6f1d5..05d1a5507 100644 --- a/.github/workflows/build-wheels.yml +++ b/.github/workflows/build-wheels.yml @@ -168,8 +168,8 @@ jobs: CIBW_MANYLINUX_I686_IMAGE: manylinux_2_24 CIBW_MANYLINUX_X86_64_IMAGE: manylinux_2_24 CIBW_MANYLINUX_AARCH64_IMAGE: manylinux_2_24 - CIBW_MUSLLINUX_I686_IMAGE: musllinux_1_1 - CIBW_MUSLLINUX_X86_64_IMAGE: musllinux_1_1 + CIBW_MUSLLINUX_I686_IMAGE: musllinux_1_2 + CIBW_MUSLLINUX_X86_64_IMAGE: musllinux_1_2 # Only build on x86 and arm64 for linux CIBW_ARCHS_LINUX: auto aarch64 CIBW_BEFORE_ALL_LINUX: > From 09bfc2077cfb7666e32fec310e3de8543bdc9e68 Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Fri, 14 Feb 2025 17:08:58 +0300 Subject: [PATCH 310/353] Update Build_wheels_for_cpython37_x86_64_u24.yml --- .github/workflows/Build_wheels_for_cpython37_x86_64_u24.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/Build_wheels_for_cpython37_x86_64_u24.yml b/.github/workflows/Build_wheels_for_cpython37_x86_64_u24.yml index c3d774811..87e684f65 100644 --- a/.github/workflows/Build_wheels_for_cpython37_x86_64_u24.yml +++ b/.github/workflows/Build_wheels_for_cpython37_x86_64_u24.yml @@ -109,7 +109,7 @@ jobs: sudo cp -v glibc-check.sh ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel/zstd-${{matrix.os.version}}/ sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}}/; echo LLH; ls -lh build/*/zstd.*.so; ldd build/*/zstd.*.so ; file build/*/zstd.*.so; bash ./glibc-check.sh build/*/zstd.*.so" - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}}; && ${{matrix.os.pypkg}} setup.py test" + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}} && ${{matrix.os.pypkg}} setup.py test" - name: Pepare wheel for upload if: matrix.os.matrix == 'linux' From d5ad4331c8054c9d05af651be33d6e82a624189c Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Fri, 14 Feb 2025 17:53:38 +0300 Subject: [PATCH 311/353] Update Build_wheels_for_cpython312_x86_64_u24.yml --- .github/workflows/Build_wheels_for_cpython312_x86_64_u24.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/Build_wheels_for_cpython312_x86_64_u24.yml b/.github/workflows/Build_wheels_for_cpython312_x86_64_u24.yml index 6d668fb65..9cb819927 100644 --- a/.github/workflows/Build_wheels_for_cpython312_x86_64_u24.yml +++ b/.github/workflows/Build_wheels_for_cpython312_x86_64_u24.yml @@ -28,7 +28,7 @@ jobs: #pypkgadd: python3.12-distutils #pypkgadd: python3-full pyengine_tag: cp312-cp312 - libc_tag: manylinux_2_4 + libc_tag: manylinux_2_34 steps: - name: Checkout code uses: actions/checkout@v4 From 75b1ecfaaa69075eba222d4c3aa31cbff4ac2520 Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Fri, 14 Feb 2025 18:21:33 +0300 Subject: [PATCH 312/353] Update Build_wheels_for_cpython27_x86_64.yml --- .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 e7e6327ec..70ccbf5b4 100644 --- a/.github/workflows/Build_wheels_for_cpython27_x86_64.yml +++ b/.github/workflows/Build_wheels_for_cpython27_x86_64.yml @@ -67,7 +67,7 @@ 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 - sudo find ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} -iname apt + 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 @@ -104,7 +104,7 @@ jobs: - name: Test wheel for ${{matrix.os.pypkg}} ${{matrix.os.arch}} if: matrix.os.matrix == 'linux' run: | - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} find /build_wheel/ + false && sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} find /build_wheel/ sudo cp -v glibc-check.sh ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel/zstd-${{matrix.os.version}}/ sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}}/ ls -lh build/*/zstd.*so; ldd build/*/zstd.*so ; file build/*/zstd.*.so; bash ./glibc-check.sh build/*/zstd.*so" sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}} && python${{matrix.os.pyver}} setup.py test" From 533aca146ab22ad7ccbc7027138ee3d0d6f111db Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Fri, 14 Feb 2025 19:00:23 +0300 Subject: [PATCH 313/353] Create Build_wheels_for_cpython38_x86_64_u24.yml --- .../Build_wheels_for_cpython38_x86_64_u24.yml | 175 ++++++++++++++++++ 1 file changed, 175 insertions(+) create mode 100644 .github/workflows/Build_wheels_for_cpython38_x86_64_u24.yml diff --git a/.github/workflows/Build_wheels_for_cpython38_x86_64_u24.yml b/.github/workflows/Build_wheels_for_cpython38_x86_64_u24.yml new file mode 100644 index 000000000..338e9e298 --- /dev/null +++ b/.github/workflows/Build_wheels_for_cpython38_x86_64_u24.yml @@ -0,0 +1,175 @@ +name: Build wheels for CPython3.8 x86_64 on Ubuntu24 + +on: [push, pull_request] + +concurrency: + group: ${{ github.ref }}-${{ github.workflow }}-${{ github.event_name }}-${{ github.ref == format('refs/heads/{0}', github.event.repository.default_branch) && github.sha || '' }} + cancel-in-progress: true + +jobs: + build_wheels: + name: Build wheel - ${{ matrix.os.name }} + runs-on: ${{ matrix.os.runs-on }} + strategy: + fail-fast: false + matrix: + os: + - name: Ubuntu 24 amd64 CPython 3.8 + runs-on: ubuntu-latest + matrix: linux + arch: amd64 + tag_arch: x86_64 + release: noble + mirror: http://azure.archive.ubuntu.com/ubuntu + version: 1.5.6.3 + # pyver: "3.7" + getpipurl: https://bootstrap.pypa.io/pip/get-pip.py + pypkg: python3.8 + pypkgadd: python3.8-distutils + pyengine_tag: cp38-cp38 + libc_tag: manylinux_2_34 + steps: + - name: Checkout code + uses: actions/checkout@v4 + with: + submodules: 'recursive' + + - name: Update and upgrade Ubuntu 24 + if: matrix.os.matrix == 'linux' + run: | + sudo which apt + sudo apt update; + sudo apt purge -y firefox lxd snapd; + sudo apt install -y zram-config; + sudo apt list --upgradable; + sudo apt upgrade -y; + sudo apt install -f + + - name: Build source distribution with Ubuntu + if: matrix.os.matrix == 'linux' + run: | + sudo apt install -y debootstrap qemu-user; + pip install build; + python -m build --sdist --outdir dist . + + - name: Debootstrap Ubuntu ${{matrix.os.release}} ${{matrix.os.arch}} + if: matrix.os.matrix == 'linux' + run: | + sudo debootstrap --no-merged-usr --verbose --include=sudo,wget,curl,ca-certificates --arch=${{matrix.os.arch}} ${{matrix.os.release}} ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} ${{matrix.os.mirror}} || tail ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/debootstrap/debootstrap.log + + - name: Update and Upgrade Ubuntu ${{matrix.os.release}} + if: matrix.os.matrix == 'linux' + run: | + sudo mkdir -p ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel + 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 + false && echo " deb [trusted=yes] http://packages.rusoft.ru/ppa/rusoft/python ubuntu-${{matrix.os.release}} main" > rusoft-python.list + false && echo " deb [trusted=yes] http://packages.rusoft.ru/ppa/rusoft/backports ubuntu-${{matrix.os.release}} main" > rusoft-backports.list + false && 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' + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /usr/bin/apt update + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /usr/bin/apt upgrade -y + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /usr/bin/apt -fy install + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /usr/bin/apt upgrade -y + + + - 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 + + - 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}} /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'" + + - name: Pepare source and build wheel for ${{matrix.os.pypkg}} ${{matrix.os.arch}} + if: matrix.os.matrix == 'linux' + run: | + sudo mkdir -p ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel/ + sudo tar -xvf dist/zstd-${{matrix.os.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}} /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}} && ZSTD_ASM=1 _ZSTD_ASM_BMI2=1 ZSTD_THREADS=1 _ZSTD_EXTERNAL=0 ${{matrix.os.pypkg}} setup.py bdist_wheel" + + - 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/ + sudo cp -v glibc-check.sh ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel/zstd-${{matrix.os.version}}/ + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}}/; echo LLH; ls -lh build/*/zstd.*.so; ldd build/*/zstd.*.so ; file build/*/zstd.*.so; bash ./glibc-check.sh build/*/zstd.*.so" + + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}} && ${{matrix.os.pypkg}} setup.py test" + + - name: Pepare wheel for upload + if: matrix.os.matrix == 'linux' + run: | + sudo cp -v ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel/zstd-${{matrix.os.version}}/dist/* ./dist + sudo ls -lh ./dist/* + sudo mv -v ./dist/"zstd-${{matrix.os.version}}-${{matrix.os.pyengine_tag}}-linux_${{matrix.os.tag_arch}}.whl" ./dist/"zstd-${{matrix.os.version}}-${{matrix.os.pyengine_tag}}-${{matrix.os.libc_tag}}_${{matrix.os.tag_arch}}.whl" + sudo rm -vf ./dist/*.tar.gz + + +# - name: Upload artifacts +# uses: actions/upload-artifact@v4 +# with: +# name: wheels +#. path: ./dist +# compression-level: 0 + + - name: Test for secrets access + id: check_secrets + # If a third party makes a pull request + # this allows automated steps below to be skipped + # and leave a clean PR CI run + shell: bash + run: | + unset HAS_SECRET + unset HAS_SECRET_TEST + if [ -n "$SECRET" ]; then HAS_SECRET='true' ; fi + if [ -n "$SECRET_TEST" ]; then HAS_SECRET_TEST='true' ; fi + echo ::set-output name=HAS_SECRET::${HAS_SECRET} + echo ::set-output name=HAS_SECRET_TEST::${HAS_SECRET_TEST} + env: + SECRET: "${{ secrets.pypi_password }}" + SECRET_TEST: "${{ secrets.test_pypi_password }}" + + - name: Install twine + run: pip install 'twine<=6.0.1' + + - name: Publish distribution to PyPI + if: > + startsWith(github.event.ref, 'refs/tags') && + steps.check_secrets.outputs.HAS_SECRET + env: + # If the PR/Push has secret access + # and PYPI_PASSWORD is in GH Secrets for this repo + # and this is a tag, publish to PyPI + TWINE_REPOSITORY_URL: https://upload.pypi.org/legacy/ + TWINE_USERNAME: "${{ secrets.pypi_username }}" + TWINE_NON_INTERACTIVE: 1 + TWINE_PASSWORD: "${{ secrets.pypi_password }}" + run: twine upload --non-interactive --skip-existing --verbose 'dist/*' + + - name: Publish distribution to Test PyPI + if: steps.check_secrets.outputs.HAS_SECRET + env: + # If the PR/Push has secret access + # and TEST_PYPI_PASSWORD is in GH Secrets for this repo + # then publish each build to test PyPI + TWINE_REPOSITORY_URL: https://test.pypi.org/legacy/ + TWINE_USERNAME: "${{ secrets.test_pypi_username }}" + TWINE_NON_INTERACTIVE: 1 + TWINE_PASSWORD: "${{ secrets.test_pypi_password }}" + run: twine upload --non-interactive --skip-existing --verbose 'dist/*' + From f2cf2492d6acb306439da5226145aa6cd6d8dc13 Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Fri, 14 Feb 2025 19:02:29 +0300 Subject: [PATCH 314/353] Update README.rst --- README.rst | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/README.rst b/README.rst index 6b870b4fa..f3b36713d 100644 --- a/README.rst +++ b/README.rst @@ -38,14 +38,14 @@ python-zstd .. |cpython37x86| image:: https://github.com/sergey-dryabzhinsky/python-zstd/actions/workflows/Build_wheels_for_cpython37_x86.yml/badge.svg :target: https://github.com/sergey-dryabzhinsky/python-zstd/actions/workflows/Build_wheels_for_cpython37_x86.yml -.. |cpython37x64| image:: https://github.com/sergey-dryabzhinsky/python-zstd/actions/workflows/Build_wheels_for_cpython37_x86_64.yml/badge.svg - :target: https://github.com/sergey-dryabzhinsky/python-zstd/actions/workflows/Build_wheels_for_cpython37_x86_64.yml +.. |cpython37x64| image:: https://github.com/sergey-dryabzhinsky/python-zstd/actions/workflows/Build_wheels_for_cpython37_x86_64_u24.yml/badge.svg + :target: https://github.com/sergey-dryabzhinsky/python-zstd/actions/workflows/Build_wheels_for_cpython37_x86_64_u24.yml .. |cpython38x86| image:: https://github.com/sergey-dryabzhinsky/python-zstd/actions/workflows/Build_wheels_for_cpython38_x86.yml/badge.svg :target: https://github.com/sergey-dryabzhinsky/python-zstd/actions/workflows/Build_wheels_for_cpython38_x86.yml -.. |cpython38x64| image:: https://github.com/sergey-dryabzhinsky/python-zstd/actions/workflows/Build_wheels_for_cpython38_x86_64.yml/badge.svg - :target: https://github.com/sergey-dryabzhinsky/python-zstd/actions/workflows/Build_wheels_for_cpython38_x86_64.yml +.. |cpython38x64| image:: https://github.com/sergey-dryabzhinsky/python-zstd/actions/workflows/Build_wheels_for_cpython38_x86_64_u24.yml/badge.svg + :target: https://github.com/sergey-dryabzhinsky/python-zstd/actions/workflows/Build_wheels_for_cpython38_x86_64_u24.yml .. |cpython39x86| image:: https://github.com/sergey-dryabzhinsky/python-zstd/actions/workflows/Build_wheels_for_cpython39_x86.yml/badge.svg :target: https://github.com/sergey-dryabzhinsky/python-zstd/actions/workflows/Build_wheels_for_cpython39_x86.yml From 5b39bc5ecb8aad47d5a73f636ee7c0244f690ade Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Fri, 14 Feb 2025 20:18:50 +0300 Subject: [PATCH 315/353] Delete Build_wheels_for_cpython39_x86_64.yml --- Build_wheels_for_cpython39_x86_64.yml | 171 -------------------------- 1 file changed, 171 deletions(-) delete mode 100644 Build_wheels_for_cpython39_x86_64.yml diff --git a/Build_wheels_for_cpython39_x86_64.yml b/Build_wheels_for_cpython39_x86_64.yml deleted file mode 100644 index 5d232437c..000000000 --- a/Build_wheels_for_cpython39_x86_64.yml +++ /dev/null @@ -1,171 +0,0 @@ -name: Build wheels for CPython3.9 x86_64 - -on: [push, pull_request] - -concurrency: - group: ${{ github.ref }}-${{ github.workflow }}-${{ github.event_name }}-${{ github.ref == format('refs/heads/{0}', github.event.repository.default_branch) && github.sha || '' }} - cancel-in-progress: true - -jobs: - build_wheels: - name: Build wheel - ${{ matrix.os.name }} - runs-on: ${{ matrix.os.runs-on }} - strategy: - fail-fast: false - matrix: - os: - - name: Ubuntu 24+16 amd64 CPython 3.9 - runs-on: ubuntu-latest - matrix: linux - arch: amd64 - tag_arch: x86_64 - release: xenial - mirror: http://azure.archive.ubuntu.com/ubuntu - version: 1.5.6.3 - pyver: "3.9" - getpipurl: https://bootstrap.pypa.io/pip/get-pip.py - pypkg: python3.9 - pypkgadd: python3.9-distutils - pyengine_tag: cp39-cp39 - libc_tag: manylinux_2_17 - steps: - - name: Checkout code - uses: actions/checkout@v4 - with: - submodules: 'recursive' - - - name: Update and upgrade Ubuntu 24 - if: matrix.os.matrix == 'linux' - run: | - sudo which apt - sudo apt update; - sudo apt purge -y firefox lxd snapd; - sudo apt install -y zram-config; - sudo apt list --upgradable; - sudo apt upgrade -y; - sudo apt install -f - - - name: Build source distribution with Ubuntu - if: matrix.os.matrix == 'linux' - run: | - sudo apt install -y devscripts debootstrap qemu-user; - pip install build; - python -m build --sdist --outdir dist . - - - name: Debootstrap Ubuntu ${{matrix.os.release}} ${{matrix.os.arch}} - if: matrix.os.matrix == 'linux' - run: | - sudo debootstrap --no-merged-usr --verbose --include=sudo,wget,curl,ca-certificates --arch=${{matrix.os.arch}} ${{matrix.os.release}} ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} ${{matrix.os.mirror}} || tail ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/debootstrap/debootstrap.log - - - name: Update and Upgrade Ubuntu ${{matrix.os.release}} - if: matrix.os.matrix == 'linux' - run: | - sudo mkdir -p ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel - 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 - 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' - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /usr/bin/apt update - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /usr/bin/apt upgrade -y - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /usr/bin/apt -fy install - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /usr/bin/apt upgrade -y - - - - 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 - - - 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}} /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'" - - - name: Pepare source and build wheel for ${{matrix.os.pypkg}} ${{matrix.os.arch}} - if: matrix.os.matrix == 'linux' - run: | - sudo mkdir -p ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel/ - sudo tar -xvf dist/zstd-${{matrix.os.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}} /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}} && ZSTD_ASM=1 _ZSTD_ASM_BMI2=1 ZSTD_THREADS=1 _ZSTD_EXTERNAL=0 python${{matrix.os.pyver}} setup.py bdist_wheel clean" - - - name: Test wheel for ${{matrix.os.pypkg}} ${{matrix.os.arch}} - if: matrix.os.matrix == 'linux' - run: | - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}} && python${{matrix.os.pyver}} setup.py test" - - - name: Pepare wheel for upload - if: matrix.os.matrix == 'linux' - run: | - sudo cp -v ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel/zstd-${{matrix.os.version}}/dist/* ./dist - sudo ls -lh ./dist/* - sudo mv -v ./dist/"zstd-${{matrix.os.version}}-${{matrix.os.pyengine_tag}}-linux_${{matrix.os.tag_arch}}.whl" ./dist/"zstd-${{matrix.os.version}}-${{matrix.os.pyengine_tag}}-${{matrix.os.libc_tag}}_${{matrix.os.tag_arch}}.whl" - sudo rm -vf ./dist/*.tar.gz - - -# - name: Upload artifacts -# uses: actions/upload-artifact@v4 -# with: -# name: wheels -#. path: ./dist -# compression-level: 0 - - - name: Test for secrets access - id: check_secrets - # If a third party makes a pull request - # this allows automated steps below to be skipped - # and leave a clean PR CI run - shell: bash - run: | - unset HAS_SECRET - unset HAS_SECRET_TEST - if [ -n "$SECRET" ]; then HAS_SECRET='true' ; fi - if [ -n "$SECRET_TEST" ]; then HAS_SECRET_TEST='true' ; fi - echo ::set-output name=HAS_SECRET::${HAS_SECRET} - echo ::set-output name=HAS_SECRET_TEST::${HAS_SECRET_TEST} - env: - SECRET: "${{ secrets.pypi_password }}" - SECRET_TEST: "${{ secrets.test_pypi_password }}" - - - name: Install twine - run: pip install 'twine<=6.0.1' - - - name: Publish distribution to PyPI - if: > - startsWith(github.event.ref, 'refs/tags') && - steps.check_secrets.outputs.HAS_SECRET - env: - # If the PR/Push has secret access - # and PYPI_PASSWORD is in GH Secrets for this repo - # and this is a tag, publish to PyPI - TWINE_REPOSITORY_URL: https://upload.pypi.org/legacy/ - TWINE_USERNAME: "${{ secrets.pypi_username }}" - TWINE_NON_INTERACTIVE: 1 - TWINE_PASSWORD: "${{ secrets.pypi_password }}" - run: twine upload --non-interactive --skip-existing --verbose 'dist/*' - - - name: Publish distribution to Test PyPI - if: steps.check_secrets.outputs.HAS_SECRET - env: - # If the PR/Push has secret access - # and TEST_PYPI_PASSWORD is in GH Secrets for this repo - # then publish each build to test PyPI - TWINE_REPOSITORY_URL: https://test.pypi.org/legacy/ - TWINE_USERNAME: "${{ secrets.test_pypi_username }}" - TWINE_NON_INTERACTIVE: 1 - TWINE_PASSWORD: "${{ secrets.test_pypi_password }}" - run: twine upload --non-interactive --skip-existing --verbose 'dist/*' - From 4e478955031c532becc0e486342ba67e6b8229ac Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Fri, 14 Feb 2025 20:19:11 +0300 Subject: [PATCH 316/353] Delete Build_wheels_for_cpython39_x86.yml --- Build_wheels_for_cpython39_x86.yml | 173 ----------------------------- 1 file changed, 173 deletions(-) delete mode 100644 Build_wheels_for_cpython39_x86.yml diff --git a/Build_wheels_for_cpython39_x86.yml b/Build_wheels_for_cpython39_x86.yml deleted file mode 100644 index 9d20c280b..000000000 --- a/Build_wheels_for_cpython39_x86.yml +++ /dev/null @@ -1,173 +0,0 @@ -name: Build wheels for CPython3.9 x86 - -on: [push, pull_request] - -concurrency: - group: ${{ github.ref }}-${{ github.workflow }}-${{ github.event_name }}-${{ github.ref == format('refs/heads/{0}', github.event.repository.default_branch) && github.sha || '' }} - cancel-in-progress: true - -jobs: - build_wheels: - name: Build wheel - ${{ matrix.os.name }} - runs-on: ${{ matrix.os.runs-on }} - strategy: - fail-fast: false - matrix: - os: - - name: Ubuntu 24+16 i386 CPython 3.9 - runs-on: ubuntu-latest - matrix: linux - arch: i386 - tag_arch: i686 - release: xenial - mirror: http://azure.archive.ubuntu.com/ubuntu - version: 1.5.6.3 - pyver: "3.9" - getpipurl: https://bootstrap.pypa.io/pip/get-pip.py - pypkg: python3.9 - pypkgadd: python3.9-distutils - pyengine_tag: cp39-cp39 - libc_tag: manylinux_2_17 - steps: - - name: Checkout code - uses: actions/checkout@v4 - with: - submodules: 'recursive' - - - name: Update and upgrade Ubuntu 24 - if: matrix.os.matrix == 'linux' - run: | - sudo which apt - sudo apt update; - sudo apt purge -y firefox lxd snapd; - sudo apt install -y zram-config; - sudo apt list --upgradable; - sudo apt upgrade -y; - sudo apt install -f - - - name: Build source distribution with Ubuntu - if: matrix.os.matrix == 'linux' - run: | - sudo apt install -y devscripts debootstrap qemu-user; - pip install build; - python -m build --sdist --outdir dist . - - - name: Debootstrap Ubuntu ${{matrix.os.release}} ${{matrix.os.arch}} - if: matrix.os.matrix == 'linux' - run: | - sudo debootstrap --no-merged-usr --verbose --include=sudo,wget,curl,ca-certificates --arch=${{matrix.os.arch}} ${{matrix.os.release}} ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} ${{matrix.os.mirror}} || tail ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/debootstrap/debootstrap.log - - - name: Update and Upgrade Ubuntu ${{matrix.os.release}} - if: matrix.os.matrix == 'linux' - run: | - sudo mkdir -p ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel - 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 - 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' - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /usr/bin/apt update - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /usr/bin/apt upgrade -y - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /usr/bin/apt -fy install - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /usr/bin/apt upgrade -y - - - - 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 - - - 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}} /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'" - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "${{matrix.os.pypkg}} -m pip install -U pkginfo" - - - - name: Pepare source and build wheel for ${{matrix.os.pypkg}} ${{matrix.os.arch}} - if: matrix.os.matrix == 'linux' - run: | - sudo mkdir -p ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel/ - sudo tar -xvf dist/zstd-${{matrix.os.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}} /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}} && ZSTD_ASM=1 _ZSTD_ASM_BMI2=1 ZSTD_THREADS=1 _ZSTD_EXTERNAL=0 python${{matrix.os.pyver}} setup.py bdist_wheel clean" - - - name: Test wheel for ${{matrix.os.pypkg}} ${{matrix.os.arch}} - if: matrix.os.matrix == 'linux' - run: | - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}} && python${{matrix.os.pyver}} setup.py test" - - - name: Pepare wheel for upload - if: matrix.os.matrix == 'linux' - run: | - sudo cp -v ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel/zstd-${{matrix.os.version}}/dist/* ./dist - sudo ls -lh ./dist/* - sudo mv -v ./dist/"zstd-${{matrix.os.version}}-${{matrix.os.pyengine_tag}}-linux_${{matrix.os.tag_arch}}.whl" ./dist/"zstd-${{matrix.os.version}}-${{matrix.os.pyengine_tag}}-${{matrix.os.libc_tag}}_${{matrix.os.tag_arch}}.whl" - sudo rm -vf ./dist/*.tar.gz - - -# - name: Upload artifacts -# uses: actions/upload-artifact@v4 -# with: -# name: wheels -#. path: ./dist -# compression-level: 0 - - - name: Test for secrets access - id: check_secrets - # If a third party makes a pull request - # this allows automated steps below to be skipped - # and leave a clean PR CI run - shell: bash - run: | - unset HAS_SECRET - unset HAS_SECRET_TEST - if [ -n "$SECRET" ]; then HAS_SECRET='true' ; fi - if [ -n "$SECRET_TEST" ]; then HAS_SECRET_TEST='true' ; fi - echo ::set-output name=HAS_SECRET::${HAS_SECRET} - echo ::set-output name=HAS_SECRET_TEST::${HAS_SECRET_TEST} - env: - SECRET: "${{ secrets.pypi_password }}" - SECRET_TEST: "${{ secrets.test_pypi_password }}" - - - name: Install twine - run: pip install 'twine<=6.0.1' - - - name: Publish distribution to PyPI - if: > - startsWith(github.event.ref, 'refs/tags') && - steps.check_secrets.outputs.HAS_SECRET - env: - # If the PR/Push has secret access - # and PYPI_PASSWORD is in GH Secrets for this repo - # and this is a tag, publish to PyPI - TWINE_REPOSITORY_URL: https://upload.pypi.org/legacy/ - TWINE_USERNAME: "${{ secrets.pypi_username }}" - TWINE_NON_INTERACTIVE: 1 - TWINE_PASSWORD: "${{ secrets.pypi_password }}" - run: twine upload --non-interactive --skip-existing --verbose 'dist/*' - - - name: Publish distribution to Test PyPI - if: steps.check_secrets.outputs.HAS_SECRET - env: - # If the PR/Push has secret access - # and TEST_PYPI_PASSWORD is in GH Secrets for this repo - # then publish each build to test PyPI - TWINE_REPOSITORY_URL: https://test.pypi.org/legacy/ - TWINE_USERNAME: "${{ secrets.test_pypi_username }}" - TWINE_NON_INTERACTIVE: 1 - TWINE_PASSWORD: "${{ secrets.test_pypi_password }}" - run: twine upload --non-interactive --skip-existing --verbose 'dist/*' - From a12ec698f23164e9689622641bf3411e8a3a2f98 Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Fri, 14 Feb 2025 20:21:11 +0300 Subject: [PATCH 317/353] Create Build_wheels_for_cpython39_x86_64_u24.yml --- .../Build_wheels_for_cpython39_x86_64_u24.yml | 175 ++++++++++++++++++ 1 file changed, 175 insertions(+) create mode 100644 .github/workflows/Build_wheels_for_cpython39_x86_64_u24.yml diff --git a/.github/workflows/Build_wheels_for_cpython39_x86_64_u24.yml b/.github/workflows/Build_wheels_for_cpython39_x86_64_u24.yml new file mode 100644 index 000000000..335b1e582 --- /dev/null +++ b/.github/workflows/Build_wheels_for_cpython39_x86_64_u24.yml @@ -0,0 +1,175 @@ +name: Build wheels for CPython3.9 x86_64 on Ubuntu24 + +on: [push, pull_request] + +concurrency: + group: ${{ github.ref }}-${{ github.workflow }}-${{ github.event_name }}-${{ github.ref == format('refs/heads/{0}', github.event.repository.default_branch) && github.sha || '' }} + cancel-in-progress: true + +jobs: + build_wheels: + name: Build wheel - ${{ matrix.os.name }} + runs-on: ${{ matrix.os.runs-on }} + strategy: + fail-fast: false + matrix: + os: + - name: Ubuntu 24 amd64 CPython 3.9 + runs-on: ubuntu-latest + matrix: linux + arch: amd64 + tag_arch: x86_64 + release: noble + mirror: http://azure.archive.ubuntu.com/ubuntu + version: 1.5.6.3 + # pyver: "3.7" + getpipurl: https://bootstrap.pypa.io/pip/get-pip.py + pypkg: python3.9 + pypkgadd: python3.9-distutils + pyengine_tag: cp39-cp39 + libc_tag: manylinux_2_34 + steps: + - name: Checkout code + uses: actions/checkout@v4 + with: + submodules: 'recursive' + + - name: Update and upgrade Ubuntu 24 + if: matrix.os.matrix == 'linux' + run: | + sudo which apt + sudo apt update; + sudo apt purge -y firefox lxd snapd; + sudo apt install -y zram-config; + sudo apt list --upgradable; + sudo apt upgrade -y; + sudo apt install -f + + - name: Build source distribution with Ubuntu + if: matrix.os.matrix == 'linux' + run: | + sudo apt install -y debootstrap qemu-user; + pip install build; + python -m build --sdist --outdir dist . + + - name: Debootstrap Ubuntu ${{matrix.os.release}} ${{matrix.os.arch}} + if: matrix.os.matrix == 'linux' + run: | + sudo debootstrap --no-merged-usr --verbose --include=sudo,wget,curl,ca-certificates --arch=${{matrix.os.arch}} ${{matrix.os.release}} ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} ${{matrix.os.mirror}} || tail ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/debootstrap/debootstrap.log + + - name: Update and Upgrade Ubuntu ${{matrix.os.release}} + if: matrix.os.matrix == 'linux' + run: | + sudo mkdir -p ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel + 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 + false && echo " deb [trusted=yes] http://packages.rusoft.ru/ppa/rusoft/python ubuntu-${{matrix.os.release}} main" > rusoft-python.list + false && echo " deb [trusted=yes] http://packages.rusoft.ru/ppa/rusoft/backports ubuntu-${{matrix.os.release}} main" > rusoft-backports.list + false && 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' + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /usr/bin/apt update + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /usr/bin/apt upgrade -y + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /usr/bin/apt -fy install + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /usr/bin/apt upgrade -y + + + - 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 + + - 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}} /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'" + + - name: Pepare source and build wheel for ${{matrix.os.pypkg}} ${{matrix.os.arch}} + if: matrix.os.matrix == 'linux' + run: | + sudo mkdir -p ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel/ + sudo tar -xvf dist/zstd-${{matrix.os.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}} /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}} && ZSTD_ASM=1 _ZSTD_ASM_BMI2=1 ZSTD_THREADS=1 _ZSTD_EXTERNAL=0 ${{matrix.os.pypkg}} setup.py bdist_wheel" + + - 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/ + sudo cp -v glibc-check.sh ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel/zstd-${{matrix.os.version}}/ + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}}/; echo LLH; ls -lh build/*/zstd.*.so; ldd build/*/zstd.*.so ; file build/*/zstd.*.so; bash ./glibc-check.sh build/*/zstd.*.so" + + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}} && ${{matrix.os.pypkg}} setup.py test" + + - name: Pepare wheel for upload + if: matrix.os.matrix == 'linux' + run: | + sudo cp -v ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel/zstd-${{matrix.os.version}}/dist/* ./dist + sudo ls -lh ./dist/* + sudo mv -v ./dist/"zstd-${{matrix.os.version}}-${{matrix.os.pyengine_tag}}-linux_${{matrix.os.tag_arch}}.whl" ./dist/"zstd-${{matrix.os.version}}-${{matrix.os.pyengine_tag}}-${{matrix.os.libc_tag}}_${{matrix.os.tag_arch}}.whl" + sudo rm -vf ./dist/*.tar.gz + + +# - name: Upload artifacts +# uses: actions/upload-artifact@v4 +# with: +# name: wheels +#. path: ./dist +# compression-level: 0 + + - name: Test for secrets access + id: check_secrets + # If a third party makes a pull request + # this allows automated steps below to be skipped + # and leave a clean PR CI run + shell: bash + run: | + unset HAS_SECRET + unset HAS_SECRET_TEST + if [ -n "$SECRET" ]; then HAS_SECRET='true' ; fi + if [ -n "$SECRET_TEST" ]; then HAS_SECRET_TEST='true' ; fi + echo ::set-output name=HAS_SECRET::${HAS_SECRET} + echo ::set-output name=HAS_SECRET_TEST::${HAS_SECRET_TEST} + env: + SECRET: "${{ secrets.pypi_password }}" + SECRET_TEST: "${{ secrets.test_pypi_password }}" + + - name: Install twine + run: pip install 'twine<=6.0.1' + + - name: Publish distribution to PyPI + if: > + startsWith(github.event.ref, 'refs/tags') && + steps.check_secrets.outputs.HAS_SECRET + env: + # If the PR/Push has secret access + # and PYPI_PASSWORD is in GH Secrets for this repo + # and this is a tag, publish to PyPI + TWINE_REPOSITORY_URL: https://upload.pypi.org/legacy/ + TWINE_USERNAME: "${{ secrets.pypi_username }}" + TWINE_NON_INTERACTIVE: 1 + TWINE_PASSWORD: "${{ secrets.pypi_password }}" + run: twine upload --non-interactive --skip-existing --verbose 'dist/*' + + - name: Publish distribution to Test PyPI + if: steps.check_secrets.outputs.HAS_SECRET + env: + # If the PR/Push has secret access + # and TEST_PYPI_PASSWORD is in GH Secrets for this repo + # then publish each build to test PyPI + TWINE_REPOSITORY_URL: https://test.pypi.org/legacy/ + TWINE_USERNAME: "${{ secrets.test_pypi_username }}" + TWINE_NON_INTERACTIVE: 1 + TWINE_PASSWORD: "${{ secrets.test_pypi_password }}" + run: twine upload --non-interactive --skip-existing --verbose 'dist/*' + From 8c928a98a968eacfd305e3f8e33c57c62353aa31 Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Fri, 14 Feb 2025 20:26:42 +0300 Subject: [PATCH 318/353] Update Build_wheels_for_cpython312_x86_64_u24.yml --- .../workflows/Build_wheels_for_cpython312_x86_64_u24.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/Build_wheels_for_cpython312_x86_64_u24.yml b/.github/workflows/Build_wheels_for_cpython312_x86_64_u24.yml index 9cb819927..d447e021e 100644 --- a/.github/workflows/Build_wheels_for_cpython312_x86_64_u24.yml +++ b/.github/workflows/Build_wheels_for_cpython312_x86_64_u24.yml @@ -56,7 +56,7 @@ jobs: - name: Debootstrap Ubuntu ${{matrix.os.release}} ${{matrix.os.arch}} if: matrix.os.matrix == 'linux' run: | - sudo debootstrap --no-merged-usr --verbose --include=sudo,wget,curl,ca-certificates --arch=${{matrix.os.arch}} ${{matrix.os.release}} ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} ${{matrix.os.mirror}} || tail ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/debootstrap/debootstrap.log + sudo debootstrap --no-merged-usr --verbose --include=sudo,wget,curl,gnupg,ca-certificates --arch=${{matrix.os.arch}} ${{matrix.os.release}} ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} ${{matrix.os.mirror}} || tail ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/debootstrap/debootstrap.log - name: Update and Upgrade Ubuntu ${{matrix.os.release}} if: matrix.os.matrix == 'linux' @@ -65,9 +65,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 - false && echo " deb [trusted=yes] http://packages.rusoft.ru/ppa/rusoft/python ubuntu-${{matrix.os.release}} main" > rusoft-python.list - false && echo " deb [trusted=yes] http://packages.rusoft.ru/ppa/rusoft/backports ubuntu-${{matrix.os.release}} main" > rusoft-backports.list - false && 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 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 From 4276c5563e9365945f2a3f5b80678ea68202a342 Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Fri, 14 Feb 2025 21:27:12 +0300 Subject: [PATCH 319/353] Update Build_wheels_for_cpython39_x86_64_u24.yml --- .github/workflows/Build_wheels_for_cpython39_x86_64_u24.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/Build_wheels_for_cpython39_x86_64_u24.yml b/.github/workflows/Build_wheels_for_cpython39_x86_64_u24.yml index 335b1e582..820b52b16 100644 --- a/.github/workflows/Build_wheels_for_cpython39_x86_64_u24.yml +++ b/.github/workflows/Build_wheels_for_cpython39_x86_64_u24.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 libzstd-dev + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /usr/bin/apt install -y libzstd-dev file - name: Pepare for ${{matrix.os.pypkg}} ${{matrix.os.arch}} if: matrix.os.matrix == 'linux' From e489879cb2d49265cfb7ea03f772427507c2ebb4 Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Fri, 14 Feb 2025 21:28:32 +0300 Subject: [PATCH 320/353] Update README.rst --- README.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.rst b/README.rst index f3b36713d..97d73ddd1 100644 --- a/README.rst +++ b/README.rst @@ -50,8 +50,8 @@ python-zstd .. |cpython39x86| image:: https://github.com/sergey-dryabzhinsky/python-zstd/actions/workflows/Build_wheels_for_cpython39_x86.yml/badge.svg :target: https://github.com/sergey-dryabzhinsky/python-zstd/actions/workflows/Build_wheels_for_cpython39_x86.yml -.. |cpython39x64| image:: https://github.com/sergey-dryabzhinsky/python-zstd/actions/workflows/Build_wheels_for_cpython39_x86_64.yml/badge.svg - :target: https://github.com/sergey-dryabzhinsky/python-zstd/actions/workflows/Build_wheels_for_cpython39_x86_64.yml +.. |cpython39x64| image:: https://github.com/sergey-dryabzhinsky/python-zstd/actions/workflows/Build_wheels_for_cpython39_x86_64_u24.yml/badge.svg + :target: https://github.com/sergey-dryabzhinsky/python-zstd/actions/workflows/Build_wheels_for_cpython39_x86_64_u24.yml .. |cpython310x86u16| image:: https://github.com/sergey-dryabzhinsky/python-zstd/actions/workflows/Build_wheels_for_cpython310_x86_u16.yml/badge.svg :target: https://github.com/sergey-dryabzhinsky/python-zstd/actions/workflows/Build_wheels_for_cpython310_x86_u16.yml From aea9de4669499ca482ece4701ea40f4a884a1f05 Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Fri, 14 Feb 2025 21:31:50 +0300 Subject: [PATCH 321/353] Create Build_wheels_for_cpython310_x86_64_u24.yml --- ...Build_wheels_for_cpython310_x86_64_u24.yml | 175 ++++++++++++++++++ 1 file changed, 175 insertions(+) create mode 100644 .github/workflows/Build_wheels_for_cpython310_x86_64_u24.yml diff --git a/.github/workflows/Build_wheels_for_cpython310_x86_64_u24.yml b/.github/workflows/Build_wheels_for_cpython310_x86_64_u24.yml new file mode 100644 index 000000000..a6a4864d7 --- /dev/null +++ b/.github/workflows/Build_wheels_for_cpython310_x86_64_u24.yml @@ -0,0 +1,175 @@ +name: Build wheels for CPython3.10 x86_64 on Ubuntu24 + +on: [push, pull_request] + +concurrency: + group: ${{ github.ref }}-${{ github.workflow }}-${{ github.event_name }}-${{ github.ref == format('refs/heads/{0}', github.event.repository.default_branch) && github.sha || '' }} + cancel-in-progress: true + +jobs: + build_wheels: + name: Build wheel - ${{ matrix.os.name }} + runs-on: ${{ matrix.os.runs-on }} + strategy: + fail-fast: false + matrix: + os: + - name: Ubuntu 24 amd64 CPython 3.10 + runs-on: ubuntu-latest + matrix: linux + arch: amd64 + tag_arch: x86_64 + release: noble + mirror: http://azure.archive.ubuntu.com/ubuntu + version: 1.5.6.3 + # pyver: "3.7" + getpipurl: https://bootstrap.pypa.io/pip/get-pip.py + pypkg: python3.10 + pypkgadd: python3.10-distutils + pyengine_tag: cp310-cp310 + libc_tag: manylinux_2_34 + steps: + - name: Checkout code + uses: actions/checkout@v4 + with: + submodules: 'recursive' + + - name: Update and upgrade Ubuntu 24 + if: matrix.os.matrix == 'linux' + run: | + sudo which apt + sudo apt update; + sudo apt purge -y firefox lxd snapd; + sudo apt install -y zram-config; + sudo apt list --upgradable; + sudo apt upgrade -y; + sudo apt install -f + + - name: Build source distribution with Ubuntu + if: matrix.os.matrix == 'linux' + run: | + sudo apt install -y debootstrap qemu-user; + pip install build; + python -m build --sdist --outdir dist . + + - name: Debootstrap Ubuntu ${{matrix.os.release}} ${{matrix.os.arch}} + if: matrix.os.matrix == 'linux' + run: | + sudo debootstrap --no-merged-usr --verbose --include=sudo,wget,curl,ca-certificates --arch=${{matrix.os.arch}} ${{matrix.os.release}} ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} ${{matrix.os.mirror}} || tail ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/debootstrap/debootstrap.log + + - name: Update and Upgrade Ubuntu ${{matrix.os.release}} + if: matrix.os.matrix == 'linux' + run: | + sudo mkdir -p ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel + 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 + false && echo " deb [trusted=yes] http://packages.rusoft.ru/ppa/rusoft/python ubuntu-${{matrix.os.release}} main" > rusoft-python.list + false && echo " deb [trusted=yes] http://packages.rusoft.ru/ppa/rusoft/backports ubuntu-${{matrix.os.release}} main" > rusoft-backports.list + false && 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' + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /usr/bin/apt update + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /usr/bin/apt upgrade -y + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /usr/bin/apt -fy install + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /usr/bin/apt upgrade -y + + + - 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 + + - 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}} /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'" + + - name: Pepare source and build wheel for ${{matrix.os.pypkg}} ${{matrix.os.arch}} + if: matrix.os.matrix == 'linux' + run: | + sudo mkdir -p ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel/ + sudo tar -xvf dist/zstd-${{matrix.os.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}} /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}} && ZSTD_ASM=1 _ZSTD_ASM_BMI2=1 ZSTD_THREADS=1 _ZSTD_EXTERNAL=0 ${{matrix.os.pypkg}} setup.py bdist_wheel" + + - 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/ + sudo cp -v glibc-check.sh ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel/zstd-${{matrix.os.version}}/ + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}}/; echo LLH; ls -lh build/*/zstd.*.so; ldd build/*/zstd.*.so ; file build/*/zstd.*.so; bash ./glibc-check.sh build/*/zstd.*.so" + + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}} && ${{matrix.os.pypkg}} setup.py test" + + - name: Pepare wheel for upload + if: matrix.os.matrix == 'linux' + run: | + sudo cp -v ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel/zstd-${{matrix.os.version}}/dist/* ./dist + sudo ls -lh ./dist/* + sudo mv -v ./dist/"zstd-${{matrix.os.version}}-${{matrix.os.pyengine_tag}}-linux_${{matrix.os.tag_arch}}.whl" ./dist/"zstd-${{matrix.os.version}}-${{matrix.os.pyengine_tag}}-${{matrix.os.libc_tag}}_${{matrix.os.tag_arch}}.whl" + sudo rm -vf ./dist/*.tar.gz + + +# - name: Upload artifacts +# uses: actions/upload-artifact@v4 +# with: +# name: wheels +#. path: ./dist +# compression-level: 0 + + - name: Test for secrets access + id: check_secrets + # If a third party makes a pull request + # this allows automated steps below to be skipped + # and leave a clean PR CI run + shell: bash + run: | + unset HAS_SECRET + unset HAS_SECRET_TEST + if [ -n "$SECRET" ]; then HAS_SECRET='true' ; fi + if [ -n "$SECRET_TEST" ]; then HAS_SECRET_TEST='true' ; fi + echo ::set-output name=HAS_SECRET::${HAS_SECRET} + echo ::set-output name=HAS_SECRET_TEST::${HAS_SECRET_TEST} + env: + SECRET: "${{ secrets.pypi_password }}" + SECRET_TEST: "${{ secrets.test_pypi_password }}" + + - name: Install twine + run: pip install 'twine<=6.0.1' + + - name: Publish distribution to PyPI + if: > + startsWith(github.event.ref, 'refs/tags') && + steps.check_secrets.outputs.HAS_SECRET + env: + # If the PR/Push has secret access + # and PYPI_PASSWORD is in GH Secrets for this repo + # and this is a tag, publish to PyPI + TWINE_REPOSITORY_URL: https://upload.pypi.org/legacy/ + TWINE_USERNAME: "${{ secrets.pypi_username }}" + TWINE_NON_INTERACTIVE: 1 + TWINE_PASSWORD: "${{ secrets.pypi_password }}" + run: twine upload --non-interactive --skip-existing --verbose 'dist/*' + + - name: Publish distribution to Test PyPI + if: steps.check_secrets.outputs.HAS_SECRET + env: + # If the PR/Push has secret access + # and TEST_PYPI_PASSWORD is in GH Secrets for this repo + # then publish each build to test PyPI + TWINE_REPOSITORY_URL: https://test.pypi.org/legacy/ + TWINE_USERNAME: "${{ secrets.test_pypi_username }}" + TWINE_NON_INTERACTIVE: 1 + TWINE_PASSWORD: "${{ secrets.test_pypi_password }}" + run: twine upload --non-interactive --skip-existing --verbose 'dist/*' + From ee4fa4751a6fff03f9c4c51e9f11c3a595696e3b Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Fri, 14 Feb 2025 21:33:06 +0300 Subject: [PATCH 322/353] Update README.rst --- README.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.rst b/README.rst index 97d73ddd1..7f9de8352 100644 --- a/README.rst +++ b/README.rst @@ -56,8 +56,8 @@ python-zstd .. |cpython310x86u16| image:: https://github.com/sergey-dryabzhinsky/python-zstd/actions/workflows/Build_wheels_for_cpython310_x86_u16.yml/badge.svg :target: https://github.com/sergey-dryabzhinsky/python-zstd/actions/workflows/Build_wheels_for_cpython310_x86_u16.yml -.. |cpython310x64u20| image:: https://github.com/sergey-dryabzhinsky/python-zstd/actions/workflows/Build_wheels_for_cpython310_x86_64_u20.yml/badge.svg - :target: https://github.com/sergey-dryabzhinsky/python-zstd/actions/workflows/Build_wheels_for_cpython310_x86_64_u20.yml +.. |cpython310x64u20| image:: https://github.com/sergey-dryabzhinsky/python-zstd/actions/workflows/Build_wheels_for_cpython310_x86_64_u24.yml/badge.svg + :target: https://github.com/sergey-dryabzhinsky/python-zstd/actions/workflows/Build_wheels_for_cpython310_x86_64_u24.yml .. |cpython311x86u16| image:: https://github.com/sergey-dryabzhinsky/python-zstd/actions/workflows/Build_wheels_for_cpython311_x86_u16.yml/badge.svg :target: https://github.com/sergey-dryabzhinsky/python-zstd/actions/workflows/Build_wheels_for_cpython311_x86_u16.yml From 13a0ae0bb6b91f122aef0cdb852fd44d8853046f Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Sat, 15 Feb 2025 11:00:19 +0300 Subject: [PATCH 323/353] Create Build_wheels_for_cpython311_x86_64_u24.yml --- ...Build_wheels_for_cpython311_x86_64_u24.yml | 175 ++++++++++++++++++ 1 file changed, 175 insertions(+) create mode 100644 .github/workflows/Build_wheels_for_cpython311_x86_64_u24.yml diff --git a/.github/workflows/Build_wheels_for_cpython311_x86_64_u24.yml b/.github/workflows/Build_wheels_for_cpython311_x86_64_u24.yml new file mode 100644 index 000000000..15a50a33f --- /dev/null +++ b/.github/workflows/Build_wheels_for_cpython311_x86_64_u24.yml @@ -0,0 +1,175 @@ +name: Build wheels for CPython3.11 x86_64 on Ubuntu24 + +on: [push, pull_request] + +concurrency: + group: ${{ github.ref }}-${{ github.workflow }}-${{ github.event_name }}-${{ github.ref == format('refs/heads/{0}', github.event.repository.default_branch) && github.sha || '' }} + cancel-in-progress: true + +jobs: + build_wheels: + name: Build wheel - ${{ matrix.os.name }} + runs-on: ${{ matrix.os.runs-on }} + strategy: + fail-fast: false + matrix: + os: + - name: Ubuntu 24 amd64 CPython 3.11 + runs-on: ubuntu-latest + matrix: linux + arch: amd64 + tag_arch: x86_64 + release: noble + mirror: http://azure.archive.ubuntu.com/ubuntu + version: 1.5.6.3 + # pyver: "3.7" + getpipurl: https://bootstrap.pypa.io/pip/get-pip.py + pypkg: python3.11 + pypkgadd: python3.11-distutils + pyengine_tag: cp311-cp311 + libc_tag: manylinux_2_34 + steps: + - name: Checkout code + uses: actions/checkout@v4 + with: + submodules: 'recursive' + + - name: Update and upgrade Ubuntu 24 + if: matrix.os.matrix == 'linux' + run: | + sudo which apt + sudo apt update; + sudo apt purge -y firefox lxd snapd; + sudo apt install -y zram-config; + sudo apt list --upgradable; + sudo apt upgrade -y; + sudo apt install -f + + - name: Build source distribution with Ubuntu + if: matrix.os.matrix == 'linux' + run: | + sudo apt install -y debootstrap qemu-user; + pip install build; + python -m build --sdist --outdir dist . + + - name: Debootstrap Ubuntu ${{matrix.os.release}} ${{matrix.os.arch}} + if: matrix.os.matrix == 'linux' + run: | + sudo debootstrap --no-merged-usr --verbose --include=sudo,wget,curl,ca-certificates --arch=${{matrix.os.arch}} ${{matrix.os.release}} ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} ${{matrix.os.mirror}} || tail ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/debootstrap/debootstrap.log + + - name: Update and Upgrade Ubuntu ${{matrix.os.release}} + if: matrix.os.matrix == 'linux' + run: | + sudo mkdir -p ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel + 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 + false && echo " deb [trusted=yes] http://packages.rusoft.ru/ppa/rusoft/python ubuntu-${{matrix.os.release}} main" > rusoft-python.list + false && echo " deb [trusted=yes] http://packages.rusoft.ru/ppa/rusoft/backports ubuntu-${{matrix.os.release}} main" > rusoft-backports.list + false && 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' + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /usr/bin/apt update + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /usr/bin/apt upgrade -y + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /usr/bin/apt -fy install + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /usr/bin/apt upgrade -y + + + - 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 + + - 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}} /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'" + + - name: Pepare source and build wheel for ${{matrix.os.pypkg}} ${{matrix.os.arch}} + if: matrix.os.matrix == 'linux' + run: | + sudo mkdir -p ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel/ + sudo tar -xvf dist/zstd-${{matrix.os.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}} /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}} && ZSTD_ASM=1 _ZSTD_ASM_BMI2=1 ZSTD_THREADS=1 _ZSTD_EXTERNAL=0 ${{matrix.os.pypkg}} setup.py bdist_wheel" + + - 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/ + sudo cp -v glibc-check.sh ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel/zstd-${{matrix.os.version}}/ + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}}/; echo LLH; ls -lh build/*/zstd.*.so; ldd build/*/zstd.*.so ; file build/*/zstd.*.so; bash ./glibc-check.sh build/*/zstd.*.so" + + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}} && ${{matrix.os.pypkg}} setup.py test" + + - name: Pepare wheel for upload + if: matrix.os.matrix == 'linux' + run: | + sudo cp -v ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel/zstd-${{matrix.os.version}}/dist/* ./dist + sudo ls -lh ./dist/* + sudo mv -v ./dist/"zstd-${{matrix.os.version}}-${{matrix.os.pyengine_tag}}-linux_${{matrix.os.tag_arch}}.whl" ./dist/"zstd-${{matrix.os.version}}-${{matrix.os.pyengine_tag}}-${{matrix.os.libc_tag}}_${{matrix.os.tag_arch}}.whl" + sudo rm -vf ./dist/*.tar.gz + + +# - name: Upload artifacts +# uses: actions/upload-artifact@v4 +# with: +# name: wheels +#. path: ./dist +# compression-level: 0 + + - name: Test for secrets access + id: check_secrets + # If a third party makes a pull request + # this allows automated steps below to be skipped + # and leave a clean PR CI run + shell: bash + run: | + unset HAS_SECRET + unset HAS_SECRET_TEST + if [ -n "$SECRET" ]; then HAS_SECRET='true' ; fi + if [ -n "$SECRET_TEST" ]; then HAS_SECRET_TEST='true' ; fi + echo ::set-output name=HAS_SECRET::${HAS_SECRET} + echo ::set-output name=HAS_SECRET_TEST::${HAS_SECRET_TEST} + env: + SECRET: "${{ secrets.pypi_password }}" + SECRET_TEST: "${{ secrets.test_pypi_password }}" + + - name: Install twine + run: pip install 'twine<=6.0.1' + + - name: Publish distribution to PyPI + if: > + startsWith(github.event.ref, 'refs/tags') && + steps.check_secrets.outputs.HAS_SECRET + env: + # If the PR/Push has secret access + # and PYPI_PASSWORD is in GH Secrets for this repo + # and this is a tag, publish to PyPI + TWINE_REPOSITORY_URL: https://upload.pypi.org/legacy/ + TWINE_USERNAME: "${{ secrets.pypi_username }}" + TWINE_NON_INTERACTIVE: 1 + TWINE_PASSWORD: "${{ secrets.pypi_password }}" + run: twine upload --non-interactive --skip-existing --verbose 'dist/*' + + - name: Publish distribution to Test PyPI + if: steps.check_secrets.outputs.HAS_SECRET + env: + # If the PR/Push has secret access + # and TEST_PYPI_PASSWORD is in GH Secrets for this repo + # then publish each build to test PyPI + TWINE_REPOSITORY_URL: https://test.pypi.org/legacy/ + TWINE_USERNAME: "${{ secrets.test_pypi_username }}" + TWINE_NON_INTERACTIVE: 1 + TWINE_PASSWORD: "${{ secrets.test_pypi_password }}" + run: twine upload --non-interactive --skip-existing --verbose 'dist/*' + From 1b6a3e450c02a1d784ceea34049c7bea7351bc1c Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Sat, 15 Feb 2025 11:34:25 +0300 Subject: [PATCH 324/353] Update README.rst --- README.rst | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/README.rst b/README.rst index 7f9de8352..2574c54e8 100644 --- a/README.rst +++ b/README.rst @@ -94,23 +94,23 @@ python-zstd +----------------------+---------------------+ | cpython 3.7 x86 | |cpython37x86| | +----------------------+---------------------+ -| cpython 3.7 x64 | |cpython37x64| | +| cpython 3.7 x64 u24 | |cpython37x64| | +----------------------+---------------------+ | cpython 3.8 x86 | |cpython38x86| | +----------------------+---------------------+ -| cpython 3.8 x64 | |cpython38x64| | +| cpython 3.8 x64 u24 | |cpython38x64| | +----------------------+---------------------+ | cpython 3.9 x86 | |cpython39x86| | +----------------------+---------------------+ -| cpython 3.9 x64 | |cpython39x64| | +| cpython 3.9 x64 u24 | |cpython39x64| | +----------------------+---------------------+ | cpython 3.10 x86 u16 | |cpython310x86u16| | +----------------------+---------------------+ -| cpython 3.10 x64 u20 | |cpython310x64u20| | +| cpython 3.10 x64 u24 | |cpython310x64u20| | +----------------------+---------------------+ | cpython 3.11 x86 u16 | |cpython311x86u16| | +----------------------+---------------------+ -| cpython 3.11 x64 u20 | |cpython311x64u20| | +| cpython 3.11 x64 u24 | |cpython311x64u20| | +----------------------+---------------------+ | cpython 3.12 x86 u16 | |cpython312x86u16| | +----------------------+---------------------+ From 6357e182ced67e17c56aad3e02647ed2170d639d Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Sat, 15 Feb 2025 11:35:38 +0300 Subject: [PATCH 325/353] Delete .github/workflows/Build_wheels_for_cpython310_x86_64_u20.yml --- ...Build_wheels_for_cpython310_x86_64_u20.yml | 174 ------------------ 1 file changed, 174 deletions(-) delete mode 100644 .github/workflows/Build_wheels_for_cpython310_x86_64_u20.yml diff --git a/.github/workflows/Build_wheels_for_cpython310_x86_64_u20.yml b/.github/workflows/Build_wheels_for_cpython310_x86_64_u20.yml deleted file mode 100644 index b5c033925..000000000 --- a/.github/workflows/Build_wheels_for_cpython310_x86_64_u20.yml +++ /dev/null @@ -1,174 +0,0 @@ -name: Build wheels for CPython3.10 x86_64 on Ubuntu20 - -on: [push, pull_request] - -concurrency: - group: ${{ github.ref }}-${{ github.workflow }}-${{ github.event_name }}-${{ github.ref == format('refs/heads/{0}', github.event.repository.default_branch) && github.sha || '' }} - cancel-in-progress: true - -jobs: - build_wheels: - name: Build wheel - ${{ matrix.os.name }} - runs-on: ${{ matrix.os.runs-on }} - strategy: - fail-fast: false - matrix: - os: - - name: Ubuntu 20 amd64 CPython 3.10 - runs-on: ubuntu-20.04 - matrix: linux - arch: amd64 - tag_arch: x86_64 - release: focal - mirror: http://azure.archive.ubuntu.com/ubuntu - version: 1.5.6.3 - # pyver: "3.10" - getpipurl: https://bootstrap.pypa.io/pip/get-pip.py - pypkg: python3.10 - pypkgadd: python3.10-distutils - pyengine_tag: cp310-cp310 - libc_tag: manylinux_2_4 - steps: - - name: Checkout code - uses: actions/checkout@v4 - with: - submodules: 'recursive' - - - name: Update and upgrade Ubuntu 20 - if: matrix.os.matrix == 'linux' - run: | - sudo which apt - sudo apt update; - sudo apt purge -y firefox lxd snapd; - sudo apt install -y zram-config; - sudo apt list --upgradable; - sudo apt upgrade -y; - sudo apt install -f - - - name: Build source distribution with Ubuntu - if: matrix.os.matrix == 'linux' - run: | - sudo apt install -y debootstrap qemu-user; - pip install build; - python -m build --sdist --outdir dist . - - - name: Debootstrap Ubuntu ${{matrix.os.release}} ${{matrix.os.arch}} - if: matrix.os.matrix == 'linux' - run: | - false && sudo debootstrap --no-merged-usr --verbose --include=sudo,wget,curl,gnupg,ca-certificates --arch=${{matrix.os.arch}} ${{matrix.os.release}} ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} ${{matrix.os.mirror}} || echo tail ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/debootstrap/debootstrap.log - - - name: Update and Upgrade Ubuntu ${{matrix.os.release}} - if: matrix.os.matrix == 'linux' - run: | - false && sudo mkdir -p ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel - false && sudo mount none ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/proc -t proc - false && sudo mount none ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/dev/pts -t devpts - false && sudo mount none ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/sys -t sysfs - false && 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 - sudo /usr/bin/apt update - sudo cp -v ./*.list /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 /bin/bash -c 'cd /etc/apt/trusted.gpg.d && wget http://packages.rusoft.ru/apt/public.gpg -Orusoft.gpg' - sudo /bin/bash -c 'cd /etc/apt/trusted.gpg.d && wget http://packages.rusoft.ru/apt/public-old.gpg -Orusoft-old.gpg' - sudo /bin/bash -c 'apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys A2CE4BCCC50209DD || true' - sudo /usr/bin/apt update - sudo /usr/bin/apt upgrade -y || sudo /usr/bin/apt -fy install - sudo /usr/bin/apt -fy install - sudo /usr/bin/apt upgrade -y - - - - name: Pepare dev files - if: matrix.os.matrix == 'linux' - run: | - sudo /usr/bin/apt install -y libzstd-dev - - - name: Pepare for ${{matrix.os.pypkg}} ${{matrix.os.arch}} - if: matrix.os.matrix == 'linux' - run: | - sudo /usr/bin/apt install -y ${{matrix.os.pypkg}}-dev gcc pkg-config ${{matrix.os.pypkgadd}} - sudo /bin/bash -c "wget ${{matrix.os.getpipurl}} -O get-pip.py && ${{matrix.os.pypkg}} get-pip.py || true" - sudo /bin/bash -c "${{matrix.os.pypkg}} -m pip install -U 'setuptools==58.2.0'" - - - name: Pepare source and build wheel for ${{matrix.os.pypkg}} ${{matrix.os.arch}} - if: matrix.os.matrix == 'linux' - run: | - sudo mkdir -p /build_wheel/ - sudo tar -xvf dist/zstd-${{matrix.os.version}}.tar.gz -C /build_wheel/ - false && sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} env - sudo pkg-config libzstd --modversion - sudo /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}} && ZSTD_ASM=1 _ZSTD_SMALL=1 _ZSTD_ASM_BMI2=1 ZSTD_THREADS=1 _ZSTD_EXTERNAL=0 ${{matrix.os.pypkg}} setup.py bdist_wheel" - - - name: Test wheel for ${{matrix.os.pypkg}} ${{matrix.os.arch}} - if: matrix.os.matrix == 'linux' - run: | - sudo find /build_wheel/ - sudo cp -v glibc-check.sh /build_wheel/zstd-${{matrix.os.version}}/glibc-check.sh - sudo /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}}/; 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 /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}} && ${{matrix.os.pypkg}} setup.py test" - - - name: Pepare wheel for upload - if: matrix.os.matrix == 'linux' - run: | - sudo cp -v /build_wheel/zstd-${{matrix.os.version}}/dist/* ./dist - sudo ls -lh ./dist/* - sudo mv -v ./dist/"zstd-${{matrix.os.version}}-${{matrix.os.pyengine_tag}}-linux_${{matrix.os.tag_arch}}.whl" ./dist/"zstd-${{matrix.os.version}}-${{matrix.os.pyengine_tag}}-${{matrix.os.libc_tag}}_${{matrix.os.tag_arch}}.whl" - sudo rm -vf ./dist/*.tar.gz - - -# - name: Upload artifacts -# uses: actions/upload-artifact@v4 -# with: -# name: wheels -#. path: ./dist -# compression-level: 0 - - - name: Test for secrets access - id: check_secrets - # If a third party makes a pull request - # this allows automated steps below to be skipped - # and leave a clean PR CI run - shell: bash - run: | - unset HAS_SECRET - unset HAS_SECRET_TEST - if [ -n "$SECRET" ]; then HAS_SECRET='true' ; fi - if [ -n "$SECRET_TEST" ]; then HAS_SECRET_TEST='true' ; fi - echo ::set-output name=HAS_SECRET::${HAS_SECRET} - echo ::set-output name=HAS_SECRET_TEST::${HAS_SECRET_TEST} - env: - SECRET: "${{ secrets.pypi_password }}" - SECRET_TEST: "${{ secrets.test_pypi_password }}" - - - name: Install twine - run: pip install 'twine<=6.0.1' - - - name: Publish distribution to PyPI - if: > - startsWith(github.event.ref, 'refs/tags') && - steps.check_secrets.outputs.HAS_SECRET - env: - # If the PR/Push has secret access - # and PYPI_PASSWORD is in GH Secrets for this repo - # and this is a tag, publish to PyPI - TWINE_REPOSITORY_URL: https://upload.pypi.org/legacy/ - TWINE_USERNAME: "${{ secrets.pypi_username }}" - TWINE_NON_INTERACTIVE: 1 - TWINE_PASSWORD: "${{ secrets.pypi_password }}" - run: twine upload --non-interactive --skip-existing --verbose 'dist/*' - - - name: Publish distribution to Test PyPI - if: steps.check_secrets.outputs.HAS_SECRET - env: - # If the PR/Push has secret access - # and TEST_PYPI_PASSWORD is in GH Secrets for this repo - # then publish each build to test PyPI - TWINE_REPOSITORY_URL: https://test.pypi.org/legacy/ - TWINE_USERNAME: "${{ secrets.test_pypi_username }}" - TWINE_NON_INTERACTIVE: 1 - TWINE_PASSWORD: "${{ secrets.test_pypi_password }}" - run: twine upload --non-interactive --skip-existing --verbose 'dist/*' - From 8d08ac4eda1ee78d6e71cd2da94f6bc5efac7693 Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Sat, 15 Feb 2025 11:41:04 +0300 Subject: [PATCH 326/353] Delete .github/workflows/Build_wheels_for_cpython311_x86_64_u20.yml --- ...Build_wheels_for_cpython311_x86_64_u20.yml | 174 ------------------ 1 file changed, 174 deletions(-) delete mode 100644 .github/workflows/Build_wheels_for_cpython311_x86_64_u20.yml diff --git a/.github/workflows/Build_wheels_for_cpython311_x86_64_u20.yml b/.github/workflows/Build_wheels_for_cpython311_x86_64_u20.yml deleted file mode 100644 index a86216f72..000000000 --- a/.github/workflows/Build_wheels_for_cpython311_x86_64_u20.yml +++ /dev/null @@ -1,174 +0,0 @@ -name: Build wheels for CPython3.11 x86_64 on Ubuntu20 - -on: [push, pull_request] - -concurrency: - group: ${{ github.ref }}-${{ github.workflow }}-${{ github.event_name }}-${{ github.ref == format('refs/heads/{0}', github.event.repository.default_branch) && github.sha || '' }} - cancel-in-progress: true - -jobs: - build_wheels: - name: Build wheel - ${{ matrix.os.name }} - runs-on: ${{ matrix.os.runs-on }} - strategy: - fail-fast: false - matrix: - os: - - name: Ubuntu 24+20 amd64 CPython 3.11 - runs-on: ubuntu-latest - matrix: linux - arch: amd64 - tag_arch: x86_64 - release: focal - mirror: http://azure.archive.ubuntu.com/ubuntu - version: 1.5.6.3 - pyver: "3.11" - getpipurl: https://bootstrap.pypa.io/pip/get-pip.py - pypkg: python3.11 - pypkgadd: python3.11-distutils - pyengine_tag: cp311-cp311 - libc_tag: manylinux_2_4 - steps: - - name: Checkout code - uses: actions/checkout@v4 - with: - submodules: 'recursive' - - - name: Update and upgrade Ubuntu 24 - if: matrix.os.matrix == 'linux' - run: | - sudo which apt - sudo apt update; - sudo apt purge -y firefox lxd snapd; - sudo apt install -y zram-config; - sudo apt list --upgradable; - sudo apt upgrade -y; - sudo apt install -f - - - name: Build source distribution with Ubuntu - if: matrix.os.matrix == 'linux' - run: | - sudo apt install -y devscripts debootstrap qemu-user; - pip install build; - python -m build --sdist --outdir dist . - - - name: Debootstrap Ubuntu ${{matrix.os.release}} ${{matrix.os.arch}} - if: matrix.os.matrix == 'linux' - run: | - sudo debootstrap --no-merged-usr --verbose --include=sudo,wget,curl,ca-certificates --arch=${{matrix.os.arch}} ${{matrix.os.release}} ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} ${{matrix.os.mirror}} || tail ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/debootstrap/debootstrap.log - - - name: Update and Upgrade Ubuntu ${{matrix.os.release}} - if: matrix.os.matrix == 'linux' - run: | - sudo mkdir -p ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel - 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 - false && 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 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' - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /usr/bin/apt update - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /usr/bin/apt upgrade -y - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /usr/bin/apt -fy install - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /usr/bin/apt upgrade -y - - - - 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 - - - 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}} /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'" - - - name: Pepare source and build wheel for ${{matrix.os.pypkg}} ${{matrix.os.arch}} - if: matrix.os.matrix == 'linux' - run: | - sudo mkdir -p ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel/ - sudo tar -xvf dist/zstd-${{matrix.os.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}} /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}} && ZSTD_ASM=1 _ZSTD_ASM_BMI2=1 ZSTD_THREADS=1 _ZSTD_EXTERNAL=0 python${{matrix.os.pyver}} setup.py bdist_wheel" - - - name: Test wheel for ${{matrix.os.pypkg}} ${{matrix.os.arch}} - if: matrix.os.matrix == 'linux' - run: | - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} find /build_wheel/ - sudo cp -v glibc-check.sh ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel/zstd-${{matrix.os.version}}/ - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}}/; 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-${{matrix.os.version}} && python${{matrix.os.pyver}} setup.py test" - - - name: Pepare wheel for upload - if: matrix.os.matrix == 'linux' - run: | - sudo cp -v ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel/zstd-${{matrix.os.version}}/dist/* ./dist - sudo ls -lh ./dist/* - sudo mv -v ./dist/"zstd-${{matrix.os.version}}-${{matrix.os.pyengine_tag}}-linux_${{matrix.os.tag_arch}}.whl" ./dist/"zstd-${{matrix.os.version}}-${{matrix.os.pyengine_tag}}-${{matrix.os.libc_tag}}_${{matrix.os.tag_arch}}.whl" - sudo rm -vf ./dist/*.tar.gz - - -# - name: Upload artifacts -# uses: actions/upload-artifact@v4 -# with: -# name: wheels -#. path: ./dist -# compression-level: 0 - - - name: Test for secrets access - id: check_secrets - # If a third party makes a pull request - # this allows automated steps below to be skipped - # and leave a clean PR CI run - shell: bash - run: | - unset HAS_SECRET - unset HAS_SECRET_TEST - if [ -n "$SECRET" ]; then HAS_SECRET='true' ; fi - if [ -n "$SECRET_TEST" ]; then HAS_SECRET_TEST='true' ; fi - echo ::set-output name=HAS_SECRET::${HAS_SECRET} - echo ::set-output name=HAS_SECRET_TEST::${HAS_SECRET_TEST} - env: - SECRET: "${{ secrets.pypi_password }}" - SECRET_TEST: "${{ secrets.test_pypi_password }}" - - - name: Install twine - run: pip install 'twine<=6.0.1' - - - name: Publish distribution to PyPI - if: > - startsWith(github.event.ref, 'refs/tags') && - steps.check_secrets.outputs.HAS_SECRET - env: - # If the PR/Push has secret access - # and PYPI_PASSWORD is in GH Secrets for this repo - # and this is a tag, publish to PyPI - TWINE_REPOSITORY_URL: https://upload.pypi.org/legacy/ - TWINE_USERNAME: "${{ secrets.pypi_username }}" - TWINE_NON_INTERACTIVE: 1 - TWINE_PASSWORD: "${{ secrets.pypi_password }}" - run: twine upload --non-interactive --skip-existing --verbose 'dist/*' - - - name: Publish distribution to Test PyPI - if: steps.check_secrets.outputs.HAS_SECRET - env: - # If the PR/Push has secret access - # and TEST_PYPI_PASSWORD is in GH Secrets for this repo - # then publish each build to test PyPI - TWINE_REPOSITORY_URL: https://test.pypi.org/legacy/ - TWINE_USERNAME: "${{ secrets.test_pypi_username }}" - TWINE_NON_INTERACTIVE: 1 - TWINE_PASSWORD: "${{ secrets.test_pypi_password }}" - run: twine upload --non-interactive --skip-existing --verbose 'dist/*' - From 3219825e27e10eb6953196e34c804635bc6e7ed9 Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Sat, 15 Feb 2025 12:51:42 +0300 Subject: [PATCH 327/353] Update Build_wheels_for_cpython312_x86_u16.yml --- .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 4019dbe5c..d4283cc64 100644 --- a/.github/workflows/Build_wheels_for_cpython312_x86_u16.yml +++ b/.github/workflows/Build_wheels_for_cpython312_x86_u16.yml @@ -1,4 +1,4 @@ -name: Build wheels for CPython3.12 x86 on Ububntu16 +name: Build wheels for CPython3.12 x86 on Ubuntu16 on: [push, pull_request] From fd00bffb75a950c34fa3808924163996abd14e55 Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Sat, 15 Feb 2025 12:52:13 +0300 Subject: [PATCH 328/353] Delete .github/workflows/Build_wheels_for_cpython312_x86_64_u24.yml --- ...Build_wheels_for_cpython312_x86_64_u24.yml | 175 ------------------ 1 file changed, 175 deletions(-) delete mode 100644 .github/workflows/Build_wheels_for_cpython312_x86_64_u24.yml diff --git a/.github/workflows/Build_wheels_for_cpython312_x86_64_u24.yml b/.github/workflows/Build_wheels_for_cpython312_x86_64_u24.yml deleted file mode 100644 index d447e021e..000000000 --- a/.github/workflows/Build_wheels_for_cpython312_x86_64_u24.yml +++ /dev/null @@ -1,175 +0,0 @@ -name: Build wheels for CPython3.12 x86_64 on Ubuntu24 - -on: [push, pull_request] - -concurrency: - group: ${{ github.ref }}-${{ github.workflow }}-${{ github.event_name }}-${{ github.ref == format('refs/heads/{0}', github.event.repository.default_branch) && github.sha || '' }} - cancel-in-progress: true - -jobs: - build_wheels: - name: Build wheel - ${{ matrix.os.name }} - runs-on: ${{ matrix.os.runs-on }} - strategy: - fail-fast: false - matrix: - os: - - name: Ubuntu 24+24 amd64 CPython 3.12 - runs-on: ubuntu-latest - matrix: linux - arch: amd64 - tag_arch: x86_64 - release: noble - mirror: http://azure.archive.ubuntu.com/ubuntu - version: 1.5.6.3 - pyver: "3.12" - getpipurl: https://bootstrap.pypa.io/pip/get-pip.py - pypkg: python3.12 - #pypkgadd: python3.12-distutils - #pypkgadd: python3-full - pyengine_tag: cp312-cp312 - libc_tag: manylinux_2_34 - steps: - - name: Checkout code - uses: actions/checkout@v4 - with: - submodules: 'recursive' - - - name: Update and upgrade Ubuntu 24 - if: matrix.os.matrix == 'linux' - run: | - sudo which apt - sudo apt update; - sudo apt purge -y firefox lxd snapd; - sudo apt install -y zram-config; - sudo apt list --upgradable; - sudo apt upgrade -y; - sudo apt install -f - - - name: Build source distribution with Ubuntu - if: matrix.os.matrix == 'linux' - run: | - sudo apt install -y debootstrap qemu-user; - pip install build; - python -m build --sdist --outdir dist . - - - name: Debootstrap Ubuntu ${{matrix.os.release}} ${{matrix.os.arch}} - if: matrix.os.matrix == 'linux' - run: | - sudo debootstrap --no-merged-usr --verbose --include=sudo,wget,curl,gnupg,ca-certificates --arch=${{matrix.os.arch}} ${{matrix.os.release}} ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} ${{matrix.os.mirror}} || tail ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/debootstrap/debootstrap.log - - - name: Update and Upgrade Ubuntu ${{matrix.os.release}} - if: matrix.os.matrix == 'linux' - run: | - sudo mkdir -p ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel - 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 - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /usr/bin/apt update - sudo cp -v ./deadsnakes.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' - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /usr/bin/apt update - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /usr/bin/apt upgrade -y - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /usr/bin/apt -fy install - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /usr/bin/apt upgrade -y - - - - 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 - - - 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}} - false && sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "wget ${{matrix.os.getpipurl}} -O get-pip.py && sudo ${{matrix.os.pypkg}} get-pip.py || true" - false && sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "${{matrix.os.pypkg}} -m ensurepip --upgrade; pip install -U 'setuptools<72.0'" - - - name: Pepare source and build wheel for ${{matrix.os.pypkg}} ${{matrix.os.arch}} - if: matrix.os.matrix == 'linux' - run: | - sudo mkdir -p ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel/ - sudo tar -xvf dist/zstd-${{matrix.os.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}} /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}} && ZSTD_ASM=1 _ZSTD_ASM_BMI2=1 ZSTD_THREADS=1 _ZSTD_EXTERNAL=0 ${{matrix.os.pypkg}} setup.py bdist_wheel" - - - name: Test wheel for ${{matrix.os.pypkg}} ${{matrix.os.arch}} - if: matrix.os.matrix == 'linux' - run: | - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} find /build_wheel/ - sudo cp -v glibc-check.sh ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel/zstd-${{matrix.os.version}}/ - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "echo cd /build_wheel/zstd-${{matrix.os.version}}/; 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-${{matrix.os.version}} && ${{matrix.os.pypkg}} setup.py test" - - - name: Pepare wheel for upload - if: matrix.os.matrix == 'linux' - run: | - sudo cp -v ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel/zstd-${{matrix.os.version}}/dist/* ./dist - sudo ls -lh ./dist/* - sudo mv -v ./dist/"zstd-${{matrix.os.version}}-${{matrix.os.pyengine_tag}}-linux_${{matrix.os.tag_arch}}.whl" ./dist/"zstd-${{matrix.os.version}}-${{matrix.os.pyengine_tag}}-${{matrix.os.libc_tag}}_${{matrix.os.tag_arch}}.whl" - sudo rm -vf ./dist/*.tar.gz - - -# - name: Upload artifacts -# uses: actions/upload-artifact@v4 -# with: -# name: wheels -#. path: ./dist -# compression-level: 0 - - - name: Test for secrets access - id: check_secrets - # If a third party makes a pull request - # this allows automated steps below to be skipped - # and leave a clean PR CI run - shell: bash - run: | - unset HAS_SECRET - unset HAS_SECRET_TEST - if [ -n "$SECRET" ]; then HAS_SECRET='true' ; fi - if [ -n "$SECRET_TEST" ]; then HAS_SECRET_TEST='true' ; fi - echo ::set-output name=HAS_SECRET::${HAS_SECRET} - echo ::set-output name=HAS_SECRET_TEST::${HAS_SECRET_TEST} - env: - SECRET: "${{ secrets.pypi_password }}" - SECRET_TEST: "${{ secrets.test_pypi_password }}" - - - name: Install twine - run: pip install 'twine<=6.0.1' - - - name: Publish distribution to PyPI - if: > - startsWith(github.event.ref, 'refs/tags') && - steps.check_secrets.outputs.HAS_SECRET - env: - # If the PR/Push has secret access - # and PYPI_PASSWORD is in GH Secrets for this repo - # and this is a tag, publish to PyPI - TWINE_REPOSITORY_URL: https://upload.pypi.org/legacy/ - TWINE_USERNAME: "${{ secrets.pypi_username }}" - TWINE_NON_INTERACTIVE: 1 - TWINE_PASSWORD: "${{ secrets.pypi_password }}" - run: twine upload --non-interactive --skip-existing --verbose 'dist/*' - - - name: Publish distribution to Test PyPI - if: steps.check_secrets.outputs.HAS_SECRET - env: - # If the PR/Push has secret access - # and TEST_PYPI_PASSWORD is in GH Secrets for this repo - # then publish each build to test PyPI - TWINE_REPOSITORY_URL: https://test.pypi.org/legacy/ - TWINE_USERNAME: "${{ secrets.test_pypi_username }}" - TWINE_NON_INTERACTIVE: 1 - TWINE_PASSWORD: "${{ secrets.test_pypi_password }}" - run: twine upload --non-interactive --skip-existing --verbose 'dist/*' - From 6cfada56f42067d3ee783fa829a3e07a3d5d6647 Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Sat, 15 Feb 2025 12:54:24 +0300 Subject: [PATCH 329/353] Create Build_wheels_for_cpython312_x86_64_u24.yml --- ...Build_wheels_for_cpython312_x86_64_u24.yml | 175 ++++++++++++++++++ 1 file changed, 175 insertions(+) create mode 100644 .github/workflows/Build_wheels_for_cpython312_x86_64_u24.yml diff --git a/.github/workflows/Build_wheels_for_cpython312_x86_64_u24.yml b/.github/workflows/Build_wheels_for_cpython312_x86_64_u24.yml new file mode 100644 index 000000000..51f5cfe95 --- /dev/null +++ b/.github/workflows/Build_wheels_for_cpython312_x86_64_u24.yml @@ -0,0 +1,175 @@ +name: Build wheels for CPython3.12 x86_64 on Ubuntu24 + +on: [push, pull_request] + +concurrency: + group: ${{ github.ref }}-${{ github.workflow }}-${{ github.event_name }}-${{ github.ref == format('refs/heads/{0}', github.event.repository.default_branch) && github.sha || '' }} + cancel-in-progress: true + +jobs: + build_wheels: + name: Build wheel - ${{ matrix.os.name }} + runs-on: ${{ matrix.os.runs-on }} + strategy: + fail-fast: false + matrix: + os: + - name: Ubuntu 24 amd64 CPython 3.12 + runs-on: ubuntu-latest + matrix: linux + arch: amd64 + tag_arch: x86_64 + release: noble + mirror: http://azure.archive.ubuntu.com/ubuntu + version: 1.5.6.3 + # pyver: "3.7" + getpipurl: https://bootstrap.pypa.io/pip/get-pip.py + pypkg: python3.12 + pypkgadd: python3.12-distutils + pyengine_tag: cp312-cp312 + libc_tag: manylinux_2_34 + steps: + - name: Checkout code + uses: actions/checkout@v4 + with: + submodules: 'recursive' + + - name: Update and upgrade Ubuntu 24 + if: matrix.os.matrix == 'linux' + run: | + sudo which apt + sudo apt update; + sudo apt purge -y firefox lxd snapd; + sudo apt install -y zram-config; + sudo apt list --upgradable; + sudo apt upgrade -y; + sudo apt install -f + + - name: Build source distribution with Ubuntu + if: matrix.os.matrix == 'linux' + run: | + sudo apt install -y debootstrap qemu-user; + pip install build; + python -m build --sdist --outdir dist . + + - name: Debootstrap Ubuntu ${{matrix.os.release}} ${{matrix.os.arch}} + if: matrix.os.matrix == 'linux' + run: | + sudo debootstrap --no-merged-usr --verbose --include=sudo,wget,curl,ca-certificates --arch=${{matrix.os.arch}} ${{matrix.os.release}} ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} ${{matrix.os.mirror}} || tail ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/debootstrap/debootstrap.log + + - name: Update and Upgrade Ubuntu ${{matrix.os.release}} + if: matrix.os.matrix == 'linux' + run: | + sudo mkdir -p ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel + 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 + false && echo " deb [trusted=yes] http://packages.rusoft.ru/ppa/rusoft/python ubuntu-${{matrix.os.release}} main" > rusoft-python.list + false && echo " deb [trusted=yes] http://packages.rusoft.ru/ppa/rusoft/backports ubuntu-${{matrix.os.release}} main" > rusoft-backports.list + false && 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' + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /usr/bin/apt update + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /usr/bin/apt upgrade -y + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /usr/bin/apt -fy install + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /usr/bin/apt upgrade -y + + + - 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 + + - 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}} /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'" + + - name: Pepare source and build wheel for ${{matrix.os.pypkg}} ${{matrix.os.arch}} + if: matrix.os.matrix == 'linux' + run: | + sudo mkdir -p ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel/ + sudo tar -xvf dist/zstd-${{matrix.os.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}} /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}} && ZSTD_ASM=1 _ZSTD_ASM_BMI2=1 ZSTD_THREADS=1 _ZSTD_EXTERNAL=0 ${{matrix.os.pypkg}} setup.py bdist_wheel" + + - 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/ + sudo cp -v glibc-check.sh ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel/zstd-${{matrix.os.version}}/ + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}}/; echo LLH; ls -lh build/*/zstd.*.so; ldd build/*/zstd.*.so ; file build/*/zstd.*.so; bash ./glibc-check.sh build/*/zstd.*.so" + + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}} && ${{matrix.os.pypkg}} setup.py test" + + - name: Pepare wheel for upload + if: matrix.os.matrix == 'linux' + run: | + sudo cp -v ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel/zstd-${{matrix.os.version}}/dist/* ./dist + sudo ls -lh ./dist/* + sudo mv -v ./dist/"zstd-${{matrix.os.version}}-${{matrix.os.pyengine_tag}}-linux_${{matrix.os.tag_arch}}.whl" ./dist/"zstd-${{matrix.os.version}}-${{matrix.os.pyengine_tag}}-${{matrix.os.libc_tag}}_${{matrix.os.tag_arch}}.whl" + sudo rm -vf ./dist/*.tar.gz + + +# - name: Upload artifacts +# uses: actions/upload-artifact@v4 +# with: +# name: wheels +#. path: ./dist +# compression-level: 0 + + - name: Test for secrets access + id: check_secrets + # If a third party makes a pull request + # this allows automated steps below to be skipped + # and leave a clean PR CI run + shell: bash + run: | + unset HAS_SECRET + unset HAS_SECRET_TEST + if [ -n "$SECRET" ]; then HAS_SECRET='true' ; fi + if [ -n "$SECRET_TEST" ]; then HAS_SECRET_TEST='true' ; fi + echo ::set-output name=HAS_SECRET::${HAS_SECRET} + echo ::set-output name=HAS_SECRET_TEST::${HAS_SECRET_TEST} + env: + SECRET: "${{ secrets.pypi_password }}" + SECRET_TEST: "${{ secrets.test_pypi_password }}" + + - name: Install twine + run: pip install 'twine<=6.0.1' + + - name: Publish distribution to PyPI + if: > + startsWith(github.event.ref, 'refs/tags') && + steps.check_secrets.outputs.HAS_SECRET + env: + # If the PR/Push has secret access + # and PYPI_PASSWORD is in GH Secrets for this repo + # and this is a tag, publish to PyPI + TWINE_REPOSITORY_URL: https://upload.pypi.org/legacy/ + TWINE_USERNAME: "${{ secrets.pypi_username }}" + TWINE_NON_INTERACTIVE: 1 + TWINE_PASSWORD: "${{ secrets.pypi_password }}" + run: twine upload --non-interactive --skip-existing --verbose 'dist/*' + + - name: Publish distribution to Test PyPI + if: steps.check_secrets.outputs.HAS_SECRET + env: + # If the PR/Push has secret access + # and TEST_PYPI_PASSWORD is in GH Secrets for this repo + # then publish each build to test PyPI + TWINE_REPOSITORY_URL: https://test.pypi.org/legacy/ + TWINE_USERNAME: "${{ secrets.test_pypi_username }}" + TWINE_NON_INTERACTIVE: 1 + TWINE_PASSWORD: "${{ secrets.test_pypi_password }}" + run: twine upload --non-interactive --skip-existing --verbose 'dist/*' + From 315bf0da9222aafa0353b0315a86cc98957ed9f7 Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Sat, 15 Feb 2025 13:29:33 +0300 Subject: [PATCH 330/353] Update Build_wheels_for_cpython312_x86_64_u24.yml --- .../workflows/Build_wheels_for_cpython312_x86_64_u24.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/Build_wheels_for_cpython312_x86_64_u24.yml b/.github/workflows/Build_wheels_for_cpython312_x86_64_u24.yml index 51f5cfe95..08065c23f 100644 --- a/.github/workflows/Build_wheels_for_cpython312_x86_64_u24.yml +++ b/.github/workflows/Build_wheels_for_cpython312_x86_64_u24.yml @@ -64,9 +64,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 - false && echo " deb [trusted=yes] http://packages.rusoft.ru/ppa/rusoft/python ubuntu-${{matrix.os.release}} main" > rusoft-python.list - false && echo " deb [trusted=yes] http://packages.rusoft.ru/ppa/rusoft/backports ubuntu-${{matrix.os.release}} main" > rusoft-backports.list - false && 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 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 From 4def1153ead17aecbd83536895604a1b8111d70f Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Sat, 15 Feb 2025 14:12:15 +0300 Subject: [PATCH 331/353] Update README.rst --- README.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.rst b/README.rst index 2574c54e8..73a48bb7b 100644 --- a/README.rst +++ b/README.rst @@ -114,7 +114,7 @@ python-zstd +----------------------+---------------------+ | cpython 3.12 x86 u16 | |cpython312x86u16| | +----------------------+---------------------+ -| cpython 3.12 x64 u20 | |cpython312x64u20| | +| cpython 3.12 x64 u24 | |cpython312x64u20| | +----------------------+---------------------+ | Release | |releaseW| | | 1.5.6.3 | | From d8bad0cd73fb2fefb4eefe7fa4713c2a77543b8c Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Sat, 15 Feb 2025 14:15:10 +0300 Subject: [PATCH 332/353] Update Build_wheels_for_cpython37_x86.yml --- .../workflows/Build_wheels_for_cpython37_x86.yml | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/.github/workflows/Build_wheels_for_cpython37_x86.yml b/.github/workflows/Build_wheels_for_cpython37_x86.yml index fd9120c8c..ddb4df430 100644 --- a/.github/workflows/Build_wheels_for_cpython37_x86.yml +++ b/.github/workflows/Build_wheels_for_cpython37_x86.yml @@ -1,4 +1,4 @@ -name: Build wheels for CPython3.12 x86 on Ububntu16 +name: Build wheels for CPython3.7 x86 on Ububntu16 on: [push, pull_request] @@ -14,7 +14,7 @@ jobs: fail-fast: false matrix: os: - - name: Ubuntu 24+16 i386 CPython 3.12 + - name: Ubuntu 24+16 i386 CPython 3.7 runs-on: ubuntu-latest matrix: linux arch: i386 @@ -22,11 +22,11 @@ jobs: release: xenial mirror: http://azure.archive.ubuntu.com/ubuntu version: 1.5.6.3 - pyver: "3.11" - getpipurl: https://bootstrap.pypa.io/pip/get-pip.py - pypkg: python3.12 - #pypkgadd: python3.12-distutils - pyengine_tag: cp312-cp3112 + #pyver: "3.11" + getpipurl: https://bootstrap.pypa.io/pip/3.7/get-pip.py + pypkg: python3.7 + pypkgadd: python3.7-distutils + pyengine_tag: cp37-cp37 libc_tag: manylinux_2_4 steps: - name: Checkout code From c7f58760b375e6038a9b36fee358c56849117eeb Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Sat, 15 Feb 2025 14:17:08 +0300 Subject: [PATCH 333/353] Create Build_wheels_for_cpython313_x86_64_u24.yml --- ...Build_wheels_for_cpython313_x86_64_u24.yml | 175 ++++++++++++++++++ 1 file changed, 175 insertions(+) create mode 100644 .github/workflows/Build_wheels_for_cpython313_x86_64_u24.yml diff --git a/.github/workflows/Build_wheels_for_cpython313_x86_64_u24.yml b/.github/workflows/Build_wheels_for_cpython313_x86_64_u24.yml new file mode 100644 index 000000000..c56ada79d --- /dev/null +++ b/.github/workflows/Build_wheels_for_cpython313_x86_64_u24.yml @@ -0,0 +1,175 @@ +name: Build wheels for CPython3.13 x86_64 on Ubuntu24 + +on: [push, pull_request] + +concurrency: + group: ${{ github.ref }}-${{ github.workflow }}-${{ github.event_name }}-${{ github.ref == format('refs/heads/{0}', github.event.repository.default_branch) && github.sha || '' }} + cancel-in-progress: true + +jobs: + build_wheels: + name: Build wheel - ${{ matrix.os.name }} + runs-on: ${{ matrix.os.runs-on }} + strategy: + fail-fast: false + matrix: + os: + - name: Ubuntu 24 amd64 CPython 3.13 + runs-on: ubuntu-latest + matrix: linux + arch: amd64 + tag_arch: x86_64 + release: noble + mirror: http://azure.archive.ubuntu.com/ubuntu + version: 1.5.6.3 + # pyver: "3.7" + getpipurl: https://bootstrap.pypa.io/pip/get-pip.py + pypkg: python3.13 + pypkgadd: python3.13-distutils + pyengine_tag: cp313-cp313 + libc_tag: manylinux_2_34 + steps: + - name: Checkout code + uses: actions/checkout@v4 + with: + submodules: 'recursive' + + - name: Update and upgrade Ubuntu 24 + if: matrix.os.matrix == 'linux' + run: | + sudo which apt + sudo apt update; + sudo apt purge -y firefox lxd snapd; + sudo apt install -y zram-config; + sudo apt list --upgradable; + sudo apt upgrade -y; + sudo apt install -f + + - name: Build source distribution with Ubuntu + if: matrix.os.matrix == 'linux' + run: | + sudo apt install -y debootstrap qemu-user; + pip install build; + python -m build --sdist --outdir dist . + + - name: Debootstrap Ubuntu ${{matrix.os.release}} ${{matrix.os.arch}} + if: matrix.os.matrix == 'linux' + run: | + sudo debootstrap --no-merged-usr --verbose --include=sudo,wget,curl,ca-certificates --arch=${{matrix.os.arch}} ${{matrix.os.release}} ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} ${{matrix.os.mirror}} || tail ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/debootstrap/debootstrap.log + + - name: Update and Upgrade Ubuntu ${{matrix.os.release}} + if: matrix.os.matrix == 'linux' + run: | + sudo mkdir -p ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel + 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 + 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' + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /usr/bin/apt update + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /usr/bin/apt upgrade -y + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /usr/bin/apt -fy install + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /usr/bin/apt upgrade -y + + + - 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 + + - 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}} /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'" + + - name: Pepare source and build wheel for ${{matrix.os.pypkg}} ${{matrix.os.arch}} + if: matrix.os.matrix == 'linux' + run: | + sudo mkdir -p ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel/ + sudo tar -xvf dist/zstd-${{matrix.os.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}} /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}} && ZSTD_ASM=1 _ZSTD_ASM_BMI2=1 ZSTD_THREADS=1 _ZSTD_EXTERNAL=0 ${{matrix.os.pypkg}} setup.py bdist_wheel" + + - 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/ + sudo cp -v glibc-check.sh ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel/zstd-${{matrix.os.version}}/ + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}}/; echo LLH; ls -lh build/*/zstd.*.so; ldd build/*/zstd.*.so ; file build/*/zstd.*.so; bash ./glibc-check.sh build/*/zstd.*.so" + + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}} && ${{matrix.os.pypkg}} setup.py test" + + - name: Pepare wheel for upload + if: matrix.os.matrix == 'linux' + run: | + sudo cp -v ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel/zstd-${{matrix.os.version}}/dist/* ./dist + sudo ls -lh ./dist/* + sudo mv -v ./dist/"zstd-${{matrix.os.version}}-${{matrix.os.pyengine_tag}}-linux_${{matrix.os.tag_arch}}.whl" ./dist/"zstd-${{matrix.os.version}}-${{matrix.os.pyengine_tag}}-${{matrix.os.libc_tag}}_${{matrix.os.tag_arch}}.whl" + sudo rm -vf ./dist/*.tar.gz + + +# - name: Upload artifacts +# uses: actions/upload-artifact@v4 +# with: +# name: wheels +#. path: ./dist +# compression-level: 0 + + - name: Test for secrets access + id: check_secrets + # If a third party makes a pull request + # this allows automated steps below to be skipped + # and leave a clean PR CI run + shell: bash + run: | + unset HAS_SECRET + unset HAS_SECRET_TEST + if [ -n "$SECRET" ]; then HAS_SECRET='true' ; fi + if [ -n "$SECRET_TEST" ]; then HAS_SECRET_TEST='true' ; fi + echo ::set-output name=HAS_SECRET::${HAS_SECRET} + echo ::set-output name=HAS_SECRET_TEST::${HAS_SECRET_TEST} + env: + SECRET: "${{ secrets.pypi_password }}" + SECRET_TEST: "${{ secrets.test_pypi_password }}" + + - name: Install twine + run: pip install 'twine<=6.0.1' + + - name: Publish distribution to PyPI + if: > + startsWith(github.event.ref, 'refs/tags') && + steps.check_secrets.outputs.HAS_SECRET + env: + # If the PR/Push has secret access + # and PYPI_PASSWORD is in GH Secrets for this repo + # and this is a tag, publish to PyPI + TWINE_REPOSITORY_URL: https://upload.pypi.org/legacy/ + TWINE_USERNAME: "${{ secrets.pypi_username }}" + TWINE_NON_INTERACTIVE: 1 + TWINE_PASSWORD: "${{ secrets.pypi_password }}" + run: twine upload --non-interactive --skip-existing --verbose 'dist/*' + + - name: Publish distribution to Test PyPI + if: steps.check_secrets.outputs.HAS_SECRET + env: + # If the PR/Push has secret access + # and TEST_PYPI_PASSWORD is in GH Secrets for this repo + # then publish each build to test PyPI + TWINE_REPOSITORY_URL: https://test.pypi.org/legacy/ + TWINE_USERNAME: "${{ secrets.test_pypi_username }}" + TWINE_NON_INTERACTIVE: 1 + TWINE_PASSWORD: "${{ secrets.test_pypi_password }}" + run: twine upload --non-interactive --skip-existing --verbose 'dist/*' + From b0c505a09e193e7741e7dc720684b33009d4fa6a Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Sat, 15 Feb 2025 14:20:17 +0300 Subject: [PATCH 334/353] Update README.rst --- README.rst | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/README.rst b/README.rst index 73a48bb7b..0e33e136e 100644 --- a/README.rst +++ b/README.rst @@ -71,6 +71,9 @@ python-zstd .. |cpython312x64u20| image:: https://github.com/sergey-dryabzhinsky/python-zstd/actions/workflows/Build_wheels_for_cpython312_x86_64_u20.yml/badge.svg :target: https://github.com/sergey-dryabzhinsky/python-zstd/actions/workflows/Build_wheels_for_cpython312_x86_64_u20.yml +.. |cpython313x64u20| image:: https://github.com/sergey-dryabzhinsky/python-zstd/actions/workflows/Build_wheels_for_cpython313_x86_64_u20.yml/badge.svg + :target: https://github.com/sergey-dryabzhinsky/python-zstd/actions/workflows/Build_wheels_for_cpython313_x86_64_u20.yml + +----------------------+---------------------+ | wheels for: | status | +======================+=====================+ @@ -116,6 +119,8 @@ python-zstd +----------------------+---------------------+ | cpython 3.12 x64 u24 | |cpython312x64u20| | +----------------------+---------------------+ +| cpython 3.13 x64 u24 | |cpython313x64u20| | ++----------------------+---------------------+ | Release | |releaseW| | | 1.5.6.3 | | +----------------------+---------------------+ From a3d3192e096c5ce4892c48ec774e985e92aab091 Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Sat, 15 Feb 2025 14:22:38 +0300 Subject: [PATCH 335/353] Update README.rst --- README.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.rst b/README.rst index 0e33e136e..0ae481bbd 100644 --- a/README.rst +++ b/README.rst @@ -71,8 +71,8 @@ python-zstd .. |cpython312x64u20| image:: https://github.com/sergey-dryabzhinsky/python-zstd/actions/workflows/Build_wheels_for_cpython312_x86_64_u20.yml/badge.svg :target: https://github.com/sergey-dryabzhinsky/python-zstd/actions/workflows/Build_wheels_for_cpython312_x86_64_u20.yml -.. |cpython313x64u20| image:: https://github.com/sergey-dryabzhinsky/python-zstd/actions/workflows/Build_wheels_for_cpython313_x86_64_u20.yml/badge.svg - :target: https://github.com/sergey-dryabzhinsky/python-zstd/actions/workflows/Build_wheels_for_cpython313_x86_64_u20.yml +.. |cpython313x64u20| image:: https://github.com/sergey-dryabzhinsky/python-zstd/actions/workflows/Build_wheels_for_cpython313_x86_64_u24.yml/badge.svg + :target: https://github.com/sergey-dryabzhinsky/python-zstd/actions/workflows/Build_wheels_for_cpython313_x86_64_u24.yml +----------------------+---------------------+ | wheels for: | status | From 75ff54efcc13b4e8c902bee8069348ec9954bcca Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Sat, 15 Feb 2025 14:59:50 +0300 Subject: [PATCH 336/353] Update Build_wheels_for_cpython313_x86_64_u24.yml --- .github/workflows/Build_wheels_for_cpython313_x86_64_u24.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/Build_wheels_for_cpython313_x86_64_u24.yml b/.github/workflows/Build_wheels_for_cpython313_x86_64_u24.yml index c56ada79d..6d172c78b 100644 --- a/.github/workflows/Build_wheels_for_cpython313_x86_64_u24.yml +++ b/.github/workflows/Build_wheels_for_cpython313_x86_64_u24.yml @@ -25,7 +25,7 @@ jobs: # pyver: "3.7" getpipurl: https://bootstrap.pypa.io/pip/get-pip.py pypkg: python3.13 - pypkgadd: python3.13-distutils + #pypkgadd: python3.13-distutils pyengine_tag: cp313-cp313 libc_tag: manylinux_2_34 steps: From 99ba038cfaf37228a81004328b7a1ab1f0acc9b8 Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Sat, 15 Feb 2025 17:02:50 +0300 Subject: [PATCH 337/353] Create Build_wheels_for_cpython314_x86_64_u24.yml --- ...Build_wheels_for_cpython314_x86_64_u24.yml | 175 ++++++++++++++++++ 1 file changed, 175 insertions(+) create mode 100644 .github/workflows/Build_wheels_for_cpython314_x86_64_u24.yml diff --git a/.github/workflows/Build_wheels_for_cpython314_x86_64_u24.yml b/.github/workflows/Build_wheels_for_cpython314_x86_64_u24.yml new file mode 100644 index 000000000..4b85e8c59 --- /dev/null +++ b/.github/workflows/Build_wheels_for_cpython314_x86_64_u24.yml @@ -0,0 +1,175 @@ +name: Build wheels for CPython3.134 x86_64 on Ubuntu24 + +on: [push, pull_request] + +concurrency: + group: ${{ github.ref }}-${{ github.workflow }}-${{ github.event_name }}-${{ github.ref == format('refs/heads/{0}', github.event.repository.default_branch) && github.sha || '' }} + cancel-in-progress: true + +jobs: + build_wheels: + name: Build wheel - ${{ matrix.os.name }} + runs-on: ${{ matrix.os.runs-on }} + strategy: + fail-fast: false + matrix: + os: + - name: Ubuntu 24 amd64 CPython 3.14 + runs-on: ubuntu-latest + matrix: linux + arch: amd64 + tag_arch: x86_64 + release: noble + mirror: http://azure.archive.ubuntu.com/ubuntu + version: 1.5.6.3 + # pyver: "3.7" + getpipurl: https://bootstrap.pypa.io/pip/get-pip.py + pypkg: python3.14 + #pypkgadd: python3.13-distutils + pyengine_tag: cp314-cp314 + libc_tag: manylinux_2_34 + steps: + - name: Checkout code + uses: actions/checkout@v4 + with: + submodules: 'recursive' + + - name: Update and upgrade Ubuntu 24 + if: matrix.os.matrix == 'linux' + run: | + sudo which apt + sudo apt update; + sudo apt purge -y firefox lxd snapd; + sudo apt install -y zram-config; + sudo apt list --upgradable; + sudo apt upgrade -y; + sudo apt install -f + + - name: Build source distribution with Ubuntu + if: matrix.os.matrix == 'linux' + run: | + sudo apt install -y debootstrap qemu-user; + pip install build; + python -m build --sdist --outdir dist . + + - name: Debootstrap Ubuntu ${{matrix.os.release}} ${{matrix.os.arch}} + if: matrix.os.matrix == 'linux' + run: | + sudo debootstrap --no-merged-usr --verbose --include=sudo,wget,curl,ca-certificates --arch=${{matrix.os.arch}} ${{matrix.os.release}} ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} ${{matrix.os.mirror}} || tail ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/debootstrap/debootstrap.log + + - name: Update and Upgrade Ubuntu ${{matrix.os.release}} + if: matrix.os.matrix == 'linux' + run: | + sudo mkdir -p ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel + 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 + 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' + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /usr/bin/apt update + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /usr/bin/apt upgrade -y + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /usr/bin/apt -fy install + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /usr/bin/apt upgrade -y + + + - 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 + + - 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}} /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'" + + - name: Pepare source and build wheel for ${{matrix.os.pypkg}} ${{matrix.os.arch}} + if: matrix.os.matrix == 'linux' + run: | + sudo mkdir -p ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel/ + sudo tar -xvf dist/zstd-${{matrix.os.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}} /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}} && ZSTD_ASM=1 _ZSTD_ASM_BMI2=1 ZSTD_THREADS=1 _ZSTD_EXTERNAL=0 ${{matrix.os.pypkg}} setup.py bdist_wheel" + + - 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/ + sudo cp -v glibc-check.sh ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel/zstd-${{matrix.os.version}}/ + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}}/; echo LLH; ls -lh build/*/zstd.*.so; ldd build/*/zstd.*.so ; file build/*/zstd.*.so; bash ./glibc-check.sh build/*/zstd.*.so" + + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}} && ${{matrix.os.pypkg}} setup.py test" + + - name: Pepare wheel for upload + if: matrix.os.matrix == 'linux' + run: | + sudo cp -v ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel/zstd-${{matrix.os.version}}/dist/* ./dist + sudo ls -lh ./dist/* + sudo mv -v ./dist/"zstd-${{matrix.os.version}}-${{matrix.os.pyengine_tag}}-linux_${{matrix.os.tag_arch}}.whl" ./dist/"zstd-${{matrix.os.version}}-${{matrix.os.pyengine_tag}}-${{matrix.os.libc_tag}}_${{matrix.os.tag_arch}}.whl" + sudo rm -vf ./dist/*.tar.gz + + +# - name: Upload artifacts +# uses: actions/upload-artifact@v4 +# with: +# name: wheels +#. path: ./dist +# compression-level: 0 + + - name: Test for secrets access + id: check_secrets + # If a third party makes a pull request + # this allows automated steps below to be skipped + # and leave a clean PR CI run + shell: bash + run: | + unset HAS_SECRET + unset HAS_SECRET_TEST + if [ -n "$SECRET" ]; then HAS_SECRET='true' ; fi + if [ -n "$SECRET_TEST" ]; then HAS_SECRET_TEST='true' ; fi + echo ::set-output name=HAS_SECRET::${HAS_SECRET} + echo ::set-output name=HAS_SECRET_TEST::${HAS_SECRET_TEST} + env: + SECRET: "${{ secrets.pypi_password }}" + SECRET_TEST: "${{ secrets.test_pypi_password }}" + + - name: Install twine + run: pip install 'twine<=6.0.1' + + - name: Publish distribution to PyPI + if: > + startsWith(github.event.ref, 'refs/tags') && + steps.check_secrets.outputs.HAS_SECRET + env: + # If the PR/Push has secret access + # and PYPI_PASSWORD is in GH Secrets for this repo + # and this is a tag, publish to PyPI + TWINE_REPOSITORY_URL: https://upload.pypi.org/legacy/ + TWINE_USERNAME: "${{ secrets.pypi_username }}" + TWINE_NON_INTERACTIVE: 1 + TWINE_PASSWORD: "${{ secrets.pypi_password }}" + run: twine upload --non-interactive --skip-existing --verbose 'dist/*' + + - name: Publish distribution to Test PyPI + if: steps.check_secrets.outputs.HAS_SECRET + env: + # If the PR/Push has secret access + # and TEST_PYPI_PASSWORD is in GH Secrets for this repo + # then publish each build to test PyPI + TWINE_REPOSITORY_URL: https://test.pypi.org/legacy/ + TWINE_USERNAME: "${{ secrets.test_pypi_username }}" + TWINE_NON_INTERACTIVE: 1 + TWINE_PASSWORD: "${{ secrets.test_pypi_password }}" + run: twine upload --non-interactive --skip-existing --verbose 'dist/*' + From 5fcf4d3150a694a4f2f4fa1247c082b0d9c372b3 Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Sat, 15 Feb 2025 17:04:13 +0300 Subject: [PATCH 338/353] Update README.rst --- README.rst | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/README.rst b/README.rst index 0ae481bbd..83263d1b8 100644 --- a/README.rst +++ b/README.rst @@ -74,6 +74,9 @@ python-zstd .. |cpython313x64u20| image:: https://github.com/sergey-dryabzhinsky/python-zstd/actions/workflows/Build_wheels_for_cpython313_x86_64_u24.yml/badge.svg :target: https://github.com/sergey-dryabzhinsky/python-zstd/actions/workflows/Build_wheels_for_cpython313_x86_64_u24.yml +.. |cpython314x64u20| image:: https://github.com/sergey-dryabzhinsky/python-zstd/actions/workflows/Build_wheels_for_cpython314_x86_64_u24.yml/badge.svg + :target: https://github.com/sergey-dryabzhinsky/python-zstd/actions/workflows/Build_wheels_for_cpython314_x86_64_u24.yml + +----------------------+---------------------+ | wheels for: | status | +======================+=====================+ @@ -121,6 +124,8 @@ python-zstd +----------------------+---------------------+ | cpython 3.13 x64 u24 | |cpython313x64u20| | +----------------------+---------------------+ +| cpython 3.14 x64 u24 | |cpython314x64u20| | ++----------------------+---------------------+ | Release | |releaseW| | | 1.5.6.3 | | +----------------------+---------------------+ From 662a3ed3d2c8776577e23ee0a6570710d8e194e1 Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Sat, 15 Feb 2025 17:05:09 +0300 Subject: [PATCH 339/353] Update Build_wheels_for_cpython314_x86_64_u24.yml --- .github/workflows/Build_wheels_for_cpython314_x86_64_u24.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/Build_wheels_for_cpython314_x86_64_u24.yml b/.github/workflows/Build_wheels_for_cpython314_x86_64_u24.yml index 4b85e8c59..0661f592a 100644 --- a/.github/workflows/Build_wheels_for_cpython314_x86_64_u24.yml +++ b/.github/workflows/Build_wheels_for_cpython314_x86_64_u24.yml @@ -1,4 +1,4 @@ -name: Build wheels for CPython3.134 x86_64 on Ubuntu24 +name: Build wheels for CPython3.14 x86_64 on Ubuntu24 on: [push, pull_request] From 09eca0e833ca989ee30c80986067d9a0f834347d Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Sat, 15 Feb 2025 17:06:01 +0300 Subject: [PATCH 340/353] Update Build_wheels_for_cpython311_x86_u16.yml --- .github/workflows/Build_wheels_for_cpython311_x86_u16.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/Build_wheels_for_cpython311_x86_u16.yml b/.github/workflows/Build_wheels_for_cpython311_x86_u16.yml index 5d4033a27..bdb22b69a 100644 --- a/.github/workflows/Build_wheels_for_cpython311_x86_u16.yml +++ b/.github/workflows/Build_wheels_for_cpython311_x86_u16.yml @@ -1,4 +1,4 @@ -name: Build wheels for CPython3.11 x86 on Ububntu16 +name: Build wheels for CPython3.11 x86 on Ubuntu16 on: [push, pull_request] From 9e5087af47b59b2efb3f84592027a5675cb34da3 Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Sat, 15 Feb 2025 17:06:58 +0300 Subject: [PATCH 341/353] Update README.rst --- README.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.rst b/README.rst index 83263d1b8..193929875 100644 --- a/README.rst +++ b/README.rst @@ -62,8 +62,8 @@ python-zstd .. |cpython311x86u16| image:: https://github.com/sergey-dryabzhinsky/python-zstd/actions/workflows/Build_wheels_for_cpython311_x86_u16.yml/badge.svg :target: https://github.com/sergey-dryabzhinsky/python-zstd/actions/workflows/Build_wheels_for_cpython311_x86_u16.yml -.. |cpython311x64u20| image:: https://github.com/sergey-dryabzhinsky/python-zstd/actions/workflows/Build_wheels_for_cpython311_x86_64_u20.yml/badge.svg - :target: https://github.com/sergey-dryabzhinsky/python-zstd/actions/workflows/Build_wheels_for_cpython311_x86_64_u20.yml +.. |cpython311x64u20| image:: https://github.com/sergey-dryabzhinsky/python-zstd/actions/workflows/Build_wheels_for_cpython311_x86_64_u24.yml/badge.svg + :target: https://github.com/sergey-dryabzhinsky/python-zstd/actions/workflows/Build_wheels_for_cpython311_x86_64_u24.yml .. |cpython312x86u16| image:: https://github.com/sergey-dryabzhinsky/python-zstd/actions/workflows/Build_wheels_for_cpython312_x86_u16.yml/badge.svg :target: https://github.com/sergey-dryabzhinsky/python-zstd/actions/workflows/Build_wheels_for_cpython312_x86_u16.yml From 4ecd38a186a1f8e748551ef55d4512a5384c1e03 Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Sat, 15 Feb 2025 17:41:40 +0300 Subject: [PATCH 342/353] Update setup.py --- setup.py | 1 + 1 file changed, 1 insertion(+) diff --git a/setup.py b/setup.py index c57f11c7c..62a206a4e 100644 --- a/setup.py +++ b/setup.py @@ -312,5 +312,6 @@ def my_test_suite(): 'Programming Language :: Python :: 3.11', 'Programming Language :: Python :: 3.12', 'Programming Language :: Python :: 3.13', + 'Programming Language :: Python :: 3.14', ] ) From c719384af9cb63d7d31b0a13c66818d66ac5d728 Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Sat, 15 Feb 2025 18:25:45 +0300 Subject: [PATCH 343/353] Update Build_wheels_for_cpython35_x86.yml --- .github/workflows/Build_wheels_for_cpython35_x86.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/Build_wheels_for_cpython35_x86.yml b/.github/workflows/Build_wheels_for_cpython35_x86.yml index 8ddf6d360..e77005960 100644 --- a/.github/workflows/Build_wheels_for_cpython35_x86.yml +++ b/.github/workflows/Build_wheels_for_cpython35_x86.yml @@ -26,7 +26,7 @@ jobs: getpipurl: https://bootstrap.pypa.io/pip/3.5/get-pip.py pypkg: python3.5 pyengine_tag: cp35-cp35m - libc_tag: manylinux_2_17 + libc_tag: manylinux_2_4 steps: - name: Checkout code uses: actions/checkout@v4 From d184f006e5ba186271887279aad33513eac44da6 Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Sat, 15 Feb 2025 18:26:11 +0300 Subject: [PATCH 344/353] Update Build_wheels_for_cpython35_x86_64.yml --- .github/workflows/Build_wheels_for_cpython35_x86_64.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/Build_wheels_for_cpython35_x86_64.yml b/.github/workflows/Build_wheels_for_cpython35_x86_64.yml index 619b6493e..b770805d3 100644 --- a/.github/workflows/Build_wheels_for_cpython35_x86_64.yml +++ b/.github/workflows/Build_wheels_for_cpython35_x86_64.yml @@ -26,7 +26,7 @@ jobs: getpipurl: https://bootstrap.pypa.io/pip/3.5/get-pip.py pypkg: python3.5 pyengine_tag: cp35-cp35m - libc_tag: manylinux_2_17 + libc_tag: manylinux_2_4 steps: - name: Checkout code uses: actions/checkout@v4 From e23d885e755565130c55b3b626fb5cf13bb9abe4 Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Sat, 15 Feb 2025 18:26:41 +0300 Subject: [PATCH 345/353] Update Build_wheels_for_cpython36_x86.yml --- .github/workflows/Build_wheels_for_cpython36_x86.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/Build_wheels_for_cpython36_x86.yml b/.github/workflows/Build_wheels_for_cpython36_x86.yml index ea9919679..3560d8db7 100644 --- a/.github/workflows/Build_wheels_for_cpython36_x86.yml +++ b/.github/workflows/Build_wheels_for_cpython36_x86.yml @@ -27,7 +27,7 @@ jobs: pypkg: python3.6 pypkgadd: python3.6-distutils pyengine_tag: cp36-cp36m - libc_tag: manylinux_2_17 + libc_tag: manylinux_2_4 steps: - name: Checkout code uses: actions/checkout@v4 From ae37aa7d5cdeb3d618df511fbd1a1ebe3da0f330 Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Sat, 15 Feb 2025 18:27:09 +0300 Subject: [PATCH 346/353] Update Build_wheels_for_cpython36_x86_64.yml --- .github/workflows/Build_wheels_for_cpython36_x86_64.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/Build_wheels_for_cpython36_x86_64.yml b/.github/workflows/Build_wheels_for_cpython36_x86_64.yml index ac6f7ce23..8385eb21d 100644 --- a/.github/workflows/Build_wheels_for_cpython36_x86_64.yml +++ b/.github/workflows/Build_wheels_for_cpython36_x86_64.yml @@ -27,7 +27,7 @@ jobs: pypkg: python3.6 pypkgadd: python3.6-distutils pyengine_tag: cp36-cp36m - libc_tag: manylinux_2_17 + libc_tag: manylinux_2_4 steps: - name: Checkout code uses: actions/checkout@v4 From 75a17f487bc14b0cd33c8591c672cb9a90c57559 Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Sat, 15 Feb 2025 18:27:45 +0300 Subject: [PATCH 347/353] Update Build_wheels_for_cpython38_x86.yml --- .github/workflows/Build_wheels_for_cpython38_x86.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/Build_wheels_for_cpython38_x86.yml b/.github/workflows/Build_wheels_for_cpython38_x86.yml index 1a693a432..4ded8cf5b 100644 --- a/.github/workflows/Build_wheels_for_cpython38_x86.yml +++ b/.github/workflows/Build_wheels_for_cpython38_x86.yml @@ -27,7 +27,7 @@ jobs: pypkg: python3.8 pypkgadd: python3.8-distutils pyengine_tag: cp38-cp38 - libc_tag: manylinux_2_17 + libc_tag: manylinux_2_4 steps: - name: Checkout code uses: actions/checkout@v4 From caffb904a0619579cf52d01600ff76f62520b9c4 Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Sat, 15 Feb 2025 18:28:04 +0300 Subject: [PATCH 348/353] Delete .github/workflows/Build_wheels_for_cpython38_x86_64.yml --- .../Build_wheels_for_cpython38_x86_64.yml | 171 ------------------ 1 file changed, 171 deletions(-) delete mode 100644 .github/workflows/Build_wheels_for_cpython38_x86_64.yml diff --git a/.github/workflows/Build_wheels_for_cpython38_x86_64.yml b/.github/workflows/Build_wheels_for_cpython38_x86_64.yml deleted file mode 100644 index 2ed08005e..000000000 --- a/.github/workflows/Build_wheels_for_cpython38_x86_64.yml +++ /dev/null @@ -1,171 +0,0 @@ -name: Build wheels for CPython3.8 x86_64 - -on: [push, pull_request] - -concurrency: - group: ${{ github.ref }}-${{ github.workflow }}-${{ github.event_name }}-${{ github.ref == format('refs/heads/{0}', github.event.repository.default_branch) && github.sha || '' }} - cancel-in-progress: true - -jobs: - build_wheels: - name: Build wheel - ${{ matrix.os.name }} - runs-on: ${{ matrix.os.runs-on }} - strategy: - fail-fast: false - matrix: - os: - - name: Ubuntu 24+16 amd64 CPython 3.8 - runs-on: ubuntu-latest - matrix: linux - arch: amd64 - tag_arch: x86_64 - release: xenial - mirror: http://azure.archive.ubuntu.com/ubuntu - version: 1.5.6.3 - pyver: "3.8" - getpipurl: https://bootstrap.pypa.io/pip/get-pip.py - pypkg: python3.8 - pypkgadd: python3.8-distutils - pyengine_tag: cp38-cp38 - libc_tag: manylinux_2_17 - steps: - - name: Checkout code - uses: actions/checkout@v4 - with: - submodules: 'recursive' - - - name: Update and upgrade Ubuntu 24 - if: matrix.os.matrix == 'linux' - run: | - sudo which apt - sudo apt update; - sudo apt purge -y firefox lxd snapd; - sudo apt install -y zram-config; - sudo apt list --upgradable; - sudo apt upgrade -y; - sudo apt install -f - - - name: Build source distribution with Ubuntu - if: matrix.os.matrix == 'linux' - run: | - sudo apt install -y devscripts debootstrap qemu-user; - pip install build; - python -m build --sdist --outdir dist . - - - name: Debootstrap Ubuntu ${{matrix.os.release}} ${{matrix.os.arch}} - if: matrix.os.matrix == 'linux' - run: | - sudo debootstrap --no-merged-usr --verbose --include=sudo,wget,curl,ca-certificates --arch=${{matrix.os.arch}} ${{matrix.os.release}} ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} ${{matrix.os.mirror}} || tail ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/debootstrap/debootstrap.log - - - name: Update and Upgrade Ubuntu ${{matrix.os.release}} - if: matrix.os.matrix == 'linux' - run: | - sudo mkdir -p ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel - 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 - 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' - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /usr/bin/apt update - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /usr/bin/apt upgrade -y - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /usr/bin/apt -fy install - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /usr/bin/apt upgrade -y - - - - 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 - - - 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}} /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'" - - - name: Pepare source and build wheel for ${{matrix.os.pypkg}} ${{matrix.os.arch}} - if: matrix.os.matrix == 'linux' - run: | - sudo mkdir -p ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel/ - sudo tar -xvf dist/zstd-${{matrix.os.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}} /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}} && ZSTD_ASM=1 _ZSTD_ASM_BMI2=1 ZSTD_THREADS=1 _ZSTD_EXTERNAL=0 python${{matrix.os.pyver}} setup.py bdist_wheel clean" - - - name: Test wheel for ${{matrix.os.pypkg}} ${{matrix.os.arch}} - if: matrix.os.matrix == 'linux' - run: | - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}} && python${{matrix.os.pyver}} setup.py test" - - - name: Pepare wheel for upload - if: matrix.os.matrix == 'linux' - run: | - sudo cp -v ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel/zstd-${{matrix.os.version}}/dist/* ./dist - sudo ls -lh ./dist/* - sudo mv -v ./dist/"zstd-${{matrix.os.version}}-${{matrix.os.pyengine_tag}}-linux_${{matrix.os.tag_arch}}.whl" ./dist/"zstd-${{matrix.os.version}}-${{matrix.os.pyengine_tag}}-${{matrix.os.libc_tag}}_${{matrix.os.tag_arch}}.whl" - sudo rm -vf ./dist/*.tar.gz - - -# - name: Upload artifacts -# uses: actions/upload-artifact@v4 -# with: -# name: wheels -#. path: ./dist -# compression-level: 0 - - - name: Test for secrets access - id: check_secrets - # If a third party makes a pull request - # this allows automated steps below to be skipped - # and leave a clean PR CI run - shell: bash - run: | - unset HAS_SECRET - unset HAS_SECRET_TEST - if [ -n "$SECRET" ]; then HAS_SECRET='true' ; fi - if [ -n "$SECRET_TEST" ]; then HAS_SECRET_TEST='true' ; fi - echo ::set-output name=HAS_SECRET::${HAS_SECRET} - echo ::set-output name=HAS_SECRET_TEST::${HAS_SECRET_TEST} - env: - SECRET: "${{ secrets.pypi_password }}" - SECRET_TEST: "${{ secrets.test_pypi_password }}" - - - name: Install twine - run: pip install 'twine<=6.0.1' - - - name: Publish distribution to PyPI - if: > - startsWith(github.event.ref, 'refs/tags') && - steps.check_secrets.outputs.HAS_SECRET - env: - # If the PR/Push has secret access - # and PYPI_PASSWORD is in GH Secrets for this repo - # and this is a tag, publish to PyPI - TWINE_REPOSITORY_URL: https://upload.pypi.org/legacy/ - TWINE_USERNAME: "${{ secrets.pypi_username }}" - TWINE_NON_INTERACTIVE: 1 - TWINE_PASSWORD: "${{ secrets.pypi_password }}" - run: twine upload --non-interactive --skip-existing --verbose 'dist/*' - - - name: Publish distribution to Test PyPI - if: steps.check_secrets.outputs.HAS_SECRET - env: - # If the PR/Push has secret access - # and TEST_PYPI_PASSWORD is in GH Secrets for this repo - # then publish each build to test PyPI - TWINE_REPOSITORY_URL: https://test.pypi.org/legacy/ - TWINE_USERNAME: "${{ secrets.test_pypi_username }}" - TWINE_NON_INTERACTIVE: 1 - TWINE_PASSWORD: "${{ secrets.test_pypi_password }}" - run: twine upload --non-interactive --skip-existing --verbose 'dist/*' - From 4de06bcaf843400add9344fb105c5003f13dba40 Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Sat, 15 Feb 2025 18:28:25 +0300 Subject: [PATCH 349/353] Delete .github/workflows/Build_wheels_for_cpython39_x86_64.yml --- .../Build_wheels_for_cpython39_x86_64.yml | 171 ------------------ 1 file changed, 171 deletions(-) delete mode 100644 .github/workflows/Build_wheels_for_cpython39_x86_64.yml diff --git a/.github/workflows/Build_wheels_for_cpython39_x86_64.yml b/.github/workflows/Build_wheels_for_cpython39_x86_64.yml deleted file mode 100644 index 5d232437c..000000000 --- a/.github/workflows/Build_wheels_for_cpython39_x86_64.yml +++ /dev/null @@ -1,171 +0,0 @@ -name: Build wheels for CPython3.9 x86_64 - -on: [push, pull_request] - -concurrency: - group: ${{ github.ref }}-${{ github.workflow }}-${{ github.event_name }}-${{ github.ref == format('refs/heads/{0}', github.event.repository.default_branch) && github.sha || '' }} - cancel-in-progress: true - -jobs: - build_wheels: - name: Build wheel - ${{ matrix.os.name }} - runs-on: ${{ matrix.os.runs-on }} - strategy: - fail-fast: false - matrix: - os: - - name: Ubuntu 24+16 amd64 CPython 3.9 - runs-on: ubuntu-latest - matrix: linux - arch: amd64 - tag_arch: x86_64 - release: xenial - mirror: http://azure.archive.ubuntu.com/ubuntu - version: 1.5.6.3 - pyver: "3.9" - getpipurl: https://bootstrap.pypa.io/pip/get-pip.py - pypkg: python3.9 - pypkgadd: python3.9-distutils - pyengine_tag: cp39-cp39 - libc_tag: manylinux_2_17 - steps: - - name: Checkout code - uses: actions/checkout@v4 - with: - submodules: 'recursive' - - - name: Update and upgrade Ubuntu 24 - if: matrix.os.matrix == 'linux' - run: | - sudo which apt - sudo apt update; - sudo apt purge -y firefox lxd snapd; - sudo apt install -y zram-config; - sudo apt list --upgradable; - sudo apt upgrade -y; - sudo apt install -f - - - name: Build source distribution with Ubuntu - if: matrix.os.matrix == 'linux' - run: | - sudo apt install -y devscripts debootstrap qemu-user; - pip install build; - python -m build --sdist --outdir dist . - - - name: Debootstrap Ubuntu ${{matrix.os.release}} ${{matrix.os.arch}} - if: matrix.os.matrix == 'linux' - run: | - sudo debootstrap --no-merged-usr --verbose --include=sudo,wget,curl,ca-certificates --arch=${{matrix.os.arch}} ${{matrix.os.release}} ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} ${{matrix.os.mirror}} || tail ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/debootstrap/debootstrap.log - - - name: Update and Upgrade Ubuntu ${{matrix.os.release}} - if: matrix.os.matrix == 'linux' - run: | - sudo mkdir -p ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel - 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 - 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' - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /usr/bin/apt update - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /usr/bin/apt upgrade -y - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /usr/bin/apt -fy install - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /usr/bin/apt upgrade -y - - - - 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 - - - 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}} /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'" - - - name: Pepare source and build wheel for ${{matrix.os.pypkg}} ${{matrix.os.arch}} - if: matrix.os.matrix == 'linux' - run: | - sudo mkdir -p ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel/ - sudo tar -xvf dist/zstd-${{matrix.os.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}} /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}} && ZSTD_ASM=1 _ZSTD_ASM_BMI2=1 ZSTD_THREADS=1 _ZSTD_EXTERNAL=0 python${{matrix.os.pyver}} setup.py bdist_wheel clean" - - - name: Test wheel for ${{matrix.os.pypkg}} ${{matrix.os.arch}} - if: matrix.os.matrix == 'linux' - run: | - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}} && python${{matrix.os.pyver}} setup.py test" - - - name: Pepare wheel for upload - if: matrix.os.matrix == 'linux' - run: | - sudo cp -v ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel/zstd-${{matrix.os.version}}/dist/* ./dist - sudo ls -lh ./dist/* - sudo mv -v ./dist/"zstd-${{matrix.os.version}}-${{matrix.os.pyengine_tag}}-linux_${{matrix.os.tag_arch}}.whl" ./dist/"zstd-${{matrix.os.version}}-${{matrix.os.pyengine_tag}}-${{matrix.os.libc_tag}}_${{matrix.os.tag_arch}}.whl" - sudo rm -vf ./dist/*.tar.gz - - -# - name: Upload artifacts -# uses: actions/upload-artifact@v4 -# with: -# name: wheels -#. path: ./dist -# compression-level: 0 - - - name: Test for secrets access - id: check_secrets - # If a third party makes a pull request - # this allows automated steps below to be skipped - # and leave a clean PR CI run - shell: bash - run: | - unset HAS_SECRET - unset HAS_SECRET_TEST - if [ -n "$SECRET" ]; then HAS_SECRET='true' ; fi - if [ -n "$SECRET_TEST" ]; then HAS_SECRET_TEST='true' ; fi - echo ::set-output name=HAS_SECRET::${HAS_SECRET} - echo ::set-output name=HAS_SECRET_TEST::${HAS_SECRET_TEST} - env: - SECRET: "${{ secrets.pypi_password }}" - SECRET_TEST: "${{ secrets.test_pypi_password }}" - - - name: Install twine - run: pip install 'twine<=6.0.1' - - - name: Publish distribution to PyPI - if: > - startsWith(github.event.ref, 'refs/tags') && - steps.check_secrets.outputs.HAS_SECRET - env: - # If the PR/Push has secret access - # and PYPI_PASSWORD is in GH Secrets for this repo - # and this is a tag, publish to PyPI - TWINE_REPOSITORY_URL: https://upload.pypi.org/legacy/ - TWINE_USERNAME: "${{ secrets.pypi_username }}" - TWINE_NON_INTERACTIVE: 1 - TWINE_PASSWORD: "${{ secrets.pypi_password }}" - run: twine upload --non-interactive --skip-existing --verbose 'dist/*' - - - name: Publish distribution to Test PyPI - if: steps.check_secrets.outputs.HAS_SECRET - env: - # If the PR/Push has secret access - # and TEST_PYPI_PASSWORD is in GH Secrets for this repo - # then publish each build to test PyPI - TWINE_REPOSITORY_URL: https://test.pypi.org/legacy/ - TWINE_USERNAME: "${{ secrets.test_pypi_username }}" - TWINE_NON_INTERACTIVE: 1 - TWINE_PASSWORD: "${{ secrets.test_pypi_password }}" - run: twine upload --non-interactive --skip-existing --verbose 'dist/*' - From a45493b3ba952807b0a83bb18149e845e1270c53 Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Sat, 15 Feb 2025 18:28:54 +0300 Subject: [PATCH 350/353] Update Build_wheels_for_cpython39_x86.yml --- .github/workflows/Build_wheels_for_cpython39_x86.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/Build_wheels_for_cpython39_x86.yml b/.github/workflows/Build_wheels_for_cpython39_x86.yml index 9d20c280b..b0cef5d06 100644 --- a/.github/workflows/Build_wheels_for_cpython39_x86.yml +++ b/.github/workflows/Build_wheels_for_cpython39_x86.yml @@ -27,7 +27,7 @@ jobs: pypkg: python3.9 pypkgadd: python3.9-distutils pyengine_tag: cp39-cp39 - libc_tag: manylinux_2_17 + libc_tag: manylinux_2_4 steps: - name: Checkout code uses: actions/checkout@v4 From 748d3e258e20f8f12806ea96a6577f425a9b8d8f Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Sat, 15 Feb 2025 18:33:56 +0300 Subject: [PATCH 351/353] Update Build_wheels_for_cpython27_armhf.yml --- .github/workflows/Build_wheels_for_cpython27_armhf.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/Build_wheels_for_cpython27_armhf.yml b/.github/workflows/Build_wheels_for_cpython27_armhf.yml index 78db55177..8b73f156d 100644 --- a/.github/workflows/Build_wheels_for_cpython27_armhf.yml +++ b/.github/workflows/Build_wheels_for_cpython27_armhf.yml @@ -20,9 +20,9 @@ jobs: arch: armhf tag_arch: armhf release: xenial - mirror: http://ports.ubuntu.com/ubuntu + mirror: http://ports.ubuntu.com/ubuntu-ports version: 1.5.6.3 - pyver: "2.7" + # pyver: "2.7" getpipurl: https://bootstrap.pypa.io/pip/2.7/get-pip.py pypkg: python2.7 pyengine_tag: cp27-cp27mu @@ -100,14 +100,14 @@ 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}} /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}} && ZSTD_ASM=1 _ZSTD_ASM_BMI2=1 ZSTD_THREADS=1 _ZSTD_EXTERNAL=0 python${{matrix.os.pyver}} setup.py bdist_wheel " + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}} && ZSTD_ASM=1 _ZSTD_ASM_BMI2=1 ZSTD_THREADS=1 _ZSTD_EXTERNAL=0 ${{matrix.os.pypkg}} setup.py bdist_wheel " - name: Test wheel for ${{matrix.os.pypkg}} ${{matrix.os.arch}} if: matrix.os.matrix == 'linux' run: | sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} find /build_wheel/ sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/ && ldd /zstd-${{matrix.os.version}}/build/*/zstd.so" - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}} && python${{matrix.os.pyver}} setup.py test" + sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-${{matrix.os.version}} && ${{matrix.os.pypkg}} setup.py test" - name: Pepare wheel for upload if: matrix.os.matrix == 'linux' From 526a2920644455ed34f8dc5d16fc47c19ef54377 Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Sat, 15 Feb 2025 19:04:06 +0300 Subject: [PATCH 352/353] Update Build_wheels_for_cpython27_armhf.yml --- .github/workflows/Build_wheels_for_cpython27_armhf.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/Build_wheels_for_cpython27_armhf.yml b/.github/workflows/Build_wheels_for_cpython27_armhf.yml index 8b73f156d..82d306cf4 100644 --- a/.github/workflows/Build_wheels_for_cpython27_armhf.yml +++ b/.github/workflows/Build_wheels_for_cpython27_armhf.yml @@ -19,7 +19,7 @@ jobs: matrix: linux arch: armhf tag_arch: armhf - release: xenial + release: bionic mirror: http://ports.ubuntu.com/ubuntu-ports version: 1.5.6.3 # pyver: "2.7" From 8df20931d0984bf74b217f07b3b76796c7e4e8ff Mon Sep 17 00:00:00 2001 From: Sergey Dryabzhinsky Date: Sat, 15 Feb 2025 19:04:30 +0300 Subject: [PATCH 353/353] Update Build_wheels_for_cpython27_armhf.yml --- .github/workflows/Build_wheels_for_cpython27_armhf.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/Build_wheels_for_cpython27_armhf.yml b/.github/workflows/Build_wheels_for_cpython27_armhf.yml index 82d306cf4..abfcb9c17 100644 --- a/.github/workflows/Build_wheels_for_cpython27_armhf.yml +++ b/.github/workflows/Build_wheels_for_cpython27_armhf.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: armhf @@ -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_17 + libc_tag: manylinux_2_4 steps: - name: Checkout code uses: actions/checkout@v4