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: Test Meson build (Windows) | |
on: | |
pull_request: | |
branches: | |
- main | |
- maintenance/** | |
push: | |
branches: | |
- ci-win-python32bit | |
env: | |
PYTHON_VERSION: 3.11 | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }} | |
cancel-in-progress: true | |
permissions: | |
contents: read # to fetch code (actions/checkout) | |
jobs: | |
msvc_64bit-python_openblas: | |
name: MSVC, x86-64, LP64 OpenBLAS | |
runs-on: windows-2019 | |
if: "github.repository == 'numpy/numpy'" | |
steps: | |
- name: Checkout | |
uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3.5.3 | |
with: | |
submodules: recursive | |
fetch-depth: 0 | |
- name: Setup Python | |
uses: actions/setup-python@61a6322f88396a6271a6ee3565807d608ecaddd1 # v4.7.0 | |
with: | |
python-version: ${{ env.PYTHON_VERSION }} | |
- name: Install dependencies | |
run: | | |
pip install -r build_requirements.txt | |
- name: openblas-libs | |
run: | | |
# Download and install pre-built OpenBLAS library | |
# with 32-bit interfaces | |
# Unpack it in the pkg-config hardcoded path | |
choco install unzip -y | |
choco install wget -y | |
choco install -y --checksum 6004DF17818F5A6DBF19CB335CC92702 pkgconfiglite | |
wget https://anaconda.org/multibuild-wheels-staging/openblas-libs/v0.3.21/download/openblas-v0.3.21-win_amd64-gcc_10_3_0.zip | |
unzip -d c:\opt openblas-v0.3.21-win_amd64-gcc_10_3_0.zip | |
echo "PKG_CONFIG_PATH=c:\opt\64\lib\pkgconfig;" >> $env:GITHUB_ENV | |
- name: meson-configure | |
run: | | |
meson setup build --prefix=$PWD\build-install -Ddebug=false --optimization 2 --vsenv | |
- name: meson-build | |
run: | | |
meson compile -C build -v | |
- name: meson-install | |
run: | | |
cd build | |
meson install --no-rebuild | |
- name: build-path | |
run: | | |
echo "installed_path=$PWD\build-install\Lib\site-packages" >> $env:GITHUB_ENV | |
- name: post-install | |
run: | | |
$numpy_path = "${env:installed_path}\numpy" | |
$libs_path = "${numpy_path}\.libs" | |
mkdir ${libs_path} | |
$ob_path = "C:/opt/64/bin/" | |
cp $ob_path/*.dll $libs_path | |
# Write _distributor_init.py to load .libs DLLs. | |
python -c "from tools import openblas_support; openblas_support.make_init(r'${numpy_path}')" | |
- name: prep-test | |
run: | | |
echo "PYTHONPATH=${env:installed_path}" >> $env:GITHUB_ENV | |
python -m pip install -r test_requirements.txt | |
python -m pip install threadpoolctl | |
- name: test | |
run: | | |
mkdir tmp | |
cd tmp | |
echo "============================================" | |
python -c "import numpy; print(numpy.show_runtime())" | |
echo "============================================" | |
echo "LASTEXITCODE is '$LASTEXITCODE'" | |
python -c "import numpy, sys; sys.exit(numpy.test(verbose=3) is False)" | |
echo "LASTEXITCODE is '$LASTEXITCODE'" | |
msvc_64bit_python_openblas: | |
name: MSVC, i686-64, no BLAS | |
runs-on: windows-2019 | |
if: "github.repository == 'rgommers/numpy'" | |
steps: | |
- name: Checkout | |
uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3.5.3 | |
with: | |
submodules: recursive | |
fetch-depth: 0 | |
- name: Setup Python | |
uses: actions/setup-python@61a6322f88396a6271a6ee3565807d608ecaddd1 # v4.7.0 | |
with: | |
python-version: '3.10' | |
architecture: 'x86' | |
- name: Setup MSVC (32-bit) | |
uses: bus1/cabuild/action/msdevshell@e22aba57d6e74891d059d66501b6b5aed8123c4d # v1 | |
with: | |
architecture: 'x86' | |
- name: Build and install | |
run: | | |
python -m pip install . | |
- name: Test | |
run: | | |
python -m pytest --pyargs numpy |