|
13 | 13 | fail-fast: false |
14 | 14 | matrix: |
15 | 15 | os: [macos-latest, ubuntu-latest, windows-latest] |
16 | | - python-version: ["3.9", "3.10", "3.11", "3.12", "3.13"] |
| 16 | + python-version: ["3.9", "3.10", "3.11", "3.12", "3.13", "3.13t"] |
17 | 17 | steps: |
| 18 | + - uses: actions/setup-python@v5 |
| 19 | + with: |
| 20 | + python-version: "3.10" |
| 21 | + - name: Install hatch |
| 22 | + run: pip install -U hatch |
18 | 23 | - uses: actions/checkout@v4 |
19 | 24 | with: |
20 | 25 | fetch-depth: 0 |
|
24 | 29 | cache: pip |
25 | 30 | cache-dependency-path: "pyproject.toml" |
26 | 31 | python-version: ${{ matrix.python-version }} |
27 | | - - name: Install hatch |
28 | | - run: | |
29 | | - pip install -U hatch |
30 | 32 | - uses: actions-rs/toolchain@v1 |
31 | 33 | with: |
32 | 34 | toolchain: stable |
|
44 | 46 | hatch run coverage combine .coverage.pure |
45 | 47 | hatch run coverage report |
46 | 48 |
|
47 | | - # TODO: |
48 | | - # merge into regular CI once hatch has support for creating environments on |
49 | | - # the free-threaded build: https://github.com/pypa/hatch/issues/1931 |
50 | | - free-threaded-tests: |
51 | | - name: "test (${{ matrix.os }}, 3.13t)" |
52 | | - runs-on: ${{ matrix.os }} |
53 | | - strategy: |
54 | | - fail-fast: false |
55 | | - matrix: |
56 | | - os: [macos-latest, ubuntu-latest, windows-latest] |
57 | | - steps: |
58 | | - - uses: actions/checkout@v4 |
59 | | - with: |
60 | | - fetch-depth: 0 |
61 | | - persist-credentials: false |
62 | | - - uses: actions/setup-python@v5 |
63 | | - with: |
64 | | - cache: pip |
65 | | - cache-dependency-path: "pyproject.toml" |
66 | | - python-version: '3.13t' |
67 | | - - name: Build LibCST |
68 | | - run: | |
69 | | - # Install build-system.requires dependencies |
70 | | - pip install setuptools setuptools-scm setuptools-rust wheel |
71 | | - # Jupyter is annoying to install on free-threaded Python |
72 | | - pip install -e .[dev-without-jupyter] |
73 | | - - name: Native Parser Tests |
74 | | - # TODO: remove when native modules declare free-threaded support |
75 | | - env: |
76 | | - PYTHON_GIL: '0' |
77 | | - run: | |
78 | | - python -m coverage run -m libcst.tests |
79 | | - - name: Pure Parser Tests |
80 | | - env: |
81 | | - COVERAGE_FILE: .coverage.pure |
82 | | - LIBCST_PARSER_TYPE: pure |
83 | | - run: | |
84 | | - python -m coverage run -m libcst.tests |
85 | | - - name: Coverage |
86 | | - run: | |
87 | | - python -m coverage combine .coverage.pure |
88 | | - python -m coverage report |
89 | | -
|
90 | | -
|
91 | 49 | # Run linters |
92 | 50 | lint: |
93 | 51 | runs-on: ubuntu-latest |
|
139 | 97 | - name: Install hatch |
140 | 98 | run: pip install -U hatch |
141 | 99 | - uses: ts-graphviz/setup-graphviz@v2 |
142 | | - - run: hatch run docs |
| 100 | + - run: hatch run docs:docs |
143 | 101 | - name: Archive Docs |
144 | 102 | uses: actions/upload-artifact@v4 |
145 | 103 | with: |
|
0 commit comments