|
1 |
| -name: CI |
| 1 | +name: Test Suite Sanity Checking |
2 | 2 |
|
3 | 3 | on:
|
4 | 4 | push:
|
5 | 5 | pull_request:
|
6 | 6 | release:
|
7 | 7 | types: [published]
|
8 | 8 | schedule:
|
9 |
| - # Daily at 3:21 |
10 |
| - - cron: '21 3 * * *' |
| 9 | + # Daily at 6:42, arbitrarily as a time that's possibly non-busy |
| 10 | + - cron: '42 6 * * *' |
11 | 11 |
|
12 | 12 | jobs:
|
13 |
| - pre-commit: |
14 |
| - runs-on: ubuntu-latest |
15 |
| - steps: |
16 |
| - - uses: actions/checkout@v3 |
17 |
| - - uses: actions/setup-python@v4 |
18 |
| - with: |
19 |
| - python-version: "3.11" |
20 |
| - - uses: pre-commit/[email protected] |
21 |
| - |
22 | 13 | ci:
|
23 |
| - runs-on: ${{ matrix.os }} |
24 |
| - strategy: |
25 |
| - fail-fast: false |
26 |
| - matrix: |
27 |
| - os: [macos-latest, ubuntu-latest, windows-latest] |
28 |
| - python-version: |
29 |
| - - name: pypy-3.9 |
30 |
| - toxenv: pypy3-noextra-build |
31 |
| - - name: pypy-3.9 |
32 |
| - toxenv: pypy3-noextra-tests |
33 |
| - - name: pypy-3.9 |
34 |
| - toxenv: pypy3-format-build |
35 |
| - - name: pypy-3.9 |
36 |
| - toxenv: pypy3-format-tests |
37 |
| - - name: pypy-3.9 |
38 |
| - toxenv: pypy3-formatnongpl-build |
39 |
| - - name: pypy-3.9 |
40 |
| - toxenv: pypy3-formatnongpl-tests |
41 |
| - - name: 3.7 |
42 |
| - toxenv: py37-noextra-build |
43 |
| - - name: 3.7 |
44 |
| - toxenv: py37-noextra-tests |
45 |
| - - name: 3.7 |
46 |
| - toxenv: py37-format-build |
47 |
| - - name: 3.7 |
48 |
| - toxenv: py37-format-tests |
49 |
| - - name: 3.7 |
50 |
| - toxenv: py37-formatnongpl-build |
51 |
| - - name: 3.7 |
52 |
| - toxenv: py37-formatnongpl-tests |
53 |
| - - name: 3.8 |
54 |
| - toxenv: py38-noextra-build |
55 |
| - - name: 3.8 |
56 |
| - toxenv: py38-noextra-tests |
57 |
| - - name: 3.8 |
58 |
| - toxenv: py38-format-build |
59 |
| - - name: 3.8 |
60 |
| - toxenv: py38-format-tests |
61 |
| - - name: 3.8 |
62 |
| - toxenv: py38-formatnongpl-build |
63 |
| - - name: 3.8 |
64 |
| - toxenv: py38-formatnongpl-tests |
65 |
| - - name: 3.9 |
66 |
| - toxenv: py39-noextra-build |
67 |
| - - name: 3.9 |
68 |
| - toxenv: py39-noextra-tests |
69 |
| - - name: 3.9 |
70 |
| - toxenv: py39-format-build |
71 |
| - - name: 3.9 |
72 |
| - toxenv: py39-format-tests |
73 |
| - - name: 3.9 |
74 |
| - toxenv: py39-formatnongpl-build |
75 |
| - - name: 3.9 |
76 |
| - toxenv: py39-formatnongpl-tests |
77 |
| - - name: "3.10" |
78 |
| - toxenv: py310-noextra-build |
79 |
| - - name: "3.10" |
80 |
| - toxenv: py310-noextra-tests |
81 |
| - - name: "3.10" |
82 |
| - toxenv: py310-format-build |
83 |
| - - name: "3.10" |
84 |
| - toxenv: py310-format-tests |
85 |
| - - name: "3.10" |
86 |
| - toxenv: py310-formatnongpl-build |
87 |
| - - name: "3.10" |
88 |
| - toxenv: py310-formatnongpl-tests |
89 |
| - - name: "3.11" |
90 |
| - toxenv: py311-noextra-build |
91 |
| - - name: "3.11" |
92 |
| - toxenv: py311-noextra-tests |
93 |
| - - name: "3.11" |
94 |
| - toxenv: py311-format-build |
95 |
| - - name: "3.11" |
96 |
| - toxenv: py311-format-tests |
97 |
| - - name: "3.11" |
98 |
| - toxenv: py311-formatnongpl-build |
99 |
| - - name: "3.11" |
100 |
| - toxenv: py311-formatnongpl-tests |
101 |
| - - name: "3.11" |
102 |
| - toxenv: docs-dirhtml |
103 |
| - - name: "3.11" |
104 |
| - toxenv: docs-doctest |
105 |
| - - name: "3.11" |
106 |
| - toxenv: docs-linkcheck |
107 |
| - - name: "3.11" |
108 |
| - toxenv: docs-spelling |
109 |
| - - name: "3.11" |
110 |
| - toxenv: docs-style |
111 |
| - - name: "3.11" |
112 |
| - toxenv: readme |
113 |
| - - name: "3.11" |
114 |
| - toxenv: secrets |
115 |
| - - name: "3.11" |
116 |
| - toxenv: style |
117 |
| - - name: "3.11" |
118 |
| - toxenv: typing |
119 |
| - include: |
120 |
| - - os: ubuntu-latest |
121 |
| - python-version: |
122 |
| - name: "3.11" |
123 |
| - toxenv: py311-format-ghcoverage |
124 |
| - - os: ubuntu-latest |
125 |
| - python-version: |
126 |
| - name: "3.11" |
127 |
| - toxenv: py311-noextra-ghcoverage |
128 |
| - - os: ubuntu-latest |
129 |
| - python-version: |
130 |
| - name: "3.11" |
131 |
| - toxenv: format-audit |
132 |
| - - os: ubuntu-latest |
133 |
| - python-version: |
134 |
| - name: "3.11" |
135 |
| - toxenv: formatnongpl-audit |
136 |
| - - os: ubuntu-latest |
137 |
| - python-version: |
138 |
| - name: "3.11" |
139 |
| - toxenv: noextra-audit |
140 |
| - exclude: |
141 |
| - - os: windows-latest |
142 |
| - python-version: |
143 |
| - name: "3.11" |
144 |
| - toxenv: readme |
145 |
| - - os: windows-latest |
146 |
| - python-version: |
147 |
| - name: "3.11" |
148 |
| - toxenv: docs-dirhtml |
149 |
| - - os: windows-latest |
150 |
| - python-version: |
151 |
| - name: "3.11" |
152 |
| - toxenv: docs-doctest |
153 |
| - - os: windows-latest |
154 |
| - python-version: |
155 |
| - name: "3.11" |
156 |
| - toxenv: docs-linkcheck |
157 |
| - - os: windows-latest |
158 |
| - python-version: |
159 |
| - name: "3.11" |
160 |
| - toxenv: docs-spelling |
161 |
| - - os: windows-latest |
162 |
| - python-version: |
163 |
| - name: "3.11" |
164 |
| - toxenv: docs-style |
| 14 | + runs-on: ubuntu-latest |
165 | 15 |
|
166 | 16 | steps:
|
167 | 17 | - uses: actions/checkout@v3
|
168 |
| - - name: Set up Python ${{ matrix.python-version.name }} |
| 18 | + - name: Set up Python |
169 | 19 | uses: actions/setup-python@v4
|
170 | 20 | with:
|
171 |
| - python-version: ${{ matrix.python-version.name }} |
172 |
| - - name: Install dependencies |
173 |
| - run: > |
174 |
| - sudo apt-get update && |
175 |
| - sudo apt-get install -y libenchant-2-dev libxml2-dev libxslt-dev |
176 |
| - if: runner.os == 'Linux' && startsWith(matrix.python-version.toxenv, 'docs-') |
177 |
| - - name: Install dependencies |
178 |
| - run: brew install enchant |
179 |
| - if: runner.os == 'macOS' && startsWith(matrix.python-version.toxenv, 'docs-') |
| 21 | + python-version: '3.x' |
180 | 22 | - name: Install tox
|
181 | 23 | run: python -m pip install tox
|
182 |
| - - name: Enable UTF-8 on Windows |
183 |
| - run: echo "PYTHONUTF8=1" >> $env:GITHUB_ENV |
184 |
| - if: runner.os == 'Windows' && startsWith(matrix.python-version.toxenv, 'py') |
185 |
| - - name: Run tox |
186 |
| - run: python -m tox -e "${{ matrix.python-version.toxenv }}" |
187 |
| - |
188 |
| - packaging: |
189 |
| - needs: ci |
190 |
| - runs-on: ubuntu-latest |
191 |
| - |
192 |
| - steps: |
193 |
| - - uses: actions/checkout@v3 |
194 |
| - with: |
195 |
| - fetch-depth: 0 |
196 |
| - - uses: actions/setup-python@v4 |
197 |
| - with: |
198 |
| - python-version: "3.10" |
199 |
| - - name: Install dependencies |
200 |
| - run: python -m pip install build |
201 |
| - - name: Create packages |
202 |
| - run: python -m build . |
203 |
| - - uses: actions/upload-artifact@v3 |
204 |
| - with: |
205 |
| - name: dist |
206 |
| - path: dist |
207 |
| - - name: Publish package |
208 |
| - if: github.event_name == 'push' && startsWith(github.event.ref, 'refs/tags') |
209 |
| - uses: pypa/gh-action-pypi-publish@release/v1 |
210 |
| - with: |
211 |
| - user: __token__ |
212 |
| - password: ${{ secrets.pypi_password }} |
213 |
| - - name: Create Release Notes |
214 |
| - if: github.event_name == 'push' && startsWith(github.event.ref, 'refs/tags') |
215 |
| - uses: actions/github-script@v6 |
216 |
| - with: |
217 |
| - github-token: ${{ secrets.GITHUB_TOKEN }} |
218 |
| - script: | |
219 |
| - await github.request(`POST /repos/${{ github.repository }}/releases`, { |
220 |
| - tag_name: "${{ github.ref }}", |
221 |
| - generate_release_notes: true |
222 |
| - }); |
| 24 | + - name: Run the sanity checks |
| 25 | + run: python -m tox |
0 commit comments