summaryrefslogtreecommitdiff
path: root/.github/workflows/linux_meson.yml
blob: 16e2bc90c8347525e988c8aa7da9d9c350df0dc1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
name: Test Meson build (Linux)

on:
  pull_request:
    branches:
      - main
      - maintenance/**

defaults:
  run:
    shell: bash

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_spin:
    if: "github.repository == 'numpy/numpy'"
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@8f4b7f84864484a7bf31766abe9204da3cbe65b3 # v3.5.0
      with:
        submodules: recursive
        fetch-depth: 0
    - uses: actions/setup-python@d27e3f3d7c64b4bbf8e4abfb9b63b83e846e0435 # v4.5.0
      with:
        python-version: ${{ env.PYTHON_VERSION }}
    - name: Install dependencies
      run: |
        pip install -r build_requirements.txt
        sudo apt-get install -y libopenblas-serial-dev
    - name: Build
      shell: 'script -q -e -c "bash --noprofile --norc -eo pipefail {0}"'
      env:
        TERM: xterm-256color
      run:
        spin build -- --werror
    - name: Check build-internal dependencies
      run:
        ninja -C build -t missingdeps
    - name: Check installed test and stub files
      run:
        python tools/check_installed_files.py $(find ./build-install -path '*/site-packages/numpy')
    - name: Test
      shell: 'script -q -e -c "bash --noprofile --norc -eo pipefail {0}"'
      env:
        TERM: xterm-256color
      run: |
        pip install pytest hypothesis typing_extensions
        spin test