unicode-segmentation-rs 0.2.1__tar.gz → 0.2.4__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (33) hide show
  1. unicode_segmentation_rs-0.2.4/.editorconfig +43 -0
  2. unicode_segmentation_rs-0.2.4/.github/release.yml +22 -0
  3. {unicode_segmentation_rs-0.2.1 → unicode_segmentation_rs-0.2.4}/.github/workflows/ci.yml +54 -54
  4. unicode_segmentation_rs-0.2.4/.github/workflows/dependency-review.yml +22 -0
  5. {unicode_segmentation_rs-0.2.1 → unicode_segmentation_rs-0.2.4}/.github/workflows/pre-commit.yml +19 -31
  6. unicode_segmentation_rs-0.2.4/.github/workflows/pull_requests.yaml +28 -0
  7. {unicode_segmentation_rs-0.2.1 → unicode_segmentation_rs-0.2.4}/.pre-commit-config.yaml +12 -10
  8. {unicode_segmentation_rs-0.2.1 → unicode_segmentation_rs-0.2.4}/Cargo.lock +35 -74
  9. {unicode_segmentation_rs-0.2.1 → unicode_segmentation_rs-0.2.4}/Cargo.toml +3 -3
  10. {unicode_segmentation_rs-0.2.1 → unicode_segmentation_rs-0.2.4}/PKG-INFO +25 -29
  11. {unicode_segmentation_rs-0.2.1 → unicode_segmentation_rs-0.2.4}/README.md +24 -28
  12. unicode_segmentation_rs-0.2.4/SECURITY.md +29 -0
  13. {unicode_segmentation_rs-0.2.1 → unicode_segmentation_rs-0.2.4}/pyproject.toml +4 -4
  14. {unicode_segmentation_rs-0.2.1 → unicode_segmentation_rs-0.2.4}/tests/test_gettext_wrap.py +58 -0
  15. unicode_segmentation_rs-0.2.4/tests/test_readme_examples.py +207 -0
  16. {unicode_segmentation_rs-0.2.1 → unicode_segmentation_rs-0.2.4}/.github/FUNDING.yml +0 -0
  17. {unicode_segmentation_rs-0.2.1 → unicode_segmentation_rs-0.2.4}/.github/ISSUE_TEMPLATE/bug_report.yml +0 -0
  18. {unicode_segmentation_rs-0.2.1 → unicode_segmentation_rs-0.2.4}/.github/ISSUE_TEMPLATE/config.yml +0 -0
  19. {unicode_segmentation_rs-0.2.1 → unicode_segmentation_rs-0.2.4}/.github/ISSUE_TEMPLATE/feature_request.yml +0 -0
  20. {unicode_segmentation_rs-0.2.1 → unicode_segmentation_rs-0.2.4}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
  21. {unicode_segmentation_rs-0.2.1 → unicode_segmentation_rs-0.2.4}/.github/PULL_REQUEST_TEMPLATE.md.license +0 -0
  22. {unicode_segmentation_rs-0.2.1 → unicode_segmentation_rs-0.2.4}/.github/renovate.json +0 -0
  23. {unicode_segmentation_rs-0.2.1 → unicode_segmentation_rs-0.2.4}/.github/renovate.json.license +0 -0
  24. {unicode_segmentation_rs-0.2.1 → unicode_segmentation_rs-0.2.4}/.gitignore +0 -0
  25. {unicode_segmentation_rs-0.2.1 → unicode_segmentation_rs-0.2.4}/.markdownlint.yml +0 -0
  26. {unicode_segmentation_rs-0.2.1 → unicode_segmentation_rs-0.2.4}/.yamllint.yml +0 -0
  27. {unicode_segmentation_rs-0.2.1 → unicode_segmentation_rs-0.2.4}/LICENSE +0 -0
  28. {unicode_segmentation_rs-0.2.1 → unicode_segmentation_rs-0.2.4}/LICENSES/CC0-1.0.txt +0 -0
  29. {unicode_segmentation_rs-0.2.1 → unicode_segmentation_rs-0.2.4}/LICENSES/MIT.txt +0 -0
  30. {unicode_segmentation_rs-0.2.1 → unicode_segmentation_rs-0.2.4}/REUSE.toml +0 -0
  31. {unicode_segmentation_rs-0.2.1 → unicode_segmentation_rs-0.2.4}/src/lib.rs +0 -0
  32. {unicode_segmentation_rs-0.2.1 → unicode_segmentation_rs-0.2.4}/tests/test_unicode_segmentation.py +0 -0
  33. {unicode_segmentation_rs-0.2.1 → unicode_segmentation_rs-0.2.4}/unicode_segmentation_rs.pyi +0 -0
