diff --git a/.github/workflows/python.yaml b/.github/workflows/python.yaml index ff9d58e..3900ab1 100644 --- a/.github/workflows/python.yaml +++ b/.github/workflows/python.yaml @@ -44,15 +44,25 @@ jobs: fail-fast: false matrix: include: - - { id: linux-gcc, os: ubuntu-20.04, python-version: 3.9, compiler: gcc } - - { id: windows-gcc, os: windows-2019, python-version: 3.9, compiler: gcc } - - { id: windows-cl, os: windows-2019, python-version: 3.9, compiler: cl } - - { id: macos-gcc, os: macos-10.15, python-version: 3.9, compiler: gcc } + - { id: linux-gcc, os: ubuntu-20.04, python-version: 3.9, compiler: gcc } + - { id: windows-gcc, os: windows-2019, python-version: 3.9, compiler: gcc } + - { id: windows-cl, os: windows-2019, python-version: 3.9, compiler: cl } + - { id: macos-gcc, os: macos-10.15, python-version: 3.9, compiler: gcc } + - { id: linux-gcc, os: ubuntu-20.04, python-version: pypy-3.7, compiler: gcc } + - { id: windows-gcc, os: windows-2019, python-version: pypy-3.7, compiler: gcc } + - { id: windows-cl, os: windows-2019, python-version: pypy-3.7, compiler: cl } + # - { id: macos-gcc, os: macos-10.15, python-version: pypy-3.7, compiler: gcc } runs-on: ${{ matrix.os }} steps: - name: Add VS build tools if: runner.os == 'Windows' && matrix.compiler == 'cl' uses: ilammy/msvc-dev-cmd@v1 + # - name: Install OpenBLAS # Allows PyPy to build NumPy + # if: runner.os == 'macOS' + # shell: bash + # run: > + # brew install openblas && + # echo "OPENBLAS='$(brew --prefix openblas)'" >> $GITHUB_ENV - name: Download python-dist artifact uses: actions/download-artifact@v2 with: @@ -97,14 +107,17 @@ jobs: - { os: ubuntu-20.04, arch: manylinux_x86_64, python-version: cp37, title: " & Test" } - { os: ubuntu-20.04, arch: manylinux_x86_64, python-version: cp38, title: " & Test" } - { os: ubuntu-20.04, arch: manylinux_x86_64, python-version: cp39, title: " & Test" } + - { os: ubuntu-20.04, arch: manylinux_x86_64, python-version: pp37, title: " & Test" } - { os: ubuntu-20.04, arch: manylinux_i686, python-version: cp36, title: "" } - { os: ubuntu-20.04, arch: manylinux_i686, python-version: cp37, title: "" } - { os: ubuntu-20.04, arch: manylinux_i686, python-version: cp38, title: "" } - { os: ubuntu-20.04, arch: manylinux_i686, python-version: cp39, title: "" } + - { os: ubuntu-20.04, arch: manylinux_i686, python-version: pp37, title: "" } - { os: ubuntu-20.04, arch: manylinux_aarch64, python-version: cp36, title: "" } - { os: ubuntu-20.04, arch: manylinux_aarch64, python-version: cp37, title: "" } - { os: ubuntu-20.04, arch: manylinux_aarch64, python-version: cp38, title: "" } - { os: ubuntu-20.04, arch: manylinux_aarch64, python-version: cp39, title: "" } + - { os: ubuntu-20.04, arch: manylinux_aarch64, python-version: pp37, title: "" } # - { os: ubuntu-20.04, arch: manylinux_ppc64le, python-version: cp36, title: "" } # - { os: ubuntu-20.04, arch: manylinux_ppc64le, python-version: cp37, title: "" } # - { os: ubuntu-20.04, arch: manylinux_ppc64le, python-version: cp38, title: "" } @@ -117,6 +130,7 @@ jobs: - { os: windows-2019, arch: win_amd64, python-version: cp37, title: " & Test" } - { os: windows-2019, arch: win_amd64, python-version: cp38, title: " & Test" } - { os: windows-2019, arch: win_amd64, python-version: cp39, title: " & Test" } + - { os: windows-2019, arch: win_amd64, python-version: pp37, title: " & Test" } - { os: windows-2019, arch: win32, python-version: cp36, title: " & Test" } - { os: windows-2019, arch: win32, python-version: cp37, title: " & Test" } - { os: windows-2019, arch: win32, python-version: cp38, title: " & Test" } @@ -125,7 +139,10 @@ jobs: - { os: macos-10.15, arch: macosx_x86_64, python-version: cp37, title: " & Test" } - { os: macos-10.15, arch: macosx_x86_64, python-version: cp38, title: " & Test" } - { os: macos-10.15, arch: macosx_x86_64, python-version: cp39, title: " & Test" } + # - { os: macos-10.15, arch: macosx_x86_64, python-version: pp37, title: " & Test" } + - { os: macos-10.15, arch: macosx_arm64, python-version: cp38, title: "" } - { os: macos-10.15, arch: macosx_arm64, python-version: cp39, title: "" } + - { os: macos-10.15, arch: macosx_universal2, python-version: cp38, title: " & Mostly Test" } - { os: macos-10.15, arch: macosx_universal2, python-version: cp39, title: " & Mostly Test" } runs-on: ${{ matrix.os }} steps: @@ -136,7 +153,7 @@ jobs: with: platforms: all - name: Build${{ matrix.title }} Wheel - uses: pypa/cibuildwheel@v1.11.1 + uses: pypa/cibuildwheel@v2.0.0b2 env: CIBW_BUILD_VERBOSITY: 1 CIBW_BUILD: ${{ matrix.python-version }}-${{ matrix.arch }} @@ -153,6 +170,8 @@ jobs: CIBW_TEST_COMMAND: > python {project}/test/test.py {project}/test/data/ {project}/test/out/test1_ParticleFilterLoc_test_out_py.csv {project}/test/out/test1_ParticleFilterLoc_test_out_c.csv CIBW_TEST_SKIP: '*-macosx_arm64 *-macosx_universal2:arm64 *-manylinux_{aarch64,i686,ppc64le,s390x}' # Cannot yet test on Mac non x86_64, some QEMU+Cython float precision issue + # CIBW_BEFORE_BUILD_MACOS: "brew install openblas" # Allows PyPy to build NumPy + # CIBW_ENVIRONMENT_MACOS: "OPENBLAS='$(brew --prefix openblas)'" - name: Display structure of wheelhouse files run: ls -R working-directory: wheelhouse