|
7 | 7 | pull_request:
|
8 | 8 |
|
9 | 9 | jobs:
|
10 |
| - Windows: |
11 |
| - name: 'Windows (${{ matrix.python }})' |
12 |
| - timeout-minutes: 20 |
13 |
| - runs-on: 'windows-latest' |
| 10 | + test: |
14 | 11 | strategy:
|
15 | 12 | fail-fast: false
|
16 | 13 | matrix:
|
17 |
| - python: ['3.8', '3.9', '3.10', '3.11', '3.12-dev'] |
| 14 | + python-version: ['3.9', '3.10', '3.11', '3.12', '3.13'] |
| 15 | + os: |
| 16 | + - macos-latest |
| 17 | + - windows-latest |
| 18 | + - ubuntu-latest |
| 19 | + include: |
| 20 | + - python-version: pypy3.10 |
| 21 | + os: ubuntu-latest |
| 22 | + name: ${{ fromJson('{"macos-latest":"macOS","windows-latest":"Windows","ubuntu-latest":"Ubuntu"}')[matrix.os] }} (${{ matrix.python-version }}) |
| 23 | + timeout-minutes: 20 |
| 24 | + runs-on: ${{ matrix.os }} |
18 | 25 | steps:
|
19 | 26 | - name: Checkout
|
20 | 27 | uses: actions/checkout@v4
|
21 | 28 | - name: Setup python
|
22 | 29 | uses: actions/setup-python@v5
|
23 | 30 | with:
|
24 |
| - python-version: '${{ matrix.python }}' |
| 31 | + python-version: '${{ matrix.python-version }}' |
| 32 | + allow-prereleases: true |
25 | 33 | - name: Run tests
|
26 | 34 | run: ./ci.sh
|
27 | 35 | shell: bash
|
28 | 36 | - name: "Upload coverage data"
|
29 | 37 | uses: "actions/upload-artifact@v4"
|
30 | 38 | with:
|
31 |
| - name: coverage-data-windows-${{ matrix.python }} |
| 39 | + name: coverage-data-${{ matrix.os }}-${{ matrix.python-version }} |
32 | 40 | path: .coverage.*
|
33 | 41 | include-hidden-files: true
|
34 | 42 | if-no-files-found: ignore
|
35 | 43 |
|
36 |
| - Ubuntu: |
37 |
| - name: 'Ubuntu (${{ matrix.python }})' |
38 |
| - timeout-minutes: 10 |
39 |
| - runs-on: 'ubuntu-latest' |
40 |
| - strategy: |
41 |
| - fail-fast: false |
42 |
| - matrix: |
43 |
| - python: ['3.8', '3.9', '3.10', '3.11', '3.12-dev', 'pypy3.9', 'pypy-3.10'] |
44 |
| - steps: |
45 |
| - - name: Checkout |
46 |
| - uses: actions/checkout@v4 |
47 |
| - - name: Setup python |
48 |
| - uses: actions/setup-python@v5 |
49 |
| - with: |
50 |
| - python-version: '${{ matrix.python }}' |
51 |
| - - name: Run tests |
52 |
| - run: ./ci.sh |
53 |
| - - name: "Upload coverage data" |
54 |
| - uses: "actions/upload-artifact@v4" |
55 |
| - with: |
56 |
| - name: coverage-data-ubuntu-${{ matrix.python }} |
57 |
| - path: .coverage.* |
58 |
| - include-hidden-files: true |
59 |
| - if-no-files-found: ignore |
60 |
| - |
61 |
| - macOS: |
62 |
| - name: 'macOS (${{ matrix.python }})' |
63 |
| - timeout-minutes: 10 |
64 |
| - runs-on: 'macos-latest' |
65 |
| - strategy: |
66 |
| - fail-fast: false |
67 |
| - matrix: |
68 |
| - python: ['3.8', '3.9', '3.10', '3.11', '3.12-dev'] |
69 |
| - steps: |
70 |
| - - name: Checkout |
71 |
| - uses: actions/checkout@v4 |
72 |
| - - name: Setup python |
73 |
| - uses: actions/setup-python@v5 |
74 |
| - with: |
75 |
| - python-version: '${{ matrix.python }}' |
76 |
| - - name: Run tests |
77 |
| - run: ./ci.sh |
78 |
| - - name: "Upload coverage data" |
79 |
| - uses: "actions/upload-artifact@v4" |
80 |
| - with: |
81 |
| - name: coverage-data-macos-${{ matrix.python }} |
82 |
| - path: .coverage.* |
83 |
| - include-hidden-files: true |
84 |
| - if-no-files-found: ignore |
85 | 44 |
|
86 | 45 | coverage:
|
87 | 46 | name: Combine & check coverage
|
|
0 commit comments