@@ -0,0 +1,43 @@
1
+ # Copyright © Michal Čihař <michal@weblate.org>
2
+ #
3
+ # SPDX-License-Identifier: CC0-1.0
4
+
5
+ # This file is maintained in https://github.com/WeblateOrg/meta/
6
+
7
+ root = true
8
+
9
+ [*]
10
+ indent_style = space
11
+ indent_size = 2
12
+ end_of_line = lf
13
+ charset = utf-8
14
+ trim_trailing_whitespace = true
15
+ insert_final_newline = true
16
+ spaces_around_operators = true
17
+
18
+ [*.bat]
19
+ end_of_line = crlf
20
+
21
+ [*.html]
22
+ indent_size = 2
23
+
24
+ [*.py]
25
+ indent_size = 4
26
+
27
+ [*.rst]
28
+ indent_size = 3
29
+
30
+ [*.js]
31
+ quote_type = double
32
+
33
+ [*.{markdown,md}]
34
+ trim_trailing_whitespace = false
35
+
36
+ [[shell]]
37
+ indent_style = space
38
+ indent_size = 4
39
+ space_redirects = true
40
+ simplify = true
41
+
42
+ [*.{kt,kts}]
43
+ indent_size = 4
@@ -0,0 +1,22 @@
1
+ # Copyright © Michal Čihař <michal@weblate.org>
2
+ #
3
+ # SPDX-License-Identifier: CC0-1.0
4
+
5
+ # This file is maintained in https://github.com/WeblateOrg/meta/
6
+
7
+ changelog:
8
+ categories:
9
+ - title: Changes and improvements
10
+ labels:
11
+ - '*'
12
+ exclude:
13
+ labels:
14
+ - dependencies
15
+ authors:
16
+ - weblate
17
+ - title: Dependency updates
18
+ labels:
19
+ - dependencies
20
+ - title: Translation updates
21
+ authors:
22
+ - weblate
@@ -38,23 +38,24 @@ jobs:
38
38
  python-version: '3.14'
39
39
  name: Tests, Python ${{ matrix.python-version }}, ${{ matrix.os }}
40
40
  steps:
41
- - uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
41
+ - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
42
42
  with:
43
43
  persist-credentials: false
44
44
  - name: Set up Python ${{ matrix.python-version }}
45
- uses: actions/setup-python@83679a892e2d95755f2dac6acb0bfd1e9ac5d548 # v6.1.0
45
+ uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0
46
46
  id: setup_python
47
47
  with:
48
48
  python-version: ${{ matrix.python-version }}
49
- - uses: astral-sh/setup-uv@681c641aba71e4a1c380be3ab5e12ad51f415867 # v7.1.6 # zizmor: ignore[cache-poisoning]
49
+ - uses: astral-sh/setup-uv@cec208311dfd045dd5311c1add060b2062131d57 # v8.0.0 # zizmor: ignore[cache-poisoning]
50
50
  # The cache is stored only on main branch and not used for publishing
51
51
  with:
52
52
  save-cache: ${{ github.ref == 'refs/heads/main' }}
53
53
  cache-suffix: ${{ steps.setup_python.outputs.python-version }}
54
- version: 0.9.17
54
+ version: 0.11.6
55
55
  activate-environment: 'true'
56
56
  - run: uv sync
57
- - run: pytest
57
+ - name: Run tests
58
+ run: pytest
58
59
 
59
60
 
60
61
  linux:
@@ -76,35 +77,33 @@ jobs:
76
77
  - runner: ubuntu-latest
77
78
  target: ppc64le
78
79
  steps:
79
- - uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
80
+ - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
80
81
  with:
81
82
  persist-credentials: false
82
- - uses: actions/setup-python@83679a892e2d95755f2dac6acb0bfd1e9ac5d548 # v6.1.0
83
- with:
84
- python-version: 3.x
85
83
  - name: Build wheels
86
- uses: PyO3/maturin-action@86b9d133d34bc1b40018696f782949dac11bd380 # v1.49.4
84
+ uses: PyO3/maturin-action@e83996d129638aa358a18fbd1dfb82f0b0fb5d3b # v1.51.0
87
85
  with:
