File: test.yml

package info (click to toggle)
ml-dtypes 0.5.4-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 4,768 kB
  • sloc: ansic: 48,160; cpp: 26,737; python: 2,344; pascal: 514; makefile: 15
file content (131 lines) | stat: -rw-r--r-- 4,313 bytes parent folder | download
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
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
name: Test

on:
  # Trigger the workflow on push or pull request, but only on main branch
  push:
    branches:
      - main
  pull_request:
    branches:
      - main

permissions: {}

concurrency:
  group: ${{ github.workflow }}-${{ github.head_ref || github.ref }}
  cancel-in-progress: true

jobs:
  lint:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683  # v4.2.2
        with:
          persist-credentials: false
      - name: Set up Python 3.12
        uses: actions/setup-python@e797f83bcb11b83ae66e0230d6156d7c80228e7c  # v6.0.0
        with:
          python-version: 3.12
      - uses: pre-commit/action@2c7b3805fd2a0fd8c1884dcaebf91fc102a13ecd  # v3.0.1
  build:
    name: ${{ matrix.os }} Python ${{ matrix.python-version }} freethreaded ${{ matrix.freethreaded }}
    runs-on: ${{ matrix.os }}
    strategy:
      matrix:
        os: ["ubuntu-latest"]
        python-version: ["3.9", "3.10", "3.11", "3.12", "3.13", "3.14"]
        freethreaded: [false, true]
        exclude:
          - python-version: 3.9
            freethreaded: true
          - python-version: 3.10
            freethreaded: true
          - python-version: 3.11
            freethreaded: true
          - python-version: 3.12
            freethreaded: true
        include:
          - os: macos-14
            python-version: "3.12"
            freethreaded: false
          - os: macos-14
            python-version: "3.14"
            freethreaded: true
          - os: windows-2022
            python-version: "3.12"
            freethreaded: false
          - os: windows-2022
            python-version: "3.14"
            freethreaded: true
          - os: windows-11-arm
            python-version: "3.12"
            freethreaded: false
          - os: windows-11-arm
            python-version: "3.14"
            freethreaded: true

    steps:
      - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683  # v4.2.2
        with:
          submodules: true
          persist-credentials: false
      - name: Set up Python ${{ matrix.python-version }}
        uses: actions/setup-python@e797f83bcb11b83ae66e0230d6156d7c80228e7c  # v6.0.0
        with:
          python-version: ${{ matrix.python-version }}
          freethreaded: ${{ matrix.freethreaded }}
      - name: Install dependencies
        run: |
          python -m pip install --upgrade pip
          pip install .[dev]
      - name: Run tests
        run: |
          pytest -n auto
  build-nightly:
    name: Python 3.14 with nightly numpy
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683  # v4.2.2
        with:
          submodules: true
          persist-credentials: false
      - name: Set up Python 3.14
        uses: actions/setup-python@e797f83bcb11b83ae66e0230d6156d7c80228e7c  # v6.0.0
        with:
          python-version: "3.14"
      - name: Install dependencies
        run: |
            python -m pip install --upgrade pip
            python -m pip install setuptools wheel
            python -m pip install -U --pre numpy \
              -i https://pypi.anaconda.org/scientific-python-nightly-wheels/simple
            python -c "import numpy; print(f'{numpy.__version__=}')"
      - name: Build ml_dtypes
        run: |
            python -m pip install .[dev] --no-build-isolation
      - name: Run tests
        run: |
          pytest -n auto
  build-oldest-numpy:
    name: Python 3.9 with oldest supported numpy
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683  # v4.2.2
        with:
          submodules: true
          persist-credentials: false
      - name: Set up Python 3.9
        uses: actions/setup-python@e797f83bcb11b83ae66e0230d6156d7c80228e7c  # v6.0.0
        with:
          python-version: "3.9"
      - name: Install dependencies
        run: |
            python -m pip install --upgrade pip
            python -m pip install --upgrade setuptools wheel
      - name: Build ml_dtypes
        run: |
            python -m pip install .[dev]
            python -m pip install numpy==1.21.0  # keep in sync with oldest numpy version in pyproject.toml
      - name: Run tests
        run: |
          pytest -n auto