From 016ba5bf193c8d474784a88969dc94b8a7095663 Mon Sep 17 00:00:00 2001 From: Markus Klein Date: Fri, 31 Jan 2025 16:36:27 +0100 Subject: [PATCH] test: manylinux arm build --- .github/workflows/test-wheel.yml | 14 ++++++++++++++ manylinux/aarch64.dockerfile | 16 ++++++++++++++++ 2 files changed, 30 insertions(+) create mode 100644 manylinux/aarch64.dockerfile diff --git a/.github/workflows/test-wheel.yml b/.github/workflows/test-wheel.yml index 3d49818..61ecfcb 100644 --- a/.github/workflows/test-wheel.yml +++ b/.github/workflows/test-wheel.yml @@ -56,6 +56,20 @@ jobs: pip install twine==6.0.1 twine upload --repository testpypi --skip-existing -u __token__ -p "${{ secrets.TEST_PYPI_API_TOKEN }}" dist/* + + manylinux-wheel-arm: + runs-on: ubuntu-24.04-arm + steps: + - uses: actions/checkout@v4 + - name: Build Manylinux wheel ARM + run: | + docker build -t cargodock ./manylinux -f ./manylinux/aarch64.dockerfile + docker run --rm -v ${PWD}:/io cargodock bash /io/manylinux/build_wheel.sh + - name: Publish Manylinux wheel ARM + run: | + pip install twine==6.0.1 + twine upload --repository testpypi --skip-existing -u __token__ -p "${{ secrets.TEST_PYPI_API_TOKEN }}" dist/* + macos-arm-wheel: runs-on: macos-14 diff --git a/manylinux/aarch64.dockerfile b/manylinux/aarch64.dockerfile new file mode 100644 index 0000000..e2f10dc --- /dev/null +++ b/manylinux/aarch64.dockerfile @@ -0,0 +1,16 @@ +FROM quay.io/pypa/manylinux2014_aarch64 + +# Install unix-odbc from source. Version installed via YUM is too old +RUN curl https://www.unixodbc.org/unixODBC-2.3.9.tar.gz > unixODBC-2.3.9.tar.gz +RUN tar -xzf unixODBC-2.3.9.tar.gz +RUN cd unixODBC-2.3.9 && ./configure && make && make install + +# RUN yum search unixodbc +# RUN yum install unixODBC.x86_64 -y + +RUN curl https://sh.rustup.rs -sSf | sh -s -- -y --default-toolchain stable + +# Wheels are zip files. Needed to zip it again after editing it +RUN yum install zip -y + +ENV PATH="/root/.cargo/bin:$PATH" \ No newline at end of file