summaryrefslogtreecommitdiff
path: root/.github
diff options
context:
space:
mode:
authormattip <matti.picus@gmail.com>2023-01-19 11:53:54 +0200
committerRalf Gommers <ralf.gommers@gmail.com>2023-02-20 21:07:30 +0000
commit587907098e69f833c4cd39aca49127c2f8abecbb (patch)
tree55ea57eb474dfd64106a03502b97ecc58774b313 /.github
parent8df3626af816b570809e31ac9610148f110af81a (diff)
downloadnumpy-587907098e69f833c4cd39aca49127c2f8abecbb.tar.gz
BUILD: add a windows meson CI job, tweak meson build parameters, fix typo
Diffstat (limited to '.github')
-rw-r--r--.github/workflows/windows_meson.yml86
1 files changed, 86 insertions, 0 deletions
diff --git a/.github/workflows/windows_meson.yml b/.github/workflows/windows_meson.yml
new file mode 100644
index 000000000..6be2af7e5
--- /dev/null
+++ b/.github/workflows/windows_meson.yml
@@ -0,0 +1,86 @@
+name: Test Meson build (Windows)
+
+on:
+ push:
+ branches:
+ - main
+ - maintenance/**
+ pull_request:
+ branches:
+ - main
+ - maintenance/**
+
+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:
+ meson:
+ name: Meson windows build/test
+ runs-on: windows-2019
+ steps:
+ - name: Checkout
+ uses: actions/checkout@v3
+ with:
+ submodules: recursive
+ fetch-depth: 0
+ - name: Setup Python
+ uses: actions/setup-python@v4
+ 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 tools\openblas_support.py --write-init $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
+ python -c"import numpy; print(numpy.show_runtime())"
+ python -c "import numpy; numpy.test(verbose=3)"