Issue 304 libzstd versions compiled and loaded #7
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Build wheels for CPython2.7 x86 on Ubuntu16 with GCC-9 with All warnings, test external build | |
| 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.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 | |
| 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" | |