aboutsummaryrefslogtreecommitdiff
blob: bf36ad19d848f6b51c9559794d700f24eab1a8b9 (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
name: CI

on:
  push:
    branches: [ master ]
  pull_request:
    branches: [ master ]

jobs:
  build:
    runs-on: ubuntu-22.04
    strategy:
      matrix:
        python-version:
          - '3.9'
          - '3.10'
          - '3.11'
          - '3.12-dev'
          - 'pypy-3.9'
      fail-fast: false
    steps:
      - uses: actions/checkout@v3
      - name: Set up Python ${{ matrix.python-version }}
        uses: actions/setup-python@v4
        with:
          python-version: ${{ matrix.python-version }}
      - name: Install dependencies
        run: |
          set -xe
          sudo apt-get update
          sudo apt-get install -y --no-install-recommends libxslt-dev libxml2-dev libxml2-utils meson zstd

          # Patch Ubuntu's old Meson to fix pypy-3.9 detection.
          curl -s -f https://github.com/mesonbuild/meson/commit/2540ad6e9e08370ddd0b6753fdc9314945a672f0.patch | sudo patch -d /usr/lib/python3/dist-packages -p1 --no-backup-if-mismatch

          python -VV
          python -m site
          python -m pip install --upgrade pip
          # setuptools needed for 3.12+ because of https://github.com/mesonbuild/meson/issues/7702.
          python -m pip install pytest setuptools
      - name: Test meson install --destdir /tmp/install-root
        run: |
          echo -e "[binaries]\npython = '$(command -v python)'" > /tmp/native.ini
          meson setup --native-file /tmp/native.ini /tmp/build .
          meson install -C /tmp/build --destdir /tmp/install-root
      - name: Run tests for ${{ matrix.python-version }}
        run: |
          meson test -C /tmp/build --verbose