ENH: use c11 atomics for numpy
#11285
Workflow file for this run
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@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1 | |
| with: | |
| submodules: recursive | |
| fetch-tags: true | |
| persist-credentials: false | |
| - name: Setup Python | |
| uses: actions/setup-python@83679a892e2d95755f2dac6acb0bfd1e9ac5d548 # v6.1.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: | | |
| choco install -y --stoponfirstfailure --checksum 6004DF17818F5A6DBF19CB335CC92702 pkgconfiglite | |
| 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@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1 | |
| with: | |
| submodules: recursive | |
| fetch-tags: true | |
| persist-credentials: false | |
| - name: Setup Python | |
| uses: actions/setup-python@83679a892e2d95755f2dac6acb0bfd1e9ac5d548 # v6.1.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@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1 | |
| with: | |
| submodules: recursive | |
| fetch-tags: true | |
| persist-credentials: false | |
| - name: Setup Python | |
| uses: actions/setup-python@83679a892e2d95755f2dac6acb0bfd1e9ac5d548 # v6.1.0 | |
| with: | |
| python-version: ${{ matrix.pyver }} | |
| - name: pkg-config | |
| run: | | |
| choco install -y --stoponfirstfailure --checksum 6004DF17818F5A6DBF19CB335CC92702 pkgconfiglite | |
| - name: Dependencies | |
| run: | | |
| python -m pip install -r requirements/test_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 . -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 | |
| } |