ci: add riscv64 native wheel build using RISE runners #17
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: Windows tests | |
| on: | |
| pull_request: | |
| branches: | |
| - main | |
| - maintenance/** | |
| paths-ignore: | |
| - '**.pyi' | |
| - '**.md' | |
| - '**.rst' | |
| - 'tools/stubtest/**' | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }} | |
| cancel-in-progress: true | |
| permissions: | |
| contents: read # to fetch code (actions/checkout) | |
| jobs: | |
| clangcl_python64bit_openblas32: | |
| name: Clang-cl, x86-64, fast, openblas32 | |
| runs-on: windows-2022 | |
| # To enable this job on a fork, comment out: | |
| if: github.repository == 'numpy/numpy' | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 | |
| with: | |
| submodules: recursive | |
| fetch-tags: true | |
| persist-credentials: false | |
| - name: Setup Python | |
| uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0 | |
| with: | |
| python-version: "3.14t" | |
| - name: Install build dependencies from PyPI | |
| run: | | |
| pip install -r requirements/build_requirements.txt | |
| - name: Install pkg-config | |
| run: | | |
| python -m pip install pkgconf | |
| echo "PKG_CONFIG_PATH=${{ github.workspace }}/.openblas" >> $env:GITHUB_ENV | |
| - name: Install NumPy (Clang-cl) | |
| run: | | |
| "[binaries]","c = 'clang-cl'","cpp = 'clang-cl'","ar = 'llvm-lib'","c_ld = 'lld-link'","cpp_ld = 'lld-link'" | Out-File $PWD/clang-cl-build.ini -Encoding ascii | |
| pip install -r requirements/ci_requirements.txt | |
| spin build --with-scipy-openblas=32 -j2 -- --vsenv --native-file=$PWD/clang-cl-build.ini | |
| - name: Meson Log | |
| shell: bash | |
| if: ${{ failure() }} | |
| run: | | |
| cat build/meson-logs/meson-log.txt | |
| - name: Install test dependencies | |
| run: | | |
| python -m pip install -r requirements/test_requirements.txt | |
| python -m pip install threadpoolctl | |
| - name: Run test suite | |
| run: | | |
| spin test -- --timeout=600 --durations=10 | |
| #======================================================================================= | |
| msvc_python32bit_no_openblas: | |
| name: MSVC, ${{ matrix.architecture }}, fast, no BLAS | |
| runs-on: ${{ matrix.os }} | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| include: | |
| - os: windows-2022 | |
| architecture: x86 | |
| - os: windows-11-arm | |
| architecture: arm64 | |
| # To enable this job on a fork, comment out: | |
| if: github.repository == 'numpy/numpy' | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 | |
| with: | |
| submodules: recursive | |
| fetch-tags: true | |
| persist-credentials: false | |
| - name: Setup Python | |
| uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0 | |
| with: | |
| python-version: '3.12' | |
| architecture: ${{ matrix.architecture }} | |
| - name: Setup MSVC | |
| uses: bus1/cabuild/action/msdevshell@e22aba57d6e74891d059d66501b6b5aed8123c4d # v1 | |
| with: | |
| architecture: ${{ matrix.architecture }} | |
| - name: Build and install | |
| run: | | |
| python -m pip install . -v -Ccompile-args="-j2" -Csetup-args="-Dallow-noblas=true" 2>&1 | tee build.log | |
| - name: Check warnings | |
| uses: ./.github/check-warnings | |
| with: | |
| log-file: ./build.log | |
| allowlist: ./.github/check-warnings/msvc-allowed-warnings.txt | |
| warning-regex: "warning C|Command line warning" | |
| - name: Install test dependencies | |
| run: | | |
| python -m pip install -r requirements/test_requirements.txt | |
| - name: Run test suite (fast) | |
| run: | | |
| cd tools | |
| python -m pytest --pyargs numpy -m "not slow" -n2 --timeout=600 --durations=10 | |
| #======================================================================================= | |
| msvc_python64bit_openblas: | |
| name: MSVC, x86_64, ${{ matrix.TEST_MODE }}, openblas${{ matrix.BLAS }} | |
| runs-on: windows-2022 | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| include: | |
| - BLAS: 64 | |
| TEST_MODE: full | |
| pyver: '3.14' | |
| - BLAS: 32 | |
| TEST_MODE: fast | |
| pyver: '3.12' | |
| # To enable this job on a fork, comment out: | |
| if: github.repository == 'numpy/numpy' | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 | |
| with: | |
| submodules: recursive | |
| fetch-tags: true | |
| persist-credentials: false | |
| - name: Setup Python | |
| uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0 | |
| with: | |
| python-version: ${{ matrix.pyver }} | |
| - name: pkg-config | |
| run: | | |
| python -m pip install pkgconf | |
| - name: Dependencies | |
| run: | | |
| python -m pip install -r requirements/test_requirements.txt | |
| python -m pip install -r requirements/build_requirements.txt | |
| - name: Build and install | |
| run: | | |
| pip install -r requirements/ci_requirements.txt | |
| spin config-openblas --with-scipy-openblas=${{ matrix.BLAS }} | |
| $env:PKG_CONFIG_PATH="$pwd/.openblas" | |
| python -m pip install --no-build-isolation . -v -Csetup-args="--vsenv" -Csetup-args="-Dallow-noblas=false" | |
| - name: Run test suite ${{ matrix.TEST_MODE }} | |
| run: | | |
| cd tools | |
| # Get a gfortran onto the path for f2py tests | |
| $env:PATH = "c:\\rtools45\\x86_64-w64-mingw32.static.posix\\bin;$env:PATH" | |
| If ( "${{ matrix.TEST_MODE }}" -eq "full" ) { | |
| python -m pytest --pyargs numpy -rsx -n2 --durations=10 | |
| } else { | |
| python -m pytest --pyargs numpy -m "not slow" -n2 --timeout=600 --durations=10 -rsx | |
| } |