88
86
  target: ${{ matrix.platform.target }}
89
- args: --release --out dist
87
+ # Build the stable-ABI wheel against CPython 3.10 so it is tagged cp310-abi3 everywhere.
88
+ args: --release --out dist -i python3.10
90
89
  sccache: false
91
90
  manylinux: auto
92
91
  - name: Build free-threaded wheels
93
- uses: PyO3/maturin-action@86b9d133d34bc1b40018696f782949dac11bd380 # v1.49.4
92
+ uses: PyO3/maturin-action@e83996d129638aa358a18fbd1dfb82f0b0fb5d3b # v1.51.0
94
93
  with:
95
94
  target: ${{ matrix.platform.target }}
96
95
  args: --release --out dist -i python3.14t
97
96
  sccache: false
98
97
  manylinux: auto
99
98
  - name: Build free-threaded wheels
100
- uses: PyO3/maturin-action@86b9d133d34bc1b40018696f782949dac11bd380 # v1.49.4
99
+ uses: PyO3/maturin-action@e83996d129638aa358a18fbd1dfb82f0b0fb5d3b # v1.51.0
101
100
  with:
102
101
  target: ${{ matrix.platform.target }}
103
102
  args: --release --out dist -i python3.13t
104
103
  sccache: false
105
104
  manylinux: auto
106
105
  - name: Upload wheels
107
- uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6.0.0
106
+ uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7.0.0
108
107
  with:
109
108
  name: wheels-linux-${{ matrix.platform.target }}
110
109
  path: dist
@@ -124,21 +123,18 @@ jobs:
124
123
  - runner: ubuntu-latest
125
124
  target: armv7
126
125
  steps:
127
- - uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
126
+ - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
128
127
  with:
129
128
  persist-credentials: false
130
- - uses: actions/setup-python@83679a892e2d95755f2dac6acb0bfd1e9ac5d548 # v6.1.0
131
- with:
132
- python-version: 3.x
133
129
  - name: Build wheels
134
- uses: PyO3/maturin-action@86b9d133d34bc1b40018696f782949dac11bd380 # v1.49.4
130
+ uses: PyO3/maturin-action@e83996d129638aa358a18fbd1dfb82f0b0fb5d3b # v1.51.0
135
131
  with:
136
132
  target: ${{ matrix.platform.target }}
137
- args: --release --out dist
133
+ args: --release --out dist -i python3.10
138
134
  sccache: false
139
135
  manylinux: musllinux_1_2
140
136
  - name: Build free-threaded wheels
141
- uses: PyO3/maturin-action@86b9d133d34bc1b40018696f782949dac11bd380 # v1.49.4
137
+ uses: PyO3/maturin-action@e83996d129638aa358a18fbd1dfb82f0b0fb5d3b # v1.51.0
142
138
  with:
143
139
  target: ${{ matrix.platform.target }}
144
140
  args: --release --out dist -i python3.13t
@@ -146,7 +142,7 @@ jobs:
146
142
  sccache: false
147
143
  manylinux: musllinux_1_2
148
144
  - name: Build free-threaded wheels
149
- uses: PyO3/maturin-action@86b9d133d34bc1b40018696f782949dac11bd380 # v1.49.4
145
+ uses: PyO3/maturin-action@e83996d129638aa358a18fbd1dfb82f0b0fb5d3b # v1.51.0
150
146
  with:
151
147
  target: ${{ matrix.platform.target }}
152
148
  args: --release --out dist -i python3.14t
@@ -154,7 +150,7 @@ jobs:
154
150
  sccache: false
155
151
  manylinux: musllinux_1_2
156
152
  - name: Upload wheels
157
- uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6.0.0
153
+ uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7.0.0
158
154
  with:
159
155
  name: wheels-musllinux-${{ matrix.platform.target }}
160
156
  path: dist
@@ -170,37 +166,37 @@ jobs:
170
166
  - runner: windows-latest
171
167
  target: x86
172
168
  steps:
173
- - uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
169
+ - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
174
170
  with:
175
171
  persist-credentials: false
176
- - uses: actions/setup-python@83679a892e2d95755f2dac6acb0bfd1e9ac5d548 # v6.1.0
172
+ - uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0
177
173
  with:
