Trying to fix Manylinux/ARM64. #79
This file contains 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: Assets | |
on: | |
release: | |
types: | |
- created | |
push: | |
branches: | |
- 'release**' | |
jobs: | |
# macos-x64: | |
# name: 'PyPI wheels for MacOS/x64' | |
# runs-on: macos-latest | |
# strategy: | |
# fail-fast: false | |
# matrix: | |
# python: | |
# - '3.8' | |
# - '3.9' | |
# - '3.10' | |
# - '3.11' | |
# steps: | |
# - uses: actions/setup-python@v4 | |
# with: | |
# python-version: ${{ matrix.python }} | |
# - name: Install dependencies | |
# run: | | |
# brew install swig xquartz | |
# python -m pip install --upgrade pip conan setuptools wheel | |
# - name: Checkout | |
# uses: actions/checkout@v3 | |
# - name: Build wheel | |
# env: | |
# NPROCS: 5 | |
# run: python setup.py bdist_wheel | |
# - name: Wheel path | |
# id: wheel | |
# working-directory: pybuild/dist/ | |
# run: echo "##[set-output name=wheel;]$(ls *.whl)" | |
# - uses: actions/upload-artifact@v3 | |
# with: | |
# name: pypi-macos-py${{ matrix.python }} | |
# path: pybuild/dist/${{ steps.wheel.outputs.wheel }} | |
# - uses: actions/upload-release-asset@v1 | |
# if: ${{ github.event_name == 'release' && github.event.action == 'created' }} | |
# env: | |
# GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
# with: | |
# upload_url: ${{ github.event.release.upload_url }} | |
# asset_path: pybuild/dist/${{ steps.wheel.outputs.wheel }} | |
# asset_name: ${{ steps.wheel.outputs.wheel }} | |
# asset_content_type: application/zip | |
# | |
# manylinux-x64: | |
# name: 'PyPI wheels for Manylinux/x64' | |
# runs-on: ubuntu-latest | |
# container: quay.io/pypa/manylinux${{ matrix.manylinux }}_x86_64:latest | |
# env: | |
# SWIG_VERSION: ${{ matrix.swig_version }} | |
# CMAKE_VERSION: '3.12' | |
# strategy: | |
# fail-fast: false | |
# matrix: | |
# manylinux: | |
# - _2_28 | |
# cpython_version: | |
# - 'cp38-cp38' | |
# - 'cp39-cp39' | |
# - 'cp310-cp310' | |
# - 'cp311-cp311' | |
# include: | |
# - manylinux: _2_28 | |
# swig_version: 'swig-3.0.12-19.module_el8.3.0+6167+838326ab' | |
# steps: | |
# - name: Install dependencies | |
# run: | | |
# dnf install -y $SWIG_VERSION | |
# python_bin="/opt/python/${{ matrix.cpython_version }}/bin/python" | |
# ${python_bin} -m pip install auditwheel conan | |
# pip_installation_folder=$(${python_bin} -m pip show --files conan | grep 'Location:' | sed 's/Location: //') | |
# conan_installation_folder_relative_path=$(${python_bin} -m pip show --files conan | grep '/bin/' | sed 's#\s\+\(.*\)/conan#\1#') | |
# conan_installation_folder="${pip_installation_folder}/${conan_installation_folder_relative_path}" | |
# echo "Conan installation folder: ${conan_installation_folder}" | |
# echo "${conan_installation_folder}" >> $GITHUB_PATH | |
# - name: Get latest CMake | |
# uses: lukka/get-cmake@latest | |
# - name: Checkout | |
# uses: actions/checkout@v3 | |
# - name: Build wheel | |
# env: | |
# NPROCS: 5 | |
# run: | | |
# /opt/python/${{ matrix.cpython_version }}/bin/python setup.py bdist_wheel | |
# /opt/python/${{ matrix.cpython_version }}/bin/python -m auditwheel repair pybuild/dist/*.whl | |
# shell: bash | |
# - name: Wheel path | |
# id: wheel | |
# working-directory: wheelhouse | |
# run: echo "##[set-output name=wheel;]$(ls *.whl)" | |
# - uses: actions/upload-artifact@v3 | |
# with: | |
# name: pypi-linux-${{ matrix.cpython_version }} | |
# path: wheelhouse/${{ steps.wheel.outputs.wheel }} | |
# - uses: actions/upload-release-asset@v1 | |
# if: ${{ github.event_name == 'release' && github.event.action == 'created' }} | |
# env: | |
# GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
# with: | |
# upload_url: ${{ github.event.release.upload_url }} | |
# asset_path: wheelhouse/${{ steps.wheel.outputs.wheel }} | |
# asset_name: ${{ steps.wheel.outputs.wheel }} | |
# asset_content_type: application/zip | |
# | |
manylinux-arm64: | |
name: 'PyPI wheels for Manylinux/ARM64' | |
runs-on: [self-hosted, ARM64, Linux] | |
container: quay.io/pypa/manylinux${{ matrix.manylinux }}_aarch64:latest | |
env: | |
BISON_VERSION: ${{ matrix.bison_version }} | |
FLEX_VERSION: ${{ matrix.flex_version }} | |
JAVA_VERSION: ${{ matrix.java_version }} | |
SWIG_VERSION: ${{ matrix.swig_version }} | |
CMAKE_VERSION: '3.12' | |
strategy: | |
fail-fast: false | |
matrix: | |
manylinux: | |
- _2_28 | |
cpython_version: | |
#- 'cp38-cp38' | |
#- 'cp39-cp39' | |
#- 'cp310-cp310' | |
- 'cp311-cp311' | |
# We are having problems when using the m4 and zulu-opendjk Conan packages on an armv8 architecture | |
# m4 is required by flex/bison and zulu-openjdk provides the Java JRE required by the ANTLR generator | |
# So, for the time being, we are installing flex/bison and java manually for this platform | |
include: | |
- manylinux: _2_28 | |
bison_version: 'bison-3.0.4-10.el8' | |
flex_version: 'flex-2.6.1-9.el8' | |
java_version: 'java-11-openjdk-11.0.20.0.8-3.el8' | |
swig_version: 'swig-3.0.12-19.module_el8.4.0+2254+838326ab' | |
steps: | |
- name: Install dependencies | |
run: | | |
dnf install -y $BISON_VERSION $FLEX_VERSION $JAVA_VERSION $SWIG_VERSION | |
python_bin="/opt/python/${{ matrix.cpython_version }}/bin/python" | |
${python_bin} -m pip install auditwheel conan | |
pip_installation_folder=$(${python_bin} -m pip show --files conan | grep 'Location:' | sed 's/Location: //') | |
conan_installation_folder_relative_path=$(${python_bin} -m pip show --files conan | grep '/bin/' | sed 's#\s\+\(.*\)/conan#\1#') | |
conan_installation_folder="${pip_installation_folder}/${conan_installation_folder_relative_path}" | |
echo "Conan installation folder: ${conan_installation_folder}" | |
echo "${conan_installation_folder}" >> $GITHUB_PATH | |
- name: Get latest CMake | |
uses: lukka/get-cmake@latest | |
- name: Checkout | |
uses: actions/checkout@v3 | |
- name: Build wheel | |
env: | |
NPROCS: 5 | |
run: | | |
/opt/python/${{ matrix.cpython_version }}/bin/python setup.py bdist_wheel | |
/opt/python/${{ matrix.cpython_version }}/bin/python -m auditwheel repair pybuild/dist/*.whl | |
- name: Wheel path | |
id: wheel | |
working-directory: wheelhouse | |
run: echo "##[set-output name=wheel;]$(ls *.whl)" | |
- uses: actions/upload-artifact@v3 | |
with: | |
name: pypi-linux-${{ matrix.cpython_version }} | |
path: wheelhouse/${{ steps.wheel.outputs.wheel }} | |
- uses: actions/upload-release-asset@v1 | |
if: ${{ github.event_name == 'release' && github.event.action == 'created' }} | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
with: | |
upload_url: ${{ github.event.release.upload_url }} | |
asset_path: wheelhouse/${{ steps.wheel.outputs.wheel }} | |
asset_name: ${{ steps.wheel.outputs.wheel }} | |
asset_content_type: application/zip | |
# windows-x64: | |
# name: 'PyPI wheels for Windows/x64' | |
# runs-on: windows-latest | |
# strategy: | |
# fail-fast: false | |
# matrix: | |
# python: | |
# - '3.8' | |
# - '3.9' | |
# - '3.10' | |
# - '3.11' | |
# steps: | |
# - uses: actions/setup-python@v4 | |
# with: | |
# python-version: ${{ matrix.python }} | |
# - name: Install dependencies | |
# run: | | |
# python -m pip install --upgrade pip conan setuptools wheel | |
# - name: Checkout | |
# uses: actions/checkout@v3 | |
# - name: Build wheel | |
# env: | |
# NPROCS: 5 | |
# run: python setup.py bdist_wheel | |
# - name: Wheel path | |
# id: wheel | |
# working-directory: pybuild/dist/ | |
# run: echo "##[set-output name=wheel;]$(Get-ChildItem -name *.whl)" | |
# - uses: actions/upload-artifact@v3 | |
# with: | |
# name: pypi-windows-py${{ matrix.python }} | |
# path: pybuild/dist/${{ steps.wheel.outputs.wheel }} | |
# - uses: actions/upload-release-asset@v1 | |
# if: ${{ github.event_name == 'release' && github.event.action == 'created' }} | |
# env: | |
# GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
# with: | |
# upload_url: ${{ github.event.release.upload_url }} | |
# asset_path: pybuild/dist/${{ steps.wheel.outputs.wheel }} | |
# asset_name: ${{ steps.wheel.outputs.wheel }} | |
# asset_content_type: application/zip | |
# | |
# publish: | |
# name: Publish | |
# if: ${{ github.event_name == 'release' && github.event.action == 'created' }} | |
# needs: | |
# - macos-x64 | |
# - manylinux-x64 | |
# - manylinux-arm64 | |
# - windows-x64 | |
# runs-on: ubuntu-latest | |
# steps: | |
# - name: Download artifacts | |
# uses: actions/download-artifact@v3 | |
# id: download | |
# - name: Publish to PyPI | |
# uses: pypa/[email protected] | |
# with: | |
# user: __token__ | |
# password: ${{ secrets.PYPI_TOKEN }} | |
# packages_dir: ${{ steps.download.outputs.download-path }}/pypi-* |