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