summaryrefslogtreecommitdiff
path: root/.github
diff options
context:
space:
mode:
authorRalf Gommers <ralf.gommers@gmail.com>2023-02-22 22:05:58 +0100
committerGitHub <noreply@github.com>2023-02-22 22:05:58 +0100
commite4fc0895139b200f183d91bf265c9b3f27d6d544 (patch)
tree454638962cf0ce46ac0def94a7844616350be0ef /.github
parentb175756dd358f659a0249461934cae37bae534f3 (diff)
parentda6eeb81d26d2c9e4d3870828add330cd5e602a4 (diff)
downloadnumpy-e4fc0895139b200f183d91bf265c9b3f27d6d544.tar.gz
Merge pull request #23165 from mattip/meson_windows
BLD: add a meson windows build [ci skip]
Diffstat (limited to '.github')
-rw-r--r--.github/workflows/linux_meson.yml6
-rw-r--r--.github/workflows/wheels.yml2
-rw-r--r--.github/workflows/windows_meson.yml88
3 files changed, 90 insertions, 6 deletions
diff --git a/.github/workflows/linux_meson.yml b/.github/workflows/linux_meson.yml
index d1d20b87d..b03144a12 100644
--- a/.github/workflows/linux_meson.yml
+++ b/.github/workflows/linux_meson.yml
@@ -1,10 +1,6 @@
name: Test Meson build (Linux)
on:
- push:
- branches:
- - main
- - maintenance/**
pull_request:
branches:
- main
@@ -26,7 +22,7 @@ permissions:
jobs:
meson_devpy:
- if: "github.repository == 'numpy/numpy' && !contains(github.event.head_commit.message, '[ci skip]') && !contains(github.event.head_commit.message, '[skip ci]') && !contains(github.event.head_commit.message, '[skip github]')"
+ if: "github.repository == 'numpy/numpy'"
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
diff --git a/.github/workflows/wheels.yml b/.github/workflows/wheels.yml
index 1f9b8c027..681981e8e 100644
--- a/.github/workflows/wheels.yml
+++ b/.github/workflows/wheels.yml
@@ -194,7 +194,7 @@ jobs:
python -m pip install dist/*.gz
pip install -r test_requirements.txt
cd .. # Can't import numpy within numpy src directory
- python -c "import numpy; print(numpy.__version__); numpy.test();"
+ python -c "import numpy, sys; print(numpy.__version__); sys.exit(numpy.test() is False)"
- name: Check README rendering for PyPI
run: |
diff --git a/.github/workflows/windows_meson.yml b/.github/workflows/windows_meson.yml
new file mode 100644
index 000000000..9e82d8fce
--- /dev/null
+++ b/.github/workflows/windows_meson.yml
@@ -0,0 +1,88 @@
+name: Test Meson build (Windows)
+
+on:
+ 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
+ # if: "github.repository == 'numpy/numpy'"
+ 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 -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'"