MAINT: Add array-api-tests
CI stage, add ndarray.__array_namespace__
#12335
Workflow file for this run
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
# To enable this workflow on a fork, comment out: | |
# | |
# if: github.repository == 'numpy/numpy' | |
name: Test on Cygwin | |
on: | |
pull_request: | |
branches: | |
- main | |
- maintenance/** | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }} | |
cancel-in-progress: true | |
permissions: | |
contents: read # to fetch code (actions/checkout) | |
jobs: | |
cygwin_build_test: | |
runs-on: windows-latest | |
if: "github.repository == 'numpy/numpy'" | |
steps: | |
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 | |
with: | |
submodules: recursive | |
fetch-depth: 0 | |
- name: Install Cygwin | |
uses: cygwin/cygwin-install-action@006ad0b0946ca6d0a3ea2d4437677fa767392401 # v4 | |
with: | |
platform: x86_64 | |
install-dir: 'C:\tools\cygwin' | |
packages: >- | |
python39-devel python39-pip python-pip-wheel python-setuptools-wheel | |
liblapack-devel gcc-fortran gcc-g++ git dash cmake ninja | |
- name: Set Windows PATH | |
uses: egor-tensin/cleanup-path@8469525c8ee3eddabbd3487658621a6235b3c581 # v3 | |
with: | |
dirs: 'C:\tools\cygwin\bin;C:\tools\cygwin\lib\lapack' | |
- name: Verify that bash is Cygwin bash | |
run: | | |
command bash | |
bash -c "uname -svrmo" | |
- name: Tell Cygwin's git about this repository. | |
run: | | |
dash -c "which git; /usr/bin/git config --system --add safe.directory /cygdrive/d/a/numpy/numpy" | |
- name: Verify python version | |
# Make sure it's the Cygwin one, not a Windows one | |
run: | | |
dash -c "which python3.9; /usr/bin/python3.9 --version -V" | |
- name: Build NumPy wheel | |
run: | | |
dash -c "/usr/bin/python3.9 -m pip install build pytest hypothesis pytest-xdist Cython meson" | |
dash -c "/usr/bin/python3.9 -m build . --wheel -Csetup-args=-Dblas=blas -Csetup-args=-Dlapack=lapack -Csetup-args=-Dcpu-dispatch=none -Csetup-args=-Dcpu-baseline=native" | |
- name: Install NumPy from wheel | |
run: | | |
bash -c "/usr/bin/python3.9 -m pip install dist/numpy-*cp39*.whl" | |
- name: Rebase NumPy compiled extensions | |
run: | | |
dash "tools/rebase_installed_dlls_cygwin.sh" 3.9 | |
- name: Run NumPy test suite | |
shell: "C:\\tools\\cygwin\\bin\\bash.exe -o igncr -eo pipefail {0}" | |
run: | | |
cd tools | |
/usr/bin/python3.9 -m pytest --pyargs numpy -n2 -m "not slow" | |
- name: Upload wheel if tests fail | |
uses: actions/upload-artifact@a8a3f3ad30e3422c9c7b888a15615d19a852ae32 # v3.1.3 | |
if: failure() | |
with: | |
name: numpy-cygwin-wheel | |
path: dist/numpy-*cp39*.whl | |
- name: Check the extension modules on failure | |
if: failure() | |
run: | | |
dash -c "/usr/bin/python3.9 -m pip show numpy" | |
dash -c "/usr/bin/python3.9 -m pip show -f numpy | grep .dll" | |
dash -c "/bin/tr -d '\r' <tools/list_installed_dll_dependencies_cygwin.sh >list_dlls_unix.sh" | |
dash "list_dlls_unix.sh" 3.9 | |
- name: Print installed package versions on failure | |
if: failure() | |
run: | | |
cygcheck -c |