178
- python-version: 3.x
174
+ python-version: '3.10'
179
175
  architecture: ${{ matrix.platform.target }}
180
176
  - name: Build wheels
181
- uses: PyO3/maturin-action@86b9d133d34bc1b40018696f782949dac11bd380 # v1.49.4
177
+ uses: PyO3/maturin-action@e83996d129638aa358a18fbd1dfb82f0b0fb5d3b # v1.51.0
182
178
  with:
183
179
  target: ${{ matrix.platform.target }}
184
- args: --release --out dist
180
+ args: --release --out dist -i python
185
181
  sccache: false
186
- - uses: actions/setup-python@83679a892e2d95755f2dac6acb0bfd1e9ac5d548 # v6.1.0
182
+ - uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0
187
183
  with:
188
184
  python-version: 3.13t
189
185
  architecture: ${{ matrix.platform.target }}
190
186
  - name: Build free-threaded wheels
191
- uses: PyO3/maturin-action@86b9d133d34bc1b40018696f782949dac11bd380 # v1.49.4
187
+ uses: PyO3/maturin-action@e83996d129638aa358a18fbd1dfb82f0b0fb5d3b # v1.51.0
192
188
  with:
193
189
  target: ${{ matrix.platform.target }}
194
190
  args: --release --out dist -i python3.13t
195
191
  sccache: false
196
192
  - name: Build free-threaded wheels
197
- uses: PyO3/maturin-action@86b9d133d34bc1b40018696f782949dac11bd380 # v1.49.4
193
+ uses: PyO3/maturin-action@e83996d129638aa358a18fbd1dfb82f0b0fb5d3b # v1.51.0
198
194
  with:
199
195
  target: ${{ matrix.platform.target }}
200
196
  args: --release --out dist -i python3.14t
201
197
  sccache: false
202
198
  - name: Upload wheels
203
- uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6.0.0
199
+ uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7.0.0
204
200
  with:
205
201
  name: wheels-windows-${{ matrix.platform.target }}
206
202
  path: dist
@@ -216,52 +212,52 @@ jobs:
216
212
  - runner: macos-15
217
213
  target: aarch64
218
214
  steps:
219
- - uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
215
+ - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
220
216
  with:
221
217
  persist-credentials: false
222
- - uses: actions/setup-python@83679a892e2d95755f2dac6acb0bfd1e9ac5d548 # v6.1.0
218
+ - uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0
223
219
  with:
224
- python-version: 3.x
220
+ python-version: '3.10'
225
221
  - name: Build wheels
226
- uses: PyO3/maturin-action@86b9d133d34bc1b40018696f782949dac11bd380 # v1.49.4
222
+ uses: PyO3/maturin-action@e83996d129638aa358a18fbd1dfb82f0b0fb5d3b # v1.51.0
227
223
  with:
228
224
  target: ${{ matrix.platform.target }}
229
- args: --release --out dist
225
+ args: --release --out dist -i python
230
226
  sccache: false
231
227
  - name: Build free-threaded wheels
232
- uses: PyO3/maturin-action@86b9d133d34bc1b40018696f782949dac11bd380 # v1.49.4
228
+ uses: PyO3/maturin-action@e83996d129638aa358a18fbd1dfb82f0b0fb5d3b # v1.51.0
233
229
  with:
234
230
  target: ${{ matrix.platform.target }}
235
231
  args: --release --out dist -i python3.13t
236
232
 
237
233
  sccache: false
238
234
  - name: Build free-threaded wheels
239
- uses: PyO3/maturin-action@86b9d133d34bc1b40018696f782949dac11bd380 # v1.49.4
235
+ uses: PyO3/maturin-action@e83996d129638aa358a18fbd1dfb82f0b0fb5d3b # v1.51.0
240
236
  with:
241
237
  target: ${{ matrix.platform.target }}
242
238
  args: --release --out dist -i python3.14t
243
239
 
244
240
  sccache: false
245
241
  - name: Upload wheels
246
- uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6.0.0
242
+ uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7.0.0
247
243
  with:
248
244
  name: wheels-macos-${{ matrix.platform.target }}
249
245
  path: dist
250
246
 
251
247
  sdist:
252
- runs-on: ubuntu-latest
248
+ runs-on: ubuntu-24.04
253
249
  name: Package sdist
254
250
  steps:
255
- - uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
251
+ - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
256
252
  with:
257
253
  persist-credentials: false
258
254
  - name: Build sdist
259
- uses: PyO3/maturin-action@86b9d133d34bc1b40018696f782949dac11bd380 # v1.49.4
255
+ uses: PyO3/maturin-action@e83996d129638aa358a18fbd1dfb82f0b0fb5d3b # v1.51.0
260
256
  with:
261
257
  command: sdist
262
258
  args: --out dist
263
259
  - name: Upload sdist
264
- uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6.0.0
260
+ uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7.0.0
265
261
  with:
266
262
  name: wheels-sdist
267
263
  path: dist
@@ -281,7 +277,7 @@ jobs:
281
277
 
282
278
  release:
283
279
  name: Release
284
- runs-on: ubuntu-latest
280
+ runs-on: ubuntu-24.04
285
281
  if: ${{ startsWith(github.ref, 'refs/tags/') || github.event_name == 'workflow_dispatch' }}
286
282
  needs: all-tests
287
283
  permissions:
@@ -292,31 +288,35 @@ jobs:
292
288
  # Used to generate artifact attestation
293
289
  attestations: write
294
290
  steps:
295
- - uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
291
+ - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
296
292
  with:
297
293
  persist-credentials: false
298
- - uses: actions/download-artifact@37930b1c2abaa49bbe596cd826c3c89aef350131 # v7.0.0
294
+ - uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
299
295
  - name: Generate artifact attestation
300
- uses: actions/attest-build-provenance@977bb373ede98d70efdf65b84cb5f73e068dcc2a # v3.0.0
296
+ uses: actions/attest-build-provenance@a2bbfa25375fe432b6a289bc6b6cd05ecd0c4c32 # v4.1.0
301
297
  with:
302
298
  subject-path: wheels-*/*
303
299
  - name: Publish to PyPI
304
300
  if: ${{ startsWith(github.ref, 'refs/tags/') }}
305
- uses: PyO3/maturin-action@86b9d133d34bc1b40018696f782949dac11bd380 # v1.49.4
301
+ uses: PyO3/maturin-action@e83996d129638aa358a18fbd1dfb82f0b0fb5d3b # v1.51.0
306
302
  with:
307
303
  command: upload
308
304
  args: --non-interactive --skip-existing wheels-*/*
309
305
 
310
306
  release_github:
311
- runs-on: ubuntu-latest
307
+ runs-on: ubuntu-24.04
312
308
  name: Create release on GitHub
313
309
  permissions:
314
310
  contents: write
315
311
  needs: all-tests
316
312
  if: ${{ startsWith(github.ref, 'refs/tags/') || github.event_name == 'workflow_dispatch' }}
317
313
  steps:
318
- - uses: actions/download-artifact@37930b1c2abaa49bbe596cd826c3c89aef350131 # v7.0.0
319
- - uses: ncipollo/release-action@b7eabc95ff50cbeeedec83973935c8f306dfcd0b # v1.20.0
314
+ - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
320
315
  with:
321
- generateReleaseNotes: true
322
- artifacts: wheels-*/*
316
+ persist-credentials: false
317
+ - uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
318
+ - env:
319
+ VERSION: ${{ github.ref_name }}
320
+ GH_TOKEN: ${{ github.token }}
321
+ run: |
322
+ gh release create "$VERSION" --verify-tag --generate-notes wheels-*/*
@@ -0,0 +1,22 @@
1
+ # Copyright © Michal Čihař <michal@weblate.org>
2
+ #
3
+ # SPDX-License-Identifier: CC0-1.0
4
+
5
+ # This file is maintained in https://github.com/WeblateOrg/meta/
6
+ name: Dependency Review
7
+ on:
8
+ pull_request:
9
+
10
+ permissions:
11
+ contents: read
12
+
13
+ jobs:
14
+ dependency-review:
15
+ runs-on: ubuntu-slim
16
+ steps:
17
+ - name: Checkout Repository
18
+ uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
19
+ with:
20
+ persist-credentials: false
21
+ - name: Dependency Review
22
+ uses: actions/dependency-review-action@2031cfc080254a8a887f58cffee85186f0e49e48 # v4.9.0
@@ -10,6 +10,7 @@ on:
10
10
  branches-ignore:
11
11
  - renovate/**
12
12
  - weblate
13
+ - dependabot/**
13
14
  pull_request:
14
15
 
15
16
  permissions:
@@ -20,30 +21,24 @@ jobs:
20
21
  runs-on: ubuntu-24.04
21
22
 
22
23
  steps:
23
- - uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
24
+ - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
24
25
  with:
25
26
  persist-credentials: false
26
- - name: Get cache tag
27
- id: get-date
28
- run: |
29
- echo "cache_tag=$(/bin/date --utc '+%Y%m')" >> "$GITHUB_OUTPUT"
30
- echo "previous_cache_tag=$(/bin/date --date='1 month ago' --utc '+%Y%m')" >> "$GITHUB_OUTPUT"
31
- shell: bash
32
- - uses: actions/cache@9255dc7a253b0ccc959486e2bca901246202afeb # v5.0.1
33
- id: pre-commit-cache
27
+ - uses: actions/cache@668228422ae6a00e4ad889ee87cd7109ec5666a7 # v5.0.4
34
28
  with:
35
- path: ~/.cache/pre-commit
36
- key: ${{ runner.os }}-pre-commit-${{ steps.get-date.outputs.cache_tag }}-${{ hashFiles('.pre-commit-config.yaml') }}
29
+ path: |
30
+ ~/.cache/prek
31
+ ~/.cache/kingfisher
32
+ key: ${{ runner.os }}-prek-${{ hashFiles('.pre-commit-config.yaml') }}
37
33
  restore-keys: |
38
- ${{ runner.os }}-pre-commit-${{ steps.get-date.outputs.cache_tag }}
39
- ${{ runner.os }}-pre-commit-${{ steps.get-date.outputs.previous_cache_tag }}
40
- ${{ runner.os }}-pre-commit-
34
+ ${{ runner.os }}-prek-
41
35
  - name: Setup Python
42
- uses: actions/setup-python@83679a892e2d95755f2dac6acb0bfd1e9ac5d548 # v6.1.0
36
+ uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0
43
37
  with:
44
38
  python-version: '3.14'
45
- - uses: astral-sh/setup-uv@681c641aba71e4a1c380be3ab5e12ad51f415867 # v7.1.6
39
+ - uses: astral-sh/setup-uv@cec208311dfd045dd5311c1add060b2062131d57 # v8.0.0
46
40
  with:
41
+ version: 0.11.6
47
42
  enable-cache: false
48
43
  - name: detect method
49
44
  id: detect
@@ -52,16 +47,14 @@ jobs:
52
47
  echo "method=requirements" >> "$GITHUB_OUTPUT"
53
48
  elif test -f pyproject.toml && grep -q dependency-groups pyproject.toml ; then
54
49
  echo "method=pep735" >> "$GITHUB_OUTPUT"
55
- elif test -f pyproject.toml && grep -q dependency-groups pyproject.toml ; then
56
- echo "method=pyproject" >> "$GITHUB_OUTPUT"
57
50
  else
58
51
  echo "method=uvx" >> "$GITHUB_OUTPUT"
59
52
  fi
60
53
  - name: pre-commit (PEP 735)
61
54
  if: steps.detect.outputs.method == 'pep735'
62
55
  run: |
63
- uv run --only-group pre-commit pre-commit run --all --show-diff-on-failure
64
- uv run --only-group pre-commit pre-commit gc
56
+ uv run --only-group pre-commit prek run --all-files --show-diff-on-failure
57
+ uv run --only-group pre-commit prek cache gc
65
58
  env:
66
59
  RUFF_OUTPUT_FORMAT: github
67
60
  REUSE_OUTPUT_FORMAT: github
@@ -69,23 +62,18 @@ jobs:
69
62
  - name: pre-commit (uvx)
70
63
  if: steps.detect.outputs.method == 'uvx'
71
64
  run: |
72
- uvx pre-commit run --all --show-diff-on-failure
73
- uvx pre-commit gc
65
+ uvx prek run --all-files --show-diff-on-failure
66
+ uvx prek cache gc
74
67
  env:
75
68
  RUFF_OUTPUT_FORMAT: github
76
69
  REUSE_OUTPUT_FORMAT: github
77
70
  GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
78
- - name: Install dependencies
71
+ - name: pre-commit (requirements)
79
72
  if: steps.detect.outputs.method == 'requirements'
80
- run: uv pip install --system -r requirements-lint.txt
81
- - name: Install dependencies
82
- if: steps.detect.outputs.method == 'pyproject'
83
- run: uv pip install --system "$(sed -n 's/.*"\(pre-commit==\([^"]*\)\)".*/\1/p' pyproject.toml)"
84
- - name: pre-commit (installed)
85
- if: steps.detect.outputs.method == 'requirements' || steps.detect.outputs.method == 'pyproject'
86
73
  run: |
87
- pre-commit run --all --show-diff-on-failure
88
- pre-commit gc
74
+ uv pip install --system -r requirements-lint.txt
75
+ prek run --all-files --show-diff-on-failure
76
+ prek cache gc
89
77
  env:
90
78
  RUFF_OUTPUT_FORMAT: github
91
79
  REUSE_OUTPUT_FORMAT: github
@@ -0,0 +1,28 @@
1
+ # Copyright © Michal Čihař <michal@weblate.org>
2
+ #
3
+ # SPDX-License-Identifier: CC0-1.0
4
+
5
+ # This file is maintained in https://github.com/WeblateOrg/meta/
6
+
7
+ name: Pull request automation
8
+
9
+ on: # zizmor: ignore[dangerous-triggers]
10
+ pull_request_target:
11
+ types: opened
12
+
13
+ permissions:
14
+ contents: read
15
+
16
+ jobs:
17
+ weblate_automerge:
18
+ runs-on: ubuntu-slim
19
+ name: Weblate automerge
20
+ if: github.actor == 'weblate'
21
+ steps:
22
+ - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
23
+ with:
24
+ persist-credentials: false
25
+ - name: Enable Pull Request Automerge
26
+ run: gh pr merge --rebase --auto "${{ github.event.pull_request.number }}"
27
+ env:
28
+ GH_TOKEN: ${{ secrets.WEBLATE_CI_TOKEN }} # zizmor: ignore[secrets-outside-env]
@@ -10,17 +10,16 @@ repos:
10
10
  - id: check-toml
11
11
  - id: check-merge-conflict
12
12
  - id: check-json
13
- - id: debug-statements
14
13
  - id: mixed-line-ending
15
14
  args: [--fix=lf]
16
15
  - id: pretty-format-json
17
16
  args: [--no-sort-keys, --autofix]
18
17
  - repo: https://github.com/adrienverge/yamllint
19
- rev: v1.37.1
18
+ rev: v1.38.0
20
19
  hooks:
21
20
  - id: yamllint
22
21
  - repo: https://github.com/astral-sh/ruff-pre-commit
23
- rev: v0.14.9
22
+ rev: v0.15.10
24
23
  hooks:
25
24
  - id: ruff-check
26
25
  args:
@@ -32,7 +31,7 @@ repos:
32
31
  - id: check-hooks-apply
33
32
  - id: check-useless-excludes
34
33
  - repo: https://github.com/macisamuele/language-formatters-pre-commit-hooks
35
- rev: v2.15.0
34
+ rev: v2.16.0
36
35
  hooks:
37
36
  - id: pretty-format-yaml
38
37
  args: [--autofix, --indent, '2']
@@ -45,7 +44,7 @@ repos:
45
44
  additional_dependencies:
46
45
  - mdformat-gfm==1.0.0
47
46
  - repo: https://github.com/igorshubovych/markdownlint-cli
48
- rev: v0.47.0
47
+ rev: v0.48.0
49
48
  hooks:
50
49
  - id: markdownlint
51
50
  - repo: https://github.com/fsfe/reuse-tool
@@ -53,16 +52,19 @@ repos:
53
52
  hooks:
54
53
  - id: reuse
55
54
  - repo: https://github.com/rhysd/actionlint
56
- rev: v1.7.9
55
+ rev: v1.7.12
57
56
  hooks:
58
57
  - id: actionlint
59
58
  - repo: https://github.com/zizmorcore/zizmor-pre-commit
60
- rev: v1.18.0
59
+ rev: v1.23.1
61
60
  hooks:
62
61
  - id: zizmor
63
- - repo: https://github.com/gitleaks/gitleaks
64
- rev: v8.30.0
62
+ - repo: https://github.com/mongodb/kingfisher
63
+ rev: v1.95.0
65
64
  hooks:
66
- - id: gitleaks
65
+ - id: kingfisher-auto
67
66
  ci:
68
67
  autoupdate_schedule: quarterly
68
+ skip:
69
+ - reuse
70
+ - kingfisher-auto