diff --git a/.github/workflows/Build_wheels_for_cpython27_armhf.yml b/.github/workflows/Build_wheels_for_cpython27_armhf.yml deleted file mode 100644 index 60e71711b..000000000 --- a/.github/workflows/Build_wheels_for_cpython27_armhf.yml +++ /dev/null @@ -1,171 +0,0 @@ -name: Build wheels for CPython2.7 armhf on Ubuntu18 - -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: bionic - mirror: http://ports.ubuntu.com/ubuntu-ports - version: 1.5.6.4 - # 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_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 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 ${{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}} && ${{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/*' diff --git a/.github/workflows/Build_wheels_for_cpython27_x86.yml b/.github/workflows/Build_wheels_for_cpython27_x86.yml deleted file mode 100644 index cad594e8e..000000000 --- a/.github/workflows/Build_wheels_for_cpython27_x86.yml +++ /dev/null @@ -1,178 +0,0 @@ -name: Build wheels for CPython2.7 x86 on Ubuntu18 with GCC-7 with All warnings - -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+18 i386 CPython 2.7 - runs-on: ubuntu-latest - matrix: linux - arch: i386 - tag_arch: i686 - release: bionic - mirror: http://azure.archive.ubuntu.com/ubuntu - #version: 1.5.6.7 - #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_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 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 - echo "# deb [trusted=yes] http://apt.llvm.org/${{matrix.os.release}}/ llvm-toolchain-${{matrix.os.release}}-20 main " > clang.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 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-cache madison clang-18 - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /usr/bin/apt install -y ${{matrix.os.pypkg}}-dev gcc pkg-config ${{matrix.os.pypkgadd}} - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "wget ${{matrix.os.getpipurl}} -O get-pip.py && ${{matrix.os.pypkg}} get-pip.py" - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "${{matrix.os.pypkg}} -m pip install -U 'setuptools'" - - - 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/ - version=`cat version` - echo "$version" - sudo tar -xvf dist/zstd-$version.tar.gz -C ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel/ - false && sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} env - - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} pkg-config libzstd --modversion - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} echo GCC - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} gcc -v - false && sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} echo CLANG - false && sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} clang-20 -v - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-$version && _CC=clang-20 ZSTD_ASM=1 ZSTD_WARNINGS=1 _ZSTD_WERRORS=1 _ZSTD_SMALL=1 _ZSTD_ASM_BMI2=1 ZSTD_THREADS=1 _ZSTD_EXTERNAL=1 ${{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/ - version=`cat version` - echo version=$version - sudo cp -v glibc-check.sh ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel/zstd-$version/ - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-$version/ ; echo LLH; ls -lh build/*/zstd.so; echo LDD; ldd build/*/zstd.so;echo FILE; file build/*/zstd.so; echo LIBC; bash ./glibc-check.sh build/*/zstd.so" - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-$version && ${{matrix.os.pypkg}} setup.py test" - - - name: Pepare wheel for upload - if: matrix.os.matrix == 'linux' - run: | - version=`cat version` - echo version=$version - sudo cp -v ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel/zstd-$version/dist/* ./dist - sudo ls -lh ./dist/* - sudo mv -v ./dist/"zstd-$version-${{matrix.os.pyengine_tag}}-linux_${{matrix.os.tag_arch}}.whl" ./dist/"zstd-$version-${{matrix.os.pyengine_tag}}-${{matrix.os.libc_tag}}_${{matrix.os.tag_arch}}.whl" - - - - name: 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/*' diff --git a/.github/workflows/Build_wheels_for_cpython27_x86_64.yml b/.github/workflows/Build_wheels_for_cpython27_x86_64.yml deleted file mode 100644 index 2d216ce3e..000000000 --- a/.github/workflows/Build_wheels_for_cpython27_x86_64.yml +++ /dev/null @@ -1,178 +0,0 @@ -name: Build wheels for CPython2.7 x64 on Ubuntu18 with GCC-7 with All warnings - -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 2.7 - runs-on: ubuntu-latest - matrix: linux - arch: amd64 - tag_arch: x86_64 - release: bionic - mirror: http://azure.archive.ubuntu.com/ubuntu - #version: 1.5.6.7 - #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_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 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://packages.rusoft.ru/ppa/rusoft/toolchain ubuntu-${{matrix.os.release}} main" > rusoft-toolchain.list - echo "# deb [trusted=yes] http://apt.llvm.org/${{matrix.os.release}}/ llvm-toolchain-${{matrix.os.release}}-16 main " > clang.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'" - - - 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/ - version=`cat version` - sudo tar -xvf dist/zstd-$version.tar.gz -C ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel/ - false && sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} env - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} pkg-config libzstd --modversion - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} echo GCC-7 - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} gcc-7 -v - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-$version && CC=gcc-7 ZSTD_ASM=1 _ZSTD_SMALL=1 ZSTD_WARNINGS=1 _ZSTD_WERRORS=1 _ZSTD_ASM_BMI2=1 ZSTD_THREADS=1 _ZSTD_EXTERNAL=1 ${{matrix.os.pypkg}} setup.py bdist_wheel" - - - name: Test wheel for ${{matrix.os.pypkg}} ${{matrix.os.arch}} - if: matrix.os.matrix == 'linux' - run: | - false && sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} find /build_wheel/ - version=`cat version` - sudo cp -v glibc-check.sh ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel/zstd-$version/ - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-$version/ && 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-$version && ${{matrix.os.pypkg}} setup.py test" - - - name: Pepare wheel for upload - if: matrix.os.matrix == 'linux' - run: | - version=`cat version` - sudo cp -v ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel/zstd-$version/dist/* ./dist - sudo ls -lh ./dist/* - sudo mv -v ./dist/"zstd-$version-${{matrix.os.pyengine_tag}}-linux_${{matrix.os.tag_arch}}.whl" ./dist/"zstd-$version-${{matrix.os.pyengine_tag}}-${{matrix.os.libc_tag}}_${{matrix.os.tag_arch}}.whl" - - -# - name: Upload artifacts -# uses: actions/upload-artifact@v4 -# with: -# name: wheels -#. path: ./dist -# compression-level: 0 - - - name: Test 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/*' diff --git a/.github/workflows/Build_wheels_for_cpython310_x86_64_u24.yml b/.github/workflows/Build_wheels_for_cpython310_x86_64_u24.yml deleted file mode 100644 index ee30aef2f..000000000 --- a/.github/workflows/Build_wheels_for_cpython310_x86_64_u24.yml +++ /dev/null @@ -1,169 +0,0 @@ -name: Build wheels for CPython3.10 x86_64 on Ubuntu16 withb GCC-13 - -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 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.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_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 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 --no-install-recommends -y libzstd-dev file gcc-13 - - - 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/ - version=`cat version` - sudo tar -xvf dist/zstd-$version.tar.gz -C ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel/ - false && sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} env - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} pkg-config libzstd --modversion - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-$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/ - version=`cat version` - sudo cp -v glibc-check.sh ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel/zstd-$version/ - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-$version/; echo LLH; ls -lh build/*/zstd.*.so; 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-$version && ${{matrix.os.pypkg}} setup.py test" - - - name: Pepare wheel for upload - if: matrix.os.matrix == 'linux' - run: | - version=`cat version` - sudo cp -v ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel/zstd-$version/dist/* ./dist - sudo ls -lh ./dist/* - sudo mv -v ./dist/"zstd-$version-${{matrix.os.pyengine_tag}}-linux_${{matrix.os.tag_arch}}.whl" ./dist/"zstd-$version-${{matrix.os.pyengine_tag}}-${{matrix.os.libc_tag}}_${{matrix.os.tag_arch}}.whl" - - - - name: 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/*' - diff --git a/.github/workflows/Build_wheels_for_cpython310_x86_u16.yml b/.github/workflows/Build_wheels_for_cpython310_x86_u16.yml deleted file mode 100644 index c05072b8b..000000000 --- a/.github/workflows/Build_wheels_for_cpython310_x86_u16.yml +++ /dev/null @@ -1,169 +0,0 @@ -name: Build wheels for CPython3.10 x86 on Ubuntu16 with GCC-13 - -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 - 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 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 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 --no-install-recommends -y libzstd-dev gcc-13 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'" - 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/ - version=`cat version` - sudo tar -xvf dist/zstd-$version.tar.gz -C ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel/ - false && sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} env - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} pkg-config libzstd --modversion - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-$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/ - version=`cat version` - sudo cp -v glibc-check.sh ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel/zstd-$version/ - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-$version/ 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-$version && ${{matrix.os.pypkg}} setup.py test" - - - name: Pepare wheel for upload - if: matrix.os.matrix == 'linux' - run: | - version=`cat version` - sudo cp -v ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel/zstd-$version/dist/* ./dist - sudo ls -lh ./dist/* - sudo mv -v ./dist/"zstd-$version-${{matrix.os.pyengine_tag}}-linux_${{matrix.os.tag_arch}}.whl" ./dist/"zstd-$version-${{matrix.os.pyengine_tag}}-${{matrix.os.libc_tag}}_${{matrix.os.tag_arch}}.whl" - - - - name: 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/*' - diff --git a/.github/workflows/Build_wheels_for_cpython311_x86_64_u24.yml b/.github/workflows/Build_wheels_for_cpython311_x86_64_u24.yml deleted file mode 100644 index b60de1c77..000000000 --- a/.github/workflows/Build_wheels_for_cpython311_x86_64_u24.yml +++ /dev/null @@ -1,170 +0,0 @@ -name: Build wheels for CPython3.11 x86_64 on Ubuntu16 with GCC-14 - -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 16 amd64 CPython 3.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.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_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 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 --no-install-recommends -y libzstd-dev file gcc-14 - - - 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/ - version=`cat version` - sudo tar -xvf dist/zstd-$version.tar.gz -C ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel/ - false && sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} env - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} pkg-config libzstd --modversion - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-$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: | - version=`cat version` - 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-$version/ - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-$version/; echo LLH; ls -lh build/*/zstd.*.so; 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-$version && ${{matrix.os.pypkg}} setup.py test" - - - name: Pepare wheel for upload - if: matrix.os.matrix == 'linux' - run: | - version=`cat version` - sudo cp -v ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel/zstd-$version/dist/* ./dist - sudo ls -lh ./dist/* - sudo mv -v ./dist/"zstd-$version-${{matrix.os.pyengine_tag}}-linux_${{matrix.os.tag_arch}}.whl" ./dist/"zstd-$version-${{matrix.os.pyengine_tag}}-${{matrix.os.libc_tag}}_${{matrix.os.tag_arch}}.whl" - - - - name: 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/*' - diff --git a/.github/workflows/Build_wheels_for_cpython311_x86_u16.yml b/.github/workflows/Build_wheels_for_cpython311_x86_u16.yml deleted file mode 100644 index 77eae0b4d..000000000 --- a/.github/workflows/Build_wheels_for_cpython311_x86_u16.yml +++ /dev/null @@ -1,170 +0,0 @@ -name: Build wheels for CPython3.11 x86 on Ubuntu16 with GCC-14 - -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.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_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 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 --no-install-recommends -y libzstd-dev file gcc-14 - - - 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/ - version=`cat version` - sudo tar -xvf dist/zstd-$version.tar.gz -C ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel/ - false && sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} env - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} pkg-config libzstd --modversion - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-$version && ZSTD_ASM=1 _ZSTD_SMALL=1 ZSTD_WARNINGS=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: | - version=`cat version` - 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-$version/ - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-$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-$version/ && ${{matrix.os.pypkg}} setup.py test" - - - name: Pepare wheel for upload - if: matrix.os.matrix == 'linux' - run: | - version=`cat version` - sudo cp -v ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel/zstd-$version/dist/* ./dist - sudo ls -lh ./dist/* - sudo mv -v ./dist/"zstd-$version-${{matrix.os.pyengine_tag}}-linux_${{matrix.os.tag_arch}}.whl" ./dist/"zstd-$version-${{matrix.os.pyengine_tag}}-${{matrix.os.libc_tag}}_${{matrix.os.tag_arch}}.whl" - - - - name: 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/*' - 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 ddf628254..000000000 --- a/.github/workflows/Build_wheels_for_cpython312_x86_64_u24.yml +++ /dev/null @@ -1,176 +0,0 @@ -name: Build wheels for CPython3.12 x64 on Ubuntu16 with GCC-14 All warnings - -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.12 - runs-on: ubuntu-latest - matrix: linux - arch: amd64 - tag_arch: x86_64 - release: xenial - mirror: http://azure.archive.ubuntu.com/ubuntu - getpipurl: https://bootstrap.pypa.io/pip/get-pip.py - pypkg: python3.12 - #pypkgadd: - 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 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://packages.rusoft.ru/ppa/rusoft/toolchain ubuntu-${{matrix.os.release}} main" > rusoft-toolchain.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 - sudo find ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/etc/apt/sources.list.d -iname '*.list' - sudo cat ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/etc/apt/sources.list.d/*.list - 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 - false && 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' - false && 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 gcc-14 g++-14 - - - 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" - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "echo ${{matrix.os.pypkg}} get-pip.py --break-system-packages --root-user-action ignore" - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "${{matrix.os.pypkg}} get-pip.py --break-system-packages --root-user-action ignore" - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "${{matrix.os.pypkg}} -m pip install -U 'setuptools<72' --break-system-packages --root-user-action ignore" - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "${{matrix.os.pypkg}} -m pip install -U 'pytest' --break-system-packages --root-user-action ignore" - - - - name: Pepare source and build wheel for ${{matrix.os.pypkg}} ${{matrix.os.arch}} - if: matrix.os.matrix == 'linux' - run: | - version=`cat version` - sudo mkdir -p ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel/ - sudo tar -xvf dist/zstd-$version.tar.gz -C ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel/ - false && sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} env - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} pkg-config libzstd --modversion - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} echo GCC-14 - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} gcc-14.3 -v - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-$version/ && _CC=gcc-5 _ZSTD_ASM=1 ZSTD_WARNINGS=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: | - version=`cat version` - 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-$version/ - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-$version/ && echo LLH; ls -lh build/lib*/zstd.*.so; ldd build/lib*/zstd.*.so ; file build/lib*/zstd.*.so; bash ./glibc-check.sh build/lib*/zstd.*.so" - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-$version/ && ${{matrix.os.pypkg}} setup.py test" - - - name: Pepare wheel for upload - if: matrix.os.matrix == 'linux' - run: | - version=`cat version` - sudo cp -v ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel/zstd-${version}/dist/* ./dist - sudo ls -lh ./dist/* - sudo mv -v ./dist/"zstd-$version-${{matrix.os.pyengine_tag}}-linux_${{matrix.os.tag_arch}}.whl" ./dist/"zstd-$version-${{matrix.os.pyengine_tag}}-${{matrix.os.libc_tag}}_${{matrix.os.tag_arch}}.whl" - - - - name: 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/*' - diff --git a/.github/workflows/Build_wheels_for_cpython312_x86_u16.yml b/.github/workflows/Build_wheels_for_cpython312_x86_u16.yml deleted file mode 100644 index df81c7d7e..000000000 --- a/.github/workflows/Build_wheels_for_cpython312_x86_u16.yml +++ /dev/null @@ -1,167 +0,0 @@ -name: Build wheels for CPython3.12 x86 on Ubuntu16 with GCC-14 - -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 - getpipurl: https://bootstrap.pypa.io/pip/get-pip.py - pypkg: python3.12 - 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 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 - 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 - 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 gcc-14 g++-14 - - - 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: | - version=`cat version` - sudo mkdir -p ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel/ - sudo tar -xvf dist/zstd-$version.tar.gz -C ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel/ - false && sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} env - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} pkg-config libzstd --modversion - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-$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: | - version=`cat version` - 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-$version/ - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-$version/ && echo LLH; ls -lh build/*/zstd.*.so; 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-$version/ && ${{matrix.os.pypkg}} setup.py test" - - - name: Pepare wheel for upload - if: matrix.os.matrix == 'linux' - run: | - version=`cat version` - sudo cp -v ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel/zstd-$version/dist/* ./dist - sudo ls -lh ./dist/* - sudo mv -v ./dist/"zstd-$version-${{matrix.os.pyengine_tag}}-linux_${{matrix.os.tag_arch}}.whl" ./dist/"zstd-$version-${{matrix.os.pyengine_tag}}-${{matrix.os.libc_tag}}_${{matrix.os.tag_arch}}.whl" - - - - name: 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/*' - diff --git a/.github/workflows/Build_wheels_for_cpython313_x86_64_u24.yml b/.github/workflows/Build_wheels_for_cpython313_x86_64_u24.yml deleted file mode 100644 index 438aa95e9..000000000 --- a/.github/workflows/Build_wheels_for_cpython313_x86_64_u24.yml +++ /dev/null @@ -1,172 +0,0 @@ -name: Build wheels for CPython3.13 x86_64 on Ubuntu16 with GCC-5 All warnings - -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.13 - 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.7 - # 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_14 - 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 ./*.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: | - version=`cat version` - sudo mkdir -p ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel/ - sudo tar -xvf dist/zstd-$version.tar.gz -C ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel/ - false && sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} env - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} pkg-config libzstd --modversion - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} echo GCC - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} gcc -v - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-$version/ && ZSTD_ASM=1 ZSTD_WARNINGS=1 _ZSTD_SMALL=1 LDFLAGS='-Wl,--as-needed -Wl,-s' ZSTD_BUILD_STRIP=1 _ZSTD_SPEED=0 _ZSTD_SPEEDMAX=0 _ZSTD_ASM_BMI2=1 ZSTD_THREADS=1 _ZSTD_EXTERNAL=0 ${{matrix.os.pypkg}} setup.py bdist_wheel" - - - name: Test wheel for ${{matrix.os.pypkg}} ${{matrix.os.arch}} - if: matrix.os.matrix == 'linux' - run: | - version=`cat version` - 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-$version/ - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-$version/ && echo LLH; ls -lh build/lib*/zstd.*.so; ldd build/lib*/zstd.*.so ; file build/lib*/zstd.*.so; bash ./glibc-check.sh build/lib*/zstd.*.so" - - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-$version/ && ${{matrix.os.pypkg}} setup.py test" - - - name: Pepare wheel for upload - if: matrix.os.matrix == 'linux' - run: | - version=`cat version` - sudo cp -v ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel/zstd-$version/dist/* ./dist - sudo ls -lh ./dist/* - sudo mv -v ./dist/"zstd-$version-${{matrix.os.pyengine_tag}}-linux_${{matrix.os.tag_arch}}.whl" ./dist/"zstd-$version-${{matrix.os.pyengine_tag}}-${{matrix.os.libc_tag}}_${{matrix.os.tag_arch}}.whl" - - - - name: 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/*' - diff --git a/.github/workflows/Build_wheels_for_cpython313_x86_u16.yml b/.github/workflows/Build_wheels_for_cpython313_x86_u16.yml deleted file mode 100644 index 5b8aa869d..000000000 --- a/.github/workflows/Build_wheels_for_cpython313_x86_u16.yml +++ /dev/null @@ -1,170 +0,0 @@ -name: Build wheels for CPython3.13 x86 on Ubuntu16 with GCC-5 All warnings - -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 x86 CPython 3.13 - runs-on: ubuntu-latest - matrix: linux - arch: i386 - tag_arch: i686 - release: xenial - mirror: http://azure.archive.ubuntu.com/ubuntu - #version: 1.5.6.7 - # 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_14 - steps: - - name: Checkout code - uses: actions/checkout@v4 - with: - submodules: 'recursive' - - - name: Update and upgrade Ubuntu 24 - if: matrix.os.matrix == 'linux' - run: | - 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 - 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: | - version=`cat version` - sudo mkdir -p ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel/ - sudo tar -xvf dist/zstd-$version.tar.gz -C ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel/ - false && sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} env - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} pkg-config libzstd --modversion - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} echo GCC - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} gcc -v - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-$version/ && ZSTD_ASM=1 ZSTD_WARNINGS=1 _ZSTD_SMALL=1 LDFLAGS='-Wl,--as-needed -Wl,-s' ZSTD_BUILD_STRIP=1 _ZSTD_SPEED=0 _ZSTD_SPEEDMAX=0 _ZSTD_ASM_BMI2=1 ZSTD_THREADS=1 _ZSTD_EXTERNAL=0 ${{matrix.os.pypkg}} setup.py bdist_wheel" - - - name: Test wheel for ${{matrix.os.pypkg}} ${{matrix.os.arch}} - if: matrix.os.matrix == 'linux' - run: | - version=`cat version` - 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-$version/ - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-$version/ && echo LLH; ls -lh build/lib*/zstd.*.so; ldd build/lib*/zstd.*.so ; file build/lib*/zstd.*.so; bash ./glibc-check.sh build/lib*/zstd.*.so" - - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-$version/ && ${{matrix.os.pypkg}} setup.py test" - - - name: Pepare wheel for upload - if: matrix.os.matrix == 'linux' - run: | - version=`cat version` - sudo cp -v ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel/zstd-$version/dist/* ./dist - sudo ls -lh ./dist/* - sudo mv -v ./dist/"zstd-$version-${{matrix.os.pyengine_tag}}-linux_${{matrix.os.tag_arch}}.whl" ./dist/"zstd-$version-${{matrix.os.pyengine_tag}}-${{matrix.os.libc_tag}}_${{matrix.os.tag_arch}}.whl" - - - - name: 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/*' - diff --git a/.github/workflows/Build_wheels_for_cpython313t_x64_u16.yml b/.github/workflows/Build_wheels_for_cpython313t_x64_u16.yml deleted file mode 100644 index ae5823b7b..000000000 --- a/.github/workflows/Build_wheels_for_cpython313t_x64_u16.yml +++ /dev/null @@ -1,174 +0,0 @@ -name: Build wheels for CPython3.13-nogil x64 on Ubuntu16 with GCC-5 All warnings - -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.13-nogil - 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.7 - # pyver: "3.7" - getpipurl: https://bootstrap.pypa.io/pip/get-pip.py - pypkg: python3.13-nogil - pypkgdev: python3.13-dev - pypkgexe: python3.13t - #pypkgadd: python3.13-distutils - pyengine_tag: cp313-cp313t - libc_tag: manylinux_2_14 - 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 ./*.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.pypkgdev}} ${{matrix.os.pypkg}} gcc pkg-config ${{matrix.os.pypkgadd}} - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "wget ${{matrix.os.getpipurl}} -O get-pip.py && ${{matrix.os.pypkgexe}} get-pip.py || true" - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "${{matrix.os.pypkgexe}} -m pip install -U 'setuptools<72.0'" - - - name: Pepare source and build wheel for ${{matrix.os.pypkgexe}} ${{matrix.os.arch}} - if: matrix.os.matrix == 'linux' - run: | - version=`cat version` - sudo mkdir -p ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel/ - sudo tar -xvf dist/zstd-$version.tar.gz -C ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel/ - false && sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} env - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} pkg-config libzstd --modversion - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} echo GCC - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} gcc -v - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-$version/ && ZSTD_ASM=1 ZSTD_WARNINGS=1 _ZSTD_SMALL=1 LDFLAGS='-Wl,--as-needed -Wl,-s' ZSTD_BUILD_STRIP=1 _ZSTD_SPEED=0 _ZSTD_SPEEDMAX=0 _ZSTD_ASM_BMI2=1 ZSTD_THREADS=1 _ZSTD_EXTERNAL=0 ${{matrix.os.pypkgexe}} setup.py bdist_wheel" - - - name: Test wheel for ${{matrix.os.pypkg}} ${{matrix.os.arch}} - if: matrix.os.matrix == 'linux' - run: | - version=`cat version` - 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-$version/ - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-$version/ && echo LLH; ls -lh build/lib*/zstd.*.so; ldd build/lib*/zstd.*.so ; file build/lib*/zstd.*.so; bash ./glibc-check.sh build/lib*/zstd.*.so" - - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-$version/ && ${{matrix.os.pypkg}} setup.py test" - - - name: Pepare wheel for upload - if: matrix.os.matrix == 'linux' - run: | - version=`cat version` - sudo cp -v ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel/zstd-$version/dist/* ./dist - sudo ls -lh ./dist/* - sudo mv -v ./dist/"zstd-$version-${{matrix.os.pyengine_tag}}-linux_${{matrix.os.tag_arch}}.whl" ./dist/"zstd-$version-${{matrix.os.pyengine_tag}}-${{matrix.os.libc_tag}}_${{matrix.os.tag_arch}}.whl" - - - - name: 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/*' - diff --git a/.github/workflows/Build_wheels_for_cpython313t_x86_u16.yml b/.github/workflows/Build_wheels_for_cpython313t_x86_u16.yml deleted file mode 100644 index 5f11f4bda..000000000 --- a/.github/workflows/Build_wheels_for_cpython313t_x86_u16.yml +++ /dev/null @@ -1,174 +0,0 @@ -name: Build wheels for CPython3.13-nogil x86 on Ubuntu16 with GCC-5 All warnings - -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.13-nogil - runs-on: ubuntu-latest - matrix: linux - arch: i386 - tag_arch: i686 - release: xenial - mirror: http://azure.archive.ubuntu.com/ubuntu - #version: 1.5.6.7 - # pyver: "3.7" - getpipurl: https://bootstrap.pypa.io/pip/get-pip.py - pypkg: python3.13-nogil - pypkgdev: python3.13-dev - pypkgexe: python3.13t - #pypkgadd: python3.13-distutils - pyengine_tag: cp313-cp313t - libc_tag: manylinux_2_14 - 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 ./*.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.pypkgdev}} ${{matrix.os.pypkg}} gcc pkg-config ${{matrix.os.pypkgadd}} - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "wget ${{matrix.os.getpipurl}} -O get-pip.py && ${{matrix.os.pypkgexe}} get-pip.py || true" - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "${{matrix.os.pypkgexe}} -m pip install -U 'setuptools<72.0'" - - - name: Pepare source and build wheel for ${{matrix.os.pypkgexe}} ${{matrix.os.arch}} - if: matrix.os.matrix == 'linux' - run: | - version=`cat version` - sudo mkdir -p ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel/ - sudo tar -xvf dist/zstd-$version.tar.gz -C ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel/ - false && sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} env - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} pkg-config libzstd --modversion - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} echo GCC - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} gcc -v - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-$version/ && ZSTD_ASM=1 ZSTD_WARNINGS=1 _ZSTD_SMALL=1 LDFLAGS='-Wl,--as-needed -Wl,-s' ZSTD_BUILD_STRIP=1 _ZSTD_SPEED=0 _ZSTD_SPEEDMAX=0 _ZSTD_ASM_BMI2=1 ZSTD_THREADS=1 _ZSTD_EXTERNAL=0 ${{matrix.os.pypkgexe}} setup.py bdist_wheel" - - - name: Test wheel for ${{matrix.os.pypkg}} ${{matrix.os.arch}} - if: matrix.os.matrix == 'linux' - run: | - version=`cat version` - 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-$version/ - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-$version/ && echo LLH; ls -lh build/lib*/zstd.*.so; ldd build/lib*/zstd.*.so ; file build/lib*/zstd.*.so; bash ./glibc-check.sh build/lib*/zstd.*.so" - - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-$version/ && ${{matrix.os.pypkg}} setup.py test" - - - name: Pepare wheel for upload - if: matrix.os.matrix == 'linux' - run: | - version=`cat version` - sudo cp -v ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel/zstd-$version/dist/* ./dist - sudo ls -lh ./dist/* - sudo mv -v ./dist/"zstd-$version-${{matrix.os.pyengine_tag}}-linux_${{matrix.os.tag_arch}}.whl" ./dist/"zstd-$version-${{matrix.os.pyengine_tag}}-${{matrix.os.libc_tag}}_${{matrix.os.tag_arch}}.whl" - - - - name: 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/*' - diff --git a/.github/workflows/Build_wheels_for_cpython314_x86_64_u24.yml b/.github/workflows/Build_wheels_for_cpython314_x86_64_u24.yml deleted file mode 100644 index d7586b97e..000000000 --- a/.github/workflows/Build_wheels_for_cpython314_x86_64_u24.yml +++ /dev/null @@ -1,171 +0,0 @@ -name: Build wheels for CPython3.14 x86_64 on Ubuntu16 with GCC-5 All warnings - -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.14 - 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.7 - # 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_14 - 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: | - version=`cat version` - sudo mkdir -p ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel/ - sudo tar -xvf dist/zstd-$version.tar.gz -C ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel/ - false && sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} env - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} pkg-config libzstd --modversion - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} echo GCC - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} gcc -v - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-$version/ && ZSTD_ASM=1 LDFLAGS='-Wl,--as-needed -Wl,-s' _ZSTD_SMALL=1 ZSTD_WARNINGS=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: | - version=`cat version` - 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-$version/ - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-$version/ && echo LLH; ls -lh build/lib*/zstd.*.so; ldd build/lib*/zstd.*.so ; file build/lib*/zstd.*.so; bash ./glibc-check.sh build/lib*/zstd.*.so" - - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-$version/ && ${{matrix.os.pypkg}} setup.py test" - - - name: Pepare wheel for upload - if: matrix.os.matrix == 'linux' - run: | - version=`cat version` - sudo cp -v ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel/zstd-$version/dist/* ./dist - sudo ls -lh ./dist/* - sudo mv -v ./dist/"zstd-$version-${{matrix.os.pyengine_tag}}-linux_${{matrix.os.tag_arch}}.whl" ./dist/"zstd-$version-${{matrix.os.pyengine_tag}}-${{matrix.os.libc_tag}}_${{matrix.os.tag_arch}}.whl" - - - name: 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/*' - diff --git a/.github/workflows/Build_wheels_for_cpython314_x86_u16.yml b/.github/workflows/Build_wheels_for_cpython314_x86_u16.yml deleted file mode 100644 index fdba61d57..000000000 --- a/.github/workflows/Build_wheels_for_cpython314_x86_u16.yml +++ /dev/null @@ -1,168 +0,0 @@ -name: Build wheels for CPython3.14 x86 on Ubuntu16 with GCC-5 All warnings - -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 x86 CPython 3.14 - runs-on: ubuntu-latest - matrix: linux - arch: i386 - tag_arch: i686 - release: xenial - mirror: http://azure.archive.ubuntu.com/ubuntu - getpipurl: https://bootstrap.pypa.io/pip/get-pip.py - pypkg: python3.14 - pyengine_tag: cp314-cp314 - libc_tag: manylinux_2_14 - 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: | - version=`cat version` - sudo mkdir -p ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel/ - sudo tar -xvf dist/zstd-$version.tar.gz -C ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel/ - false && sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} env - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} pkg-config libzstd --modversion - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} echo GCC - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} gcc -v - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-$version/ && ZSTD_ASM=1 LDFLAGS='-Wl,--as-needed -Wl,-s' _ZSTD_SMALL=1 ZSTD_WARNINGS=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: | - version=`cat version` - 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-$version/ - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-$version/ && echo LLH; ls -lh build/lib*/zstd.*.so; ldd build/lib*/zstd.*.so ; file build/lib*/zstd.*.so; bash ./glibc-check.sh build/lib*/zstd.*.so" - - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-$version/ && ${{matrix.os.pypkg}} setup.py test" - - - name: Pepare wheel for upload - if: matrix.os.matrix == 'linux' - run: | - version=`cat version` - sudo cp -v ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel/zstd-$version/dist/* ./dist - sudo ls -lh ./dist/* - sudo mv -v ./dist/"zstd-$version-${{matrix.os.pyengine_tag}}-linux_${{matrix.os.tag_arch}}.whl" ./dist/"zstd-$version-${{matrix.os.pyengine_tag}}-${{matrix.os.libc_tag}}_${{matrix.os.tag_arch}}.whl" - - - name: 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/*' - diff --git a/.github/workflows/Build_wheels_for_cpython314t_x64_u16.yml b/.github/workflows/Build_wheels_for_cpython314t_x64_u16.yml deleted file mode 100644 index 36f8d5f2a..000000000 --- a/.github/workflows/Build_wheels_for_cpython314t_x64_u16.yml +++ /dev/null @@ -1,174 +0,0 @@ -name: Build wheels for CPython3.14-nogil x64 on Ubuntu16 with GCC-5 All warnings - -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.14-nogil - 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.7 - # pyver: "3.7" - getpipurl: https://bootstrap.pypa.io/pip/get-pip.py - pypkg: python3.14-nogil - pypkgdev: python3.14-dev - pypkgexe: python3.14t - #pypkgadd: python3.13-distutils - pyengine_tag: cp314-cp314t - libc_tag: manylinux_2_14 - 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 ./*.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.pypkgdev}} ${{matrix.os.pypkg}} gcc pkg-config ${{matrix.os.pypkgadd}} - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "wget ${{matrix.os.getpipurl}} -O get-pip.py && ${{matrix.os.pypkgexe}} get-pip.py || true" - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "${{matrix.os.pypkgexe}} -m pip install -U 'setuptools<72.0'" - - - name: Pepare source and build wheel for ${{matrix.os.pypkg}} ${{matrix.os.arch}} - if: matrix.os.matrix == 'linux' - run: | - version=`cat version` - sudo mkdir -p ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel/ - sudo tar -xvf dist/zstd-$version.tar.gz -C ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel/ - false && sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} env - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} pkg-config libzstd --modversion - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} echo GCC - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} gcc -v - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-$version/ && ZSTD_ASM=1 ZSTD_WARNINGS=1 _ZSTD_SMALL=1 LDFLAGS='-Wl,--as-needed -Wl,-s' ZSTD_BUILD_STRIP=1 _ZSTD_SPEED=0 _ZSTD_SPEEDMAX=0 _ZSTD_ASM_BMI2=1 ZSTD_THREADS=1 _ZSTD_EXTERNAL=0 ${{matrix.os.pypkgexe}} setup.py bdist_wheel" - - - name: Test wheel for ${{matrix.os.pypkg}} ${{matrix.os.arch}} - if: matrix.os.matrix == 'linux' - run: | - version=`cat version` - 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-$version/ - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-$version/ && echo LLH; ls -lh build/lib*/zstd.*.so; ldd build/lib*/zstd.*.so ; file build/lib*/zstd.*.so; bash ./glibc-check.sh build/lib*/zstd.*.so" - - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-$version/ && ${{matrix.os.pypkg}} setup.py test" - - - name: Pepare wheel for upload - if: matrix.os.matrix == 'linux' - run: | - version=`cat version` - sudo cp -v ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel/zstd-$version/dist/* ./dist - sudo ls -lh ./dist/* - sudo mv -v ./dist/"zstd-$version-${{matrix.os.pyengine_tag}}-linux_${{matrix.os.tag_arch}}.whl" ./dist/"zstd-$version-${{matrix.os.pyengine_tag}}-${{matrix.os.libc_tag}}_${{matrix.os.tag_arch}}.whl" - - - - name: 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/*' - diff --git a/.github/workflows/Build_wheels_for_cpython314t_x86_u16.yml b/.github/workflows/Build_wheels_for_cpython314t_x86_u16.yml deleted file mode 100644 index 292be65e4..000000000 --- a/.github/workflows/Build_wheels_for_cpython314t_x86_u16.yml +++ /dev/null @@ -1,174 +0,0 @@ -name: Build wheels for CPython3.14-nogil x86 on Ubuntu16 with GCC-5 All warnings - -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.14-nogil - runs-on: ubuntu-latest - matrix: linux - arch: i386 - tag_arch: i686 - release: xenial - mirror: http://azure.archive.ubuntu.com/ubuntu - #version: 1.5.6.7 - # pyver: "3.7" - getpipurl: https://bootstrap.pypa.io/pip/get-pip.py - pypkg: python3.14-nogil - pypkgdev: python3.14-dev - pypkgexe: python3.14t - #pypkgadd: python3.13-distutils - pyengine_tag: cp314-cp314t - libc_tag: manylinux_2_14 - 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 ./*.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.pypkgdev}} ${{matrix.os.pypkg}} gcc pkg-config ${{matrix.os.pypkgadd}} - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "wget ${{matrix.os.getpipurl}} -O get-pip.py && ${{matrix.os.pypkgexe}} get-pip.py || true" - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "${{matrix.os.pypkgexe}} -m pip install -U 'setuptools<72.0'" - - - name: Pepare source and build wheel for ${{matrix.os.pypkg}} ${{matrix.os.arch}} - if: matrix.os.matrix == 'linux' - run: | - version=`cat version` - sudo mkdir -p ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel/ - sudo tar -xvf dist/zstd-$version.tar.gz -C ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel/ - false && sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} env - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} pkg-config libzstd --modversion - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} echo GCC - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} gcc -v - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-$version/ && ZSTD_ASM=1 ZSTD_WARNINGS=1 _ZSTD_SMALL=1 LDFLAGS='-Wl,--as-needed -Wl,-s' ZSTD_BUILD_STRIP=1 _ZSTD_SPEED=0 _ZSTD_SPEEDMAX=0 _ZSTD_ASM_BMI2=1 ZSTD_THREADS=1 _ZSTD_EXTERNAL=0 ${{matrix.os.pypkgexe}} setup.py bdist_wheel" - - - name: Test wheel for ${{matrix.os.pypkg}} ${{matrix.os.arch}} - if: matrix.os.matrix == 'linux' - run: | - version=`cat version` - 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-$version/ - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-$version/ && echo LLH; ls -lh build/lib*/zstd.*.so; ldd build/lib*/zstd.*.so ; file build/lib*/zstd.*.so; bash ./glibc-check.sh build/lib*/zstd.*.so" - - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-$version/ && ${{matrix.os.pypkg}} setup.py test" - - - name: Pepare wheel for upload - if: matrix.os.matrix == 'linux' - run: | - version=`cat version` - sudo cp -v ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel/zstd-$version/dist/* ./dist - sudo ls -lh ./dist/* - sudo mv -v ./dist/"zstd-$version-${{matrix.os.pyengine_tag}}-linux_${{matrix.os.tag_arch}}.whl" ./dist/"zstd-$version-${{matrix.os.pyengine_tag}}-${{matrix.os.libc_tag}}_${{matrix.os.tag_arch}}.whl" - - - - name: 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/*' - diff --git a/.github/workflows/Build_wheels_for_cpython315_x86_64_u16.yml b/.github/workflows/Build_wheels_for_cpython315_x86_64_u16.yml deleted file mode 100644 index 975c02988..000000000 --- a/.github/workflows/Build_wheels_for_cpython315_x86_64_u16.yml +++ /dev/null @@ -1,171 +0,0 @@ -name: Build wheels for CPython3.15 x86_64 on Ubuntu16 with GCC-5 All warnings - -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.15 - 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.7 - # pyver: "3.7" - getpipurl: https://bootstrap.pypa.io/pip/get-pip.py - pypkg: python3.15 - #pypkgadd: python3.13-distutils - pyengine_tag: cp315-cp315 - libc_tag: manylinux_2_14 - 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: | - version=`cat version` - sudo mkdir -p ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel/ - sudo tar -xvf dist/zstd-$version.tar.gz -C ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel/ - false && sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} env - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} pkg-config libzstd --modversion - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} echo GCC - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} gcc -v - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-$version/ && ZSTD_ASM=1 LDFLAGS='-Wl,--as-needed -Wl,-s' _ZSTD_SMALL=1 ZSTD_WARNINGS=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: | - version=`cat version` - 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-$version/ - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-$version/ && echo LLH; ls -lh build/lib*/zstd.*.so; ldd build/lib*/zstd.*.so ; file build/lib*/zstd.*.so; bash ./glibc-check.sh build/lib*/zstd.*.so" - - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-$version/ && ${{matrix.os.pypkg}} setup.py test" - - - name: Pepare wheel for upload - if: matrix.os.matrix == 'linux' - run: | - version=`cat version` - sudo cp -v ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel/zstd-$version/dist/* ./dist - sudo ls -lh ./dist/* - sudo mv -v ./dist/"zstd-$version-${{matrix.os.pyengine_tag}}-linux_${{matrix.os.tag_arch}}.whl" ./dist/"zstd-$version-${{matrix.os.pyengine_tag}}-${{matrix.os.libc_tag}}_${{matrix.os.tag_arch}}.whl" - - - name: 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/*' - diff --git a/.github/workflows/Build_wheels_for_cpython315_x86_u16.yml b/.github/workflows/Build_wheels_for_cpython315_x86_u16.yml deleted file mode 100644 index 4d96628b2..000000000 --- a/.github/workflows/Build_wheels_for_cpython315_x86_u16.yml +++ /dev/null @@ -1,171 +0,0 @@ -name: Build wheels for CPython3.15 x86 on Ubuntu16 with GCC-5 All warnings - -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 i686 CPython 3.15 - runs-on: ubuntu-latest - matrix: linux - arch: i386 - tag_arch: i686 - release: xenial - mirror: http://azure.archive.ubuntu.com/ubuntu - #version: 1.5.6.7 - # pyver: "3.7" - getpipurl: https://bootstrap.pypa.io/pip/get-pip.py - pypkg: python3.15 - #pypkgadd: python3.13-distutils - pyengine_tag: cp315-cp315 - libc_tag: manylinux_2_14 - 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: | - version=`cat version` - sudo mkdir -p ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel/ - sudo tar -xvf dist/zstd-$version.tar.gz -C ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel/ - false && sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} env - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} pkg-config libzstd --modversion - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} echo GCC - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} gcc -v - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-$version/ && ZSTD_ASM=1 LDFLAGS='-Wl,--as-needed -Wl,-s' _ZSTD_SMALL=1 ZSTD_WARNINGS=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: | - version=`cat version` - 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-$version/ - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-$version/ && echo LLH; ls -lh build/lib*/zstd.*.so; ldd build/lib*/zstd.*.so ; file build/lib*/zstd.*.so; bash ./glibc-check.sh build/lib*/zstd.*.so" - - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-$version/ && ${{matrix.os.pypkg}} setup.py test" - - - name: Pepare wheel for upload - if: matrix.os.matrix == 'linux' - run: | - version=`cat version` - sudo cp -v ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel/zstd-$version/dist/* ./dist - sudo ls -lh ./dist/* - sudo mv -v ./dist/"zstd-$version-${{matrix.os.pyengine_tag}}-linux_${{matrix.os.tag_arch}}.whl" ./dist/"zstd-$version-${{matrix.os.pyengine_tag}}-${{matrix.os.libc_tag}}_${{matrix.os.tag_arch}}.whl" - - - name: 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/*' - diff --git a/.github/workflows/Build_wheels_for_cpython315t_x64_u16.yml b/.github/workflows/Build_wheels_for_cpython315t_x64_u16.yml deleted file mode 100644 index 931574582..000000000 --- a/.github/workflows/Build_wheels_for_cpython315t_x64_u16.yml +++ /dev/null @@ -1,174 +0,0 @@ -name: Build wheels for CPython3.15-nogil x64 on Ubuntu16 with GCC-5 All warnings - -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.15-nogil - 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.7 - # pyver: "3.7" - getpipurl: https://bootstrap.pypa.io/pip/get-pip.py - pypkg: python3.15-nogil - pypkgdev: python3.15-dev - pypkgexe: python3.15t - #pypkgadd: python3.13-distutils - pyengine_tag: cp315-cp315t - libc_tag: manylinux_2_14 - 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 ./*.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.pypkgdev}} ${{matrix.os.pypkg}} gcc pkg-config ${{matrix.os.pypkgadd}} - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "wget ${{matrix.os.getpipurl}} -O get-pip.py && ${{matrix.os.pypkgexe}} get-pip.py || true" - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "${{matrix.os.pypkgexe}} -m pip install -U 'setuptools<72.0'" - - - name: Pepare source and build wheel for ${{matrix.os.pypkg}} ${{matrix.os.arch}} - if: matrix.os.matrix == 'linux' - run: | - version=`cat version` - sudo mkdir -p ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel/ - sudo tar -xvf dist/zstd-$version.tar.gz -C ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel/ - false && sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} env - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} pkg-config libzstd --modversion - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} echo GCC - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} gcc -v - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-$version/ && ZSTD_ASM=1 ZSTD_WARNINGS=1 _ZSTD_SMALL=1 LDFLAGS='-Wl,--as-needed -Wl,-s' ZSTD_BUILD_STRIP=1 _ZSTD_SPEED=0 _ZSTD_SPEEDMAX=0 _ZSTD_ASM_BMI2=1 ZSTD_THREADS=1 _ZSTD_EXTERNAL=0 ${{matrix.os.pypkgexe}} setup.py bdist_wheel" - - - name: Test wheel for ${{matrix.os.pypkg}} ${{matrix.os.arch}} - if: matrix.os.matrix == 'linux' - run: | - version=`cat version` - 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-$version/ - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-$version/ && echo LLH; ls -lh build/lib*/zstd.*.so; ldd build/lib*/zstd.*.so ; file build/lib*/zstd.*.so; bash ./glibc-check.sh build/lib*/zstd.*.so" - - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-$version/ && ${{matrix.os.pypkg}} setup.py test" - - - name: Pepare wheel for upload - if: matrix.os.matrix == 'linux' - run: | - version=`cat version` - sudo cp -v ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel/zstd-$version/dist/* ./dist - sudo ls -lh ./dist/* - sudo mv -v ./dist/"zstd-$version-${{matrix.os.pyengine_tag}}-linux_${{matrix.os.tag_arch}}.whl" ./dist/"zstd-$version-${{matrix.os.pyengine_tag}}-${{matrix.os.libc_tag}}_${{matrix.os.tag_arch}}.whl" - - - - name: 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/*' - diff --git a/.github/workflows/Build_wheels_for_cpython315t_x86_u16.yml b/.github/workflows/Build_wheels_for_cpython315t_x86_u16.yml deleted file mode 100644 index e7e1bca9b..000000000 --- a/.github/workflows/Build_wheels_for_cpython315t_x86_u16.yml +++ /dev/null @@ -1,174 +0,0 @@ -name: Build wheels for CPython3.15-nogil x86 on Ubuntu16 with GCC-5 All warnings - -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.15-nogil - runs-on: ubuntu-latest - matrix: linux - arch: i386 - tag_arch: i686 - release: xenial - mirror: http://azure.archive.ubuntu.com/ubuntu - #version: 1.5.6.7 - # pyver: "3.7" - getpipurl: https://bootstrap.pypa.io/pip/get-pip.py - pypkg: python3.15-nogil - pypkgdev: python3.15-dev - pypkgexe: python3.15t - #pypkgadd: python3.13-distutils - pyengine_tag: cp315-cp315t - libc_tag: manylinux_2_14 - 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 ./*.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.pypkgdev}} ${{matrix.os.pypkg}} gcc pkg-config ${{matrix.os.pypkgadd}} - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "wget ${{matrix.os.getpipurl}} -O get-pip.py && ${{matrix.os.pypkgexe}} get-pip.py || true" - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "${{matrix.os.pypkgexe}} -m pip install -U 'setuptools<72.0'" - - - name: Pepare source and build wheel for ${{matrix.os.pypkg}} ${{matrix.os.arch}} - if: matrix.os.matrix == 'linux' - run: | - version=`cat version` - sudo mkdir -p ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel/ - sudo tar -xvf dist/zstd-$version.tar.gz -C ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel/ - false && sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} env - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} pkg-config libzstd --modversion - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} echo GCC - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} gcc -v - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-$version/ && ZSTD_ASM=1 ZSTD_WARNINGS=1 _ZSTD_SMALL=1 LDFLAGS='-Wl,--as-needed -Wl,-s' ZSTD_BUILD_STRIP=1 _ZSTD_SPEED=0 _ZSTD_SPEEDMAX=0 _ZSTD_ASM_BMI2=1 ZSTD_THREADS=1 _ZSTD_EXTERNAL=0 ${{matrix.os.pypkgexe}} setup.py bdist_wheel" - - - name: Test wheel for ${{matrix.os.pypkg}} ${{matrix.os.arch}} - if: matrix.os.matrix == 'linux' - run: | - version=`cat version` - 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-$version/ - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-$version/ && echo LLH; ls -lh build/lib*/zstd.*.so; ldd build/lib*/zstd.*.so ; file build/lib*/zstd.*.so; bash ./glibc-check.sh build/lib*/zstd.*.so" - - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-$version/ && ${{matrix.os.pypkg}} setup.py test" - - - name: Pepare wheel for upload - if: matrix.os.matrix == 'linux' - run: | - version=`cat version` - sudo cp -v ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel/zstd-$version/dist/* ./dist - sudo ls -lh ./dist/* - sudo mv -v ./dist/"zstd-$version-${{matrix.os.pyengine_tag}}-linux_${{matrix.os.tag_arch}}.whl" ./dist/"zstd-$version-${{matrix.os.pyengine_tag}}-${{matrix.os.libc_tag}}_${{matrix.os.tag_arch}}.whl" - - - - name: 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/*' - diff --git a/.github/workflows/Build_wheels_for_cpython34_x86.yml b/.github/workflows/Build_wheels_for_cpython34_x86.yml deleted file mode 100644 index ba01e788a..000000000 --- a/.github/workflows/Build_wheels_for_cpython34_x86.yml +++ /dev/null @@ -1,239 +0,0 @@ -name: Build wheels for CPython3.4 x86 on Ubuntu16 - -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.7 - #pyver: "3.4" - getpipurl: https://bootstrap.pypa.io/pip/3.4/get-pip.py - pypkg: python3.4 - pyengine_tag: cp34-cp34m - libc_tag: manylinux_2_4 - 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 - - - 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: | - version=`cat version` - sudo mkdir -p ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel/ - sudo tar -xvf dist/zstd-$version.tar.gz -C ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel/ - false && sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} env - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} pkg-config libzstd --modversion - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-$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: | - version=`cat version` - 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-$version/ - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-$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-$version/ && ${{matrix.os.pypkg}} setup.py test" - - - name: Pepare wheel for upload - if: matrix.os.matrix == 'linux' - run: | - version=`cat version` - sudo cp -v ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel/zstd-$version/dist/* ./dist - sudo ls -lh ./dist/* - sudo mv -v ./dist/"zstd-$version-${{matrix.os.pyengine_tag}}-linux_${{matrix.os.tag_arch}}.whl" ./dist/"zstd-$version-${{matrix.os.pyengine_tag}}-${{matrix.os.libc_tag}}_${{matrix.os.tag_arch}}.whl" - - - - name: 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.23.3 - 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==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/*' - diff --git a/.github/workflows/Build_wheels_for_cpython34_x86_64.yml b/.github/workflows/Build_wheels_for_cpython34_x86_64.yml deleted file mode 100644 index 0946db31c..000000000 --- a/.github/workflows/Build_wheels_for_cpython34_x86_64.yml +++ /dev/null @@ -1,238 +0,0 @@ -name: Build wheels for CPython3.4 x86_64 on Ubuntu16 - -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: amd64 - tag_arch: x86_64 - release: xenial - mirror: http://azure.archive.ubuntu.com/ubuntu - #version: 1.5.6.7 - #pyver: "3.4" - getpipurl: https://bootstrap.pypa.io/pip/3.4/get-pip.py - pypkg: python3.4 - pyengine_tag: cp34-cp34m - libc_tag: manylinux_2_4 - 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 - 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: | - version=`cat version` - sudo mkdir -p ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel/ - sudo tar -xvf dist/zstd-$version.tar.gz -C ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel/ - false && sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} env - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} pkg-config libzstd --modversion - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-$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: | - version=`cat version` - 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-$version/ - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-$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-$version/ && ${{matrix.os.pypkg}} setup.py test" - - - name: Pepare wheel for upload - if: matrix.os.matrix == 'linux' - run: | - version=`cat version` - sudo cp -v ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel/zstd-$version/dist/* ./dist - sudo ls -lh ./dist/* - sudo mv -v ./dist/"zstd-$version-${{matrix.os.pyengine_tag}}-linux_${{matrix.os.tag_arch}}.whl" ./dist/"zstd-$version-${{matrix.os.pyengine_tag}}-${{matrix.os.libc_tag}}_${{matrix.os.tag_arch}}.whl" - - - - name: 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.23.3 - 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==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/*' - diff --git a/.github/workflows/Build_wheels_for_cpython35_x86.yml b/.github/workflows/Build_wheels_for_cpython35_x86.yml deleted file mode 100644 index e9cdc3b2b..000000000 --- a/.github/workflows/Build_wheels_for_cpython35_x86.yml +++ /dev/null @@ -1,235 +0,0 @@ -name: Build wheels for CPython3.5 x86 on Ubuntu16 - -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.7 - #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_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 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 - - - 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: | - version=`cat version` - sudo mkdir -p ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel/ - sudo tar -xvf dist/zstd-$version.tar.gz -C ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel/ - false && sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} env - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} pkg-config libzstd --modversion - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-$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: | - version=`cat version` - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-$version/ && ${{matrix.os.pypkg}} setup.py test" - - - name: Pepare wheel for upload - if: matrix.os.matrix == 'linux' - run: | - version=`cat version` - sudo cp -v ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel/zstd-$version/dist/* ./dist - sudo ls -lh ./dist/* - sudo mv -v ./dist/"zstd-$version-${{matrix.os.pyengine_tag}}-linux_${{matrix.os.tag_arch}}.whl" ./dist/"zstd-$version-${{matrix.os.pyengine_tag}}-${{matrix.os.libc_tag}}_${{matrix.os.tag_arch}}.whl" - - - - name: 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.23.3 - 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==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/*' - diff --git a/.github/workflows/Build_wheels_for_cpython35_x86_64_u20.yml b/.github/workflows/Build_wheels_for_cpython35_x86_64_u20.yml deleted file mode 100644 index 2e6ab6f63..000000000 --- a/.github/workflows/Build_wheels_for_cpython35_x86_64_u20.yml +++ /dev/null @@ -1,238 +0,0 @@ -name: Build wheels for CPython3.5 x86_64 on Ubuntu16 with GCC-5 All warnings errors - -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: amd64 - tag_arch: x86_64 - release: xenial - mirror: http://azure.archive.ubuntu.com/ubuntu - #version: 1.5.6.7 - #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_14 - 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 - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /usr/bin/apt update - sudo cp -v ./*.list ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/etc/apt/sources.list.d - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c 'cd /etc/apt/trusted.gpg.d && wget http://packages.rusoft.ru/apt/public.gpg -Orusoft.gpg' - 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: | - version=`cat version` - sudo mkdir -p ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel/ - sudo tar -xvf dist/zstd-$version.tar.gz -C ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel/ - false && sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} env - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} pkg-config libzstd --modversion - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} echo GCC-5 - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} gcc -v - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-$version/ && ZSTD_ASM=1 ZSTD_WARNINGS=1 ZSTD_WERRORS=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: | - version=`cat version` - sudo cp -v glibc-check.sh ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel/zstd-$version/ - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-$version/; echo LLH; ls -lh build/lib*/zstd.*.so; echo LDD; ldd build/lib*/zstd.*.so ; file build/lib*/zstd.*.so; bash ./glibc-check.sh build/lib*/zstd.*.so" - - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-$version/ && ${{matrix.os.pypkg}} setup.py test" - - - name: Pepare wheel for upload - if: matrix.os.matrix == 'linux' - run: | - version=`cat version` - sudo cp -v ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel/zstd-$version/dist/* ./dist - sudo ls -lh ./dist/* - sudo mv -v ./dist/"zstd-$version-${{matrix.os.pyengine_tag}}-linux_${{matrix.os.tag_arch}}.whl" ./dist/"zstd-$version-${{matrix.os.pyengine_tag}}-${{matrix.os.libc_tag}}_${{matrix.os.tag_arch}}.whl" - - - - name: 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.23.3 - 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==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/*' - diff --git a/.github/workflows/Build_wheels_for_cpython36_x86.yml b/.github/workflows/Build_wheels_for_cpython36_x86.yml deleted file mode 100644 index bf3443582..000000000 --- a/.github/workflows/Build_wheels_for_cpython36_x86.yml +++ /dev/null @@ -1,168 +0,0 @@ -name: Build wheels for CPython3.6 x86 on Ubuntu16 - -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.7 - # 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_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 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 - - - 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: | - version=`cat version` - sudo mkdir -p ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel/ - sudo tar -xvf dist/zstd-$version.tar.gz -C ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel/ - false && sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} env - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} pkg-config libzstd --modversion - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-$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: | - version=`cat version` - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-$version/ && ${{matrix.os.pypkg}} setup.py test" - - - name: Pepare wheel for upload - if: matrix.os.matrix == 'linux' - run: | - version=`cat version` - sudo cp -v ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel/zstd-$version/dist/* ./dist - sudo ls -lh ./dist/* - sudo mv -v ./dist/"zstd-$version-${{matrix.os.pyengine_tag}}-linux_${{matrix.os.tag_arch}}.whl" ./dist/"zstd-$version-${{matrix.os.pyengine_tag}}-${{matrix.os.libc_tag}}_${{matrix.os.tag_arch}}.whl" - - - - name: 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/*' - diff --git a/.github/workflows/Build_wheels_for_cpython36_x86_64_u20.yml b/.github/workflows/Build_wheels_for_cpython36_x86_64_u20.yml deleted file mode 100644 index a4d3967f4..000000000 --- a/.github/workflows/Build_wheels_for_cpython36_x86_64_u20.yml +++ /dev/null @@ -1,166 +0,0 @@ -name: Build wheels for CPython3.6 x86_64 on Ubuntu16 with All warnings errors - -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: amd64 - tag_arch: x86_64 - release: xenial - mirror: http://azure.archive.ubuntu.com/ubuntu - #version: 1.5.6.7 - #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_14 - 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 - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /usr/bin/apt update - sudo cp -v ./*.list ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/etc/apt/sources.list.d - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c 'cd /etc/apt/trusted.gpg.d && wget http://packages.rusoft.ru/apt/public.gpg -Orusoft.gpg' - 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: | - version=`cat version` - sudo mkdir -p ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel/ - sudo tar -xvf dist/zstd-$version.tar.gz -C ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel/ - false && sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} env - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} pkg-config libzstd --modversion - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-$version && ZSTD_ASM=1 ZSTD_WARNINGS=1 ZSTD_WERRORS=1 _ZSTD_ASM_BMI2=1 ZSTD_THREADS=1 _ZSTD_EXTERNAL=1 ${{matrix.os.pypkg}} setup.py bdist_wheel" - - - name: Test wheel for ${{matrix.os.pypkg}} ${{matrix.os.arch}} - if: matrix.os.matrix == 'linux' - run: | - version=`cat version` - sudo cp -v glibc-check.sh ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel/zstd-$version/ - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-$version/; echo LLH; ls -lh build/*/zstd.*.so; 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-$version/ && ${{matrix.os.pypkg}} setup.py test" - - - name: Pepare wheel for upload - if: matrix.os.matrix == 'linux' - run: | - version=`cat version` - sudo cp -v ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel/zstd-$version/dist/* ./dist - sudo ls -lh ./dist/* - sudo mv -v ./dist/"zstd-$version-${{matrix.os.pyengine_tag}}-linux_${{matrix.os.tag_arch}}.whl" ./dist/"zstd-$version-${{matrix.os.pyengine_tag}}-${{matrix.os.libc_tag}}_${{matrix.os.tag_arch}}.whl" - - - name: 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/*' - diff --git a/.github/workflows/Build_wheels_for_cpython37_x86.yml b/.github/workflows/Build_wheels_for_cpython37_x86.yml deleted file mode 100644 index f761da7d3..000000000 --- a/.github/workflows/Build_wheels_for_cpython37_x86.yml +++ /dev/null @@ -1,170 +0,0 @@ -name: Build wheels for CPython3.7 x86 on Ubuntu16 - -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.7 - #pyver: "3.11" - 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_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 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: | - version=`cat version` - sudo mkdir -p ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel/ - sudo tar -xvf dist/zstd-$version.tar.gz -C ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel/ - false && sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} env - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} pkg-config libzstd --modversion - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-$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: | - version=`cat version` - 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-$version/ - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-$version/ && ls -lh build/lib*/zstd.*.so; ldd build/lib*/zstd.*.so; file build/lib*/zstd.*.so; bash ./glibc-check.sh build/lib*/zstd.*.so" - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-$version/ && ${{matrix.os.pypkg}} setup.py test" - - - name: Pepare wheel for upload - if: matrix.os.matrix == 'linux' - run: | - version=`cat version` - sudo cp -v ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel/zstd-$version/dist/* ./dist - sudo ls -lh ./dist/* - sudo mv -v ./dist/"zstd-$version-${{matrix.os.pyengine_tag}}-linux_${{matrix.os.tag_arch}}.whl" ./dist/"zstd-$version-${{matrix.os.pyengine_tag}}-${{matrix.os.libc_tag}}_${{matrix.os.tag_arch}}.whl" - - - name: 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/*' - diff --git a/.github/workflows/Build_wheels_for_cpython37_x86_64_u24.yml b/.github/workflows/Build_wheels_for_cpython37_x86_64_u24.yml deleted file mode 100644 index df28c00b7..000000000 --- a/.github/workflows/Build_wheels_for_cpython37_x86_64_u24.yml +++ /dev/null @@ -1,170 +0,0 @@ -name: Build wheels for CPython3.7 x64 on Ubuntu16 - -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.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.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_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 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 - 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 - 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 file 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: | - version=`cat version` - sudo mkdir -p ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel/ - sudo tar -xvf dist/zstd-$version.tar.gz -C ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel/ - false && sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} env - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} pkg-config libzstd --modversion - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-$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: | - version=`cat version` - 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-$version/ - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-$version/ && echo LLH; ls -lh build/lib*/zstd.*.so; ldd build/lib*/zstd.*.so ; file build/lib*/zstd.*.so; bash ./glibc-check.sh build/lib*/zstd.*.so" - - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-$version/ && ${{matrix.os.pypkg}} setup.py test" - - - name: Pepare wheel for upload - if: matrix.os.matrix == 'linux' - run: | - version=`cat version` - sudo cp -v ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel/zstd-$version/dist/* ./dist - sudo ls -lh ./dist/* - sudo mv -v ./dist/"zstd-$version-${{matrix.os.pyengine_tag}}-linux_${{matrix.os.tag_arch}}.whl" ./dist/"zstd-$version-${{matrix.os.pyengine_tag}}-${{matrix.os.libc_tag}}_${{matrix.os.tag_arch}}.whl" - - - - name: 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/*' - diff --git a/.github/workflows/Build_wheels_for_cpython38_x86.yml b/.github/workflows/Build_wheels_for_cpython38_x86.yml deleted file mode 100644 index 665d8c7f0..000000000 --- a/.github/workflows/Build_wheels_for_cpython38_x86.yml +++ /dev/null @@ -1,168 +0,0 @@ -name: Build wheels for CPython3.8 x86 on Ubuntu16 - -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.7 - #pyver: "3.8" - getpipurl: https://bootstrap.pypa.io/pip/3.8/get-pip.py - pypkg: python3.8 - pypkgadd: python3.8-distutils - pyengine_tag: cp38-cp38 - 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 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: | - version=`cat version` - sudo mkdir -p ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel/ - sudo tar -xvf dist/zstd-$version.tar.gz -C ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel/ - false && sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} env - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} pkg-config libzstd --modversion - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-$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: | - version=`cat version` - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-$version/ && ${{matrix.os.pypkg}} setup.py test" - - - name: Pepare wheel for upload - if: matrix.os.matrix == 'linux' - run: | - version=`cat version` - sudo cp -v ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel/zstd-$version/dist/* ./dist - sudo ls -lh ./dist/* - sudo mv -v ./dist/"zstd-$version-${{matrix.os.pyengine_tag}}-linux_${{matrix.os.tag_arch}}.whl" ./dist/"zstd-$version-${{matrix.os.pyengine_tag}}-${{matrix.os.libc_tag}}_${{matrix.os.tag_arch}}.whl" - - - - name: 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/*' - diff --git a/.github/workflows/Build_wheels_for_cpython38_x86_64_u24.yml b/.github/workflows/Build_wheels_for_cpython38_x86_64_u24.yml deleted file mode 100644 index 01482a193..000000000 --- a/.github/workflows/Build_wheels_for_cpython38_x86_64_u24.yml +++ /dev/null @@ -1,170 +0,0 @@ -name: Build wheels for CPython3.8 x64 on Ubuntu16 - -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 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.7 - # pyver: "3.7" - getpipurl: https://bootstrap.pypa.io/pip/3.8/get-pip.py - pypkg: python3.8 - pypkgadd: python3.8-distutils - pyengine_tag: cp38-cp38 - 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 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 - - - 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: | - version=`cat version` - sudo mkdir -p ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel/ - sudo tar -xvf dist/zstd-$version.tar.gz -C ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel/ - false && sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} env - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} pkg-config libzstd --modversion - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-$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: | - version=`cat version` - 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-$version/ - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-$version/ && echo LLH; ls -lh build/lib*/zstd.*.so; ldd build/lib*/zstd.*.so ; file build/lib*/zstd.*.so; bash ./glibc-check.sh build/lib*/zstd.*.so" - - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-$version/ && ${{matrix.os.pypkg}} setup.py test" - - - name: Pepare wheel for upload - if: matrix.os.matrix == 'linux' - run: | - version=`cat version` - sudo cp -v ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel/zstd-$version/dist/* ./dist - sudo ls -lh ./dist/* - sudo mv -v ./dist/"zstd-$version-${{matrix.os.pyengine_tag}}-linux_${{matrix.os.tag_arch}}.whl" ./dist/"zstd-$version-${{matrix.os.pyengine_tag}}-${{matrix.os.libc_tag}}_${{matrix.os.tag_arch}}.whl" - - - - name: 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/*' - diff --git a/.github/workflows/Build_wheels_for_cpython39_x86.yml b/.github/workflows/Build_wheels_for_cpython39_x86.yml deleted file mode 100644 index f2ae642cc..000000000 --- a/.github/workflows/Build_wheels_for_cpython39_x86.yml +++ /dev/null @@ -1,168 +0,0 @@ -name: Build wheels for CPython3.9 x86 on Ubuntu 16 - -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.7 - #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_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 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 - - - 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: | - version=`cat version` - sudo mkdir -p ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel/ - sudo tar -xvf dist/zstd-$version.tar.gz -C ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel/ - false && sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} env - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} pkg-config libzstd --modversion - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-$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: | - version=`cat version` - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-$version/ && ${{matrix.os.pypkg}} setup.py test" - - - name: Pepare wheel for upload - if: matrix.os.matrix == 'linux' - run: | - version=`cat version` - sudo cp -v ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel/zstd-$version/dist/* ./dist - ls -lh ./dist/* - sudo mv -v ./dist/"zstd-$version-${{matrix.os.pyengine_tag}}-linux_${{matrix.os.tag_arch}}.whl" ./dist/"zstd-$version-${{matrix.os.pyengine_tag}}-${{matrix.os.libc_tag}}_${{matrix.os.tag_arch}}.whl" - - - - name: Test for secrets access - id: check_secrets - # If a third party makes a pull request - # 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/*' - diff --git a/.github/workflows/Build_wheels_for_cpython39_x86_64_u24.yml b/.github/workflows/Build_wheels_for_cpython39_x86_64_u24.yml deleted file mode 100644 index 7be8b8df3..000000000 --- a/.github/workflows/Build_wheels_for_cpython39_x86_64_u24.yml +++ /dev/null @@ -1,170 +0,0 @@ -name: Build wheels for CPython3.9 x86_64 on Ubuntu16 - -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 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.7 - # 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_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 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: | - version=`cat version` - sudo mkdir -p ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel/ - sudo tar -xvf dist/zstd-$version.tar.gz -C ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel/ - false && sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} env - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} pkg-config libzstd --modversion - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-$version/ && ZSTD_ASM=1 _ZSTD_ASM_BMI2=1 ZSTD_THREADS=1 ZSTD_EXTERNAL=1 ${{matrix.os.pypkg}} setup.py bdist_wheel" - - - name: Test wheel for ${{matrix.os.pypkg}} ${{matrix.os.arch}} - if: matrix.os.matrix == 'linux' - run: | - version=`cat version` - 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-$version/ - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-$version/; echo LLH; ls -lh build/*/zstd.*.so; 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-$version/ && ${{matrix.os.pypkg}} setup.py test" - - - name: Pepare wheel for upload - if: matrix.os.matrix == 'linux' - run: | - version=`cat version` - sudo cp -v ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel/zstd-$version/dist/* ./dist - sudo ls -lh ./dist/* - sudo mv -v ./dist/"zstd-$version-${{matrix.os.pyengine_tag}}-linux_${{matrix.os.tag_arch}}.whl" ./dist/"zstd-$version-${{matrix.os.pyengine_tag}}-${{matrix.os.libc_tag}}_${{matrix.os.tag_arch}}.whl" - - - - name: 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/*' - diff --git a/.github/workflows/Build_wheels_for_pypy27_x64_u16.yml b/.github/workflows/Build_wheels_for_pypy27_x64_u16.yml deleted file mode 100644 index 043c622c8..000000000 --- a/.github/workflows/Build_wheels_for_pypy27_x64_u16.yml +++ /dev/null @@ -1,168 +0,0 @@ -name: Build wheels for Pypy2.7 x64 on Ubuntu16 - -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 Pypy 2.7 - runs-on: ubuntu-latest - matrix: linux - arch: amd64 - tag_arch: x86_64 - release: xenial - mirror: http://azure.archive.ubuntu.com/ubuntu - getpipurl: https://bootstrap.pypa.io/pip/2.7/get-pip.py - pypkg: pypy2.7 - pypkgdev: pypy2.7-bin-dev - pyengine_tag: pp27-pypy_73 - libc_tag: manylinux_2_14 - 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 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.pypkgdev}} 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/ - version=`cat version` - sudo tar -xvf dist/zstd-$version.tar.gz -C ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel/ - false && sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} env - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} pkg-config libzstd --modversion - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-$version && ZSTD_ASM=1 _ZSTD_SMALL=1 ZSTD_WARNINGS=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: | - version=`cat version` - 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-$version/ - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-$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-$version/ && ${{matrix.os.pypkg}} setup.py test" - - - name: Pepare wheel for upload - if: matrix.os.matrix == 'linux' - run: | - version=`cat version` - sudo cp -v ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel/zstd-$version/dist/* ./dist - sudo ls -lh ./dist/* - sudo mv -v ./dist/"zstd-$version-${{matrix.os.pyengine_tag}}-linux_${{matrix.os.tag_arch}}.whl" ./dist/"zstd-$version-${{matrix.os.pyengine_tag}}-${{matrix.os.libc_tag}}_${{matrix.os.tag_arch}}.whl" - - - - name: 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/*' - diff --git a/.github/workflows/Build_wheels_for_pypy310_x64_u16.yml b/.github/workflows/Build_wheels_for_pypy310_x64_u16.yml deleted file mode 100644 index ac0301416..000000000 --- a/.github/workflows/Build_wheels_for_pypy310_x64_u16.yml +++ /dev/null @@ -1,168 +0,0 @@ -name: Build wheels for Pypy3.10 x64 on Ubuntu16 - -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 Pypy 3.10 - runs-on: ubuntu-latest - matrix: linux - arch: amd64 - tag_arch: x86_64 - release: xenial - mirror: http://azure.archive.ubuntu.com/ubuntu - getpipurl: https://bootstrap.pypa.io/pip/get-pip.py - pypkg: pypy3.10 - pypkgdev: pypy3.10-bin-dev - pyengine_tag: pp310-pypy310_pp73 - libc_tag: manylinux_2_14 - 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 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.pypkgdev}} 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/ - version=`cat version` - sudo tar -xvf dist/zstd-$version.tar.gz -C ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel/ - false && sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} env - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} pkg-config libzstd --modversion - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-$version && ZSTD_ASM=1 _ZSTD_SMALL=1 ZSTD_WARNINGS=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: | - version=`cat version` - 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-$version/ - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-$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-$version/ && ${{matrix.os.pypkg}} setup.py test" - - - name: Pepare wheel for upload - if: matrix.os.matrix == 'linux' - run: | - version=`cat version` - sudo cp -v ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel/zstd-$version/dist/* ./dist - sudo ls -lh ./dist/* - sudo mv -v ./dist/"zstd-$version-${{matrix.os.pyengine_tag}}-linux_${{matrix.os.tag_arch}}.whl" ./dist/"zstd-$version-${{matrix.os.pyengine_tag}}-${{matrix.os.libc_tag}}_${{matrix.os.tag_arch}}.whl" - - - - name: 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/*' - diff --git a/.github/workflows/Build_wheels_for_pypy311_x64_u16.yml b/.github/workflows/Build_wheels_for_pypy311_x64_u16.yml deleted file mode 100644 index 6cdab980e..000000000 --- a/.github/workflows/Build_wheels_for_pypy311_x64_u16.yml +++ /dev/null @@ -1,168 +0,0 @@ -name: Build wheels for Pypy3.11 x64 on Ubuntu16 - -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 Pypy 3.11 - runs-on: ubuntu-latest - matrix: linux - arch: amd64 - tag_arch: x86_64 - release: xenial - mirror: http://azure.archive.ubuntu.com/ubuntu - getpipurl: https://bootstrap.pypa.io/pip/get-pip.py - pypkg: pypy3.11 - pypkgdev: pypy3.11-bin-dev - pyengine_tag: pp311-pypy311_pp73 - libc_tag: manylinux_2_14 - 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 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.pypkgdev}} 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/ - version=`cat version` - sudo tar -xvf dist/zstd-$version.tar.gz -C ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel/ - false && sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} env - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} pkg-config libzstd --modversion - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-$version && ZSTD_ASM=1 _ZSTD_SMALL=1 ZSTD_WARNINGS=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: | - version=`cat version` - 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-$version/ - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-$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-$version/ && ${{matrix.os.pypkg}} setup.py test" - - - name: Pepare wheel for upload - if: matrix.os.matrix == 'linux' - run: | - version=`cat version` - sudo cp -v ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel/zstd-$version/dist/* ./dist - sudo ls -lh ./dist/* - sudo mv -v ./dist/"zstd-$version-${{matrix.os.pyengine_tag}}-linux_${{matrix.os.tag_arch}}.whl" ./dist/"zstd-$version-${{matrix.os.pyengine_tag}}-${{matrix.os.libc_tag}}_${{matrix.os.tag_arch}}.whl" - - - - name: 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/*' - diff --git a/.github/workflows/Build_wheels_for_pypy36_x64_u16.yml b/.github/workflows/Build_wheels_for_pypy36_x64_u16.yml deleted file mode 100644 index 228af1615..000000000 --- a/.github/workflows/Build_wheels_for_pypy36_x64_u16.yml +++ /dev/null @@ -1,168 +0,0 @@ -name: Build wheels for Pypy3.6 x64 on Ubuntu16 - -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 Pypy 3.6 - runs-on: ubuntu-latest - matrix: linux - arch: amd64 - tag_arch: x86_64 - release: xenial - mirror: http://azure.archive.ubuntu.com/ubuntu - getpipurl: https://bootstrap.pypa.io/pip/3.6/get-pip.py - pypkg: pypy3.6 - pypkgdev: pypy3.6-bin-dev - pyengine_tag: pp36-pypy36_pp73 - libc_tag: manylinux_2_14 - 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 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.pypkgdev}} 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/ - version=`cat version` - sudo tar -xvf dist/zstd-$version.tar.gz -C ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel/ - false && sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} env - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} pkg-config libzstd --modversion - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-$version && ZSTD_ASM=1 _ZSTD_SMALL=1 ZSTD_WARNINGS=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: | - version=`cat version` - 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-$version/ - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-$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-$version/ && ${{matrix.os.pypkg}} setup.py test" - - - name: Pepare wheel for upload - if: matrix.os.matrix == 'linux' - run: | - version=`cat version` - sudo cp -v ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel/zstd-$version/dist/* ./dist - sudo ls -lh ./dist/* - sudo mv -v ./dist/"zstd-$version-${{matrix.os.pyengine_tag}}-linux_${{matrix.os.tag_arch}}.whl" ./dist/"zstd-$version-${{matrix.os.pyengine_tag}}-${{matrix.os.libc_tag}}_${{matrix.os.tag_arch}}.whl" - - - - name: 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/*' - diff --git a/.github/workflows/Build_wheels_for_pypy37_x64_u16.yml b/.github/workflows/Build_wheels_for_pypy37_x64_u16.yml deleted file mode 100644 index 74358e8c0..000000000 --- a/.github/workflows/Build_wheels_for_pypy37_x64_u16.yml +++ /dev/null @@ -1,168 +0,0 @@ -name: Build wheels for Pypy3.7 x64 on Ubuntu16 - -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 Pypy 3.7 - runs-on: ubuntu-latest - matrix: linux - arch: amd64 - tag_arch: x86_64 - release: xenial - mirror: http://azure.archive.ubuntu.com/ubuntu - getpipurl: https://bootstrap.pypa.io/pip/3.7/get-pip.py - pypkg: pypy3.7 - pypkgdev: pypy3.7-bin-dev - pyengine_tag: pp37-pypy37_pp73 - libc_tag: manylinux_2_14 - 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 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.pypkgdev}} 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/ - version=`cat version` - sudo tar -xvf dist/zstd-$version.tar.gz -C ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel/ - false && sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} env - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} pkg-config libzstd --modversion - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-$version && ZSTD_ASM=1 _ZSTD_SMALL=1 ZSTD_WARNINGS=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: | - version=`cat version` - 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-$version/ - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-$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-$version/ && ${{matrix.os.pypkg}} setup.py test" - - - name: Pepare wheel for upload - if: matrix.os.matrix == 'linux' - run: | - version=`cat version` - sudo cp -v ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel/zstd-$version/dist/* ./dist - sudo ls -lh ./dist/* - sudo mv -v ./dist/"zstd-$version-${{matrix.os.pyengine_tag}}-linux_${{matrix.os.tag_arch}}.whl" ./dist/"zstd-$version-${{matrix.os.pyengine_tag}}-${{matrix.os.libc_tag}}_${{matrix.os.tag_arch}}.whl" - - - - name: 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/*' - diff --git a/.github/workflows/Build_wheels_for_pypy38_x64_u16.yml b/.github/workflows/Build_wheels_for_pypy38_x64_u16.yml deleted file mode 100644 index d2e95352b..000000000 --- a/.github/workflows/Build_wheels_for_pypy38_x64_u16.yml +++ /dev/null @@ -1,168 +0,0 @@ -name: Build wheels for Pypy3.8 x64 on Ubuntu16 - -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 Pypy 3.8 - runs-on: ubuntu-latest - matrix: linux - arch: amd64 - tag_arch: x86_64 - release: xenial - mirror: http://azure.archive.ubuntu.com/ubuntu - getpipurl: https://bootstrap.pypa.io/pip/3.8/get-pip.py - pypkg: pypy3.8 - pypkgdev: pypy3.8-bin-dev - pyengine_tag: pp38-pypy38_pp73 - libc_tag: manylinux_2_14 - 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 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.pypkgdev}} 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/ - version=`cat version` - sudo tar -xvf dist/zstd-$version.tar.gz -C ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel/ - false && sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} env - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} pkg-config libzstd --modversion - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-$version && ZSTD_ASM=1 _ZSTD_SMALL=1 ZSTD_WARNINGS=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: | - version=`cat version` - 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-$version/ - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-$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-$version/ && ${{matrix.os.pypkg}} setup.py test" - - - name: Pepare wheel for upload - if: matrix.os.matrix == 'linux' - run: | - version=`cat version` - sudo cp -v ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel/zstd-$version/dist/* ./dist - sudo ls -lh ./dist/* - sudo mv -v ./dist/"zstd-$version-${{matrix.os.pyengine_tag}}-linux_${{matrix.os.tag_arch}}.whl" ./dist/"zstd-$version-${{matrix.os.pyengine_tag}}-${{matrix.os.libc_tag}}_${{matrix.os.tag_arch}}.whl" - - - - name: 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/*' - diff --git a/.github/workflows/Build_wheels_for_pypy39_x64_u16.yml b/.github/workflows/Build_wheels_for_pypy39_x64_u16.yml deleted file mode 100644 index cce57a9d4..000000000 --- a/.github/workflows/Build_wheels_for_pypy39_x64_u16.yml +++ /dev/null @@ -1,168 +0,0 @@ -name: Build wheels for Pypy3.9 x64 on Ubuntu16 - -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 Pypy 3.9 - runs-on: ubuntu-latest - matrix: linux - arch: amd64 - tag_arch: x86_64 - release: xenial - mirror: http://azure.archive.ubuntu.com/ubuntu - getpipurl: https://bootstrap.pypa.io/pip/get-pip.py - pypkg: pypy3.9 - pypkgdev: pypy3.9-bin-dev - pyengine_tag: pp39-pypy39_pp73 - libc_tag: manylinux_2_14 - 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 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.pypkgdev}} 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/ - version=`cat version` - sudo tar -xvf dist/zstd-$version.tar.gz -C ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel/ - false && sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} env - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} pkg-config libzstd --modversion - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-$version && ZSTD_ASM=1 _ZSTD_SMALL=1 ZSTD_WARNINGS=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: | - version=`cat version` - 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-$version/ - sudo chroot ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}} /bin/bash -c "cd /build_wheel/zstd-$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-$version/ && ${{matrix.os.pypkg}} setup.py test" - - - name: Pepare wheel for upload - if: matrix.os.matrix == 'linux' - run: | - version=`cat version` - sudo cp -v ./ubuntu-${{matrix.os.release}}-${{matrix.os.arch}}/build_wheel/zstd-$version/dist/* ./dist - sudo ls -lh ./dist/* - sudo mv -v ./dist/"zstd-$version-${{matrix.os.pyengine_tag}}-linux_${{matrix.os.tag_arch}}.whl" ./dist/"zstd-$version-${{matrix.os.pyengine_tag}}-${{matrix.os.libc_tag}}_${{matrix.os.tag_arch}}.whl" - - - - name: 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/*' - diff --git a/.github/workflows/build-wheels.yml b/.github/workflows/build-wheels.yml index df2e15184..fffe2bceb 100644 --- a/.github/workflows/build-wheels.yml +++ b/.github/workflows/build-wheels.yml @@ -8,37 +8,16 @@ concurrency: jobs: build_wheels: - name: Build wheel - ${{ matrix.cibw.build }} ${{ matrix.os.name }} + name: Build wheel - ${{ matrix.cibw.build }} (#${{ matrix.repeat }}) runs-on: ${{ matrix.os.runs-on }} strategy: fail-fast: false matrix: os: - - name: macOS old - runs-on: macos-15-intel # x86 - matrix: macos - - name: macOS Latest - runs-on: macos-latest # arm - matrix: macos - - name: Ubuntu 24.04 - runs-on: ubuntu-latest - matrix: linux - name: Windows runs-on: windows-latest matrix: windows - - name: Windows (arm64) - runs-on: windows-11-arm - matrix: windows-arm cibw: - # build just supported python versions at May 2023 - - build: cp27-* - version: v1 - code: CPython2.7 - manylinux: manylinux1 - musllinux: musllinux_1_2 - archs: - linux: i686 x86_64 aarch64 - macos: x86_64 - build: cp35-* version: v1 code: CPython3.5 @@ -55,22 +34,6 @@ jobs: archs: linux: i686 x86_64 aarch64 macos: x86_64 - - build: pp27-* - version: v1 - code: PyPy2.7 - manylinux: manylinux1 - musllinux: musllinux_1_2 - archs: - linux: i686 x86_64 aarch64 - macos: x86_64 - - build: pp36-* - version: v1 - code: PyPy3.6 - manylinux: manylinux1 - musllinux: musllinux_1_2 - archs: - linux: i686 x86_64 aarch64 - macos: x86_64 - build: cp37-* version: v2 code: CPython3.7 @@ -95,94 +58,7 @@ jobs: archs: linux: i686 x86_64 aarch64 macos: x86_64 arm64 - - build: cp310-* - version: v2 - code: CPython3.10 - manylinux: manylinux_2_24 - musllinux: musllinux_1_2 - archs: - linux: i686 x86_64 aarch64 - macos: x86_64 arm64 - - build: cp311-* - version: v2 - code: CPython3.11 - manylinux: manylinux_2_24 - musllinux: musllinux_1_2 - archs: - linux: i686 x86_64 aarch64 - macos: x86_64 arm64 - - build: cp312-* - version: v2 - code: CPython3.12 - manylinux: manylinux_2_28 - musllinux: musllinux_1_2 - archs: - linux: x86_64 aarch64 - macos: x86_64 arm64 - - build: cp313-* - version: v2 - code: CPython3.13 - manylinux: manylinux_2_28 - musllinux: musllinux_1_2 - archs: - linux: x86_64 aarch64 - macos: x86_64 arm64 - - build: cp314-* - version: v3 - code: CPython3.14 - manylinux: manylinux_2_28 - musllinux: musllinux_1_2 - archs: - linux: x86_64 aarch64 - macos: x86_64 arm64 - - build: pp27-* - version: v1 - code: PyPy2.7 - manylinux: manylinux1 - musllinux: musllinux_1_2 - archs: - linux: i686 x86_64 aarch64 - macos: x86_64 - - build: pp37-* - version: v2 - code: PyPy3.7 - manylinux: manylinux_2_24 - musllinux: musllinux_1_2 - archs: - linux: i686 x86_64 aarch64 - macos: x86_64 arm64 - - build: pp38-* - version: v2 - code: PyPy3.8 - manylinux: manylinux_2_24 - musllinux: musllinux_1_2 - archs: - linux: i686 x86_64 aarch64 - macos: x86_64 arm64 - - build: pp39-* - version: v2 - code: PyPy3.9 - manylinux: manylinux_2_24 - musllinux: musllinux_1_2 - archs: - linux: i686 x86_64 aarch64 - macos: x86_64 arm64 - - build: pp310-* - version: v3 - code: PyPy3.10 - manylinux: manylinux_2_28 - musllinux: musllinux_1_2 - archs: - linux: i686 x86_64 aarch64 - macos: x86_64 arm64 - - build: pp311-* - version: v3 - code: PyPy3.11 - manylinux: manylinux_2_28 - musllinux: musllinux_1_2 - archs: - linux: i686 x86_64 aarch64 - macos: x86_64 arm64 + repeat: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19] exclude: - os: matrix: windows @@ -389,7 +265,7 @@ jobs: - name: Upload artifacts uses: actions/upload-artifact@v4 with: - name: wheels-v4-${{matrix.os.matrix}}-${{matrix.cibw.code}}-${{matrix.cibw.version}} + name: wheels-v4-${{matrix.os.matrix}}-${{matrix.cibw.code}}-${{matrix.cibw.version}}-${{matrix.repeat}} path: ./dist overwrite: true diff --git a/.github/workflows/debug_build-wheels.yml b/.github/workflows/debug_build-wheels.yml deleted file mode 100644 index acd27e04f..000000000 --- a/.github/workflows/debug_build-wheels.yml +++ /dev/null @@ -1,465 +0,0 @@ -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 - - 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_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' - 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.23.3 - 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/*'