unicode-segmentation-rs 0.1.0__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.
- unicode_segmentation_rs-0.1.0/.github/FUNDING.yml +9 -0
- unicode_segmentation_rs-0.1.0/.github/ISSUE_TEMPLATE/bug_report.yml +76 -0
- unicode_segmentation_rs-0.1.0/.github/ISSUE_TEMPLATE/config.yml +16 -0
- unicode_segmentation_rs-0.1.0/.github/ISSUE_TEMPLATE/feature_request.yml +50 -0
- unicode_segmentation_rs-0.1.0/.github/PULL_REQUEST_TEMPLATE.md +14 -0
- unicode_segmentation_rs-0.1.0/.github/PULL_REQUEST_TEMPLATE.md.license +5 -0
- unicode_segmentation_rs-0.1.0/.github/renovate.json +6 -0
- unicode_segmentation_rs-0.1.0/.github/renovate.json.license +5 -0
- unicode_segmentation_rs-0.1.0/.github/workflows/ci.yml +248 -0
- unicode_segmentation_rs-0.1.0/.github/workflows/pre-commit.yml +99 -0
- unicode_segmentation_rs-0.1.0/.gitignore +211 -0
- unicode_segmentation_rs-0.1.0/.markdownlint.yml +18 -0
- unicode_segmentation_rs-0.1.0/.pre-commit-config.yaml +71 -0
- unicode_segmentation_rs-0.1.0/.yamllint.yml +15 -0
- unicode_segmentation_rs-0.1.0/Cargo.lock +218 -0
- unicode_segmentation_rs-0.1.0/Cargo.toml +18 -0
- unicode_segmentation_rs-0.1.0/LICENSE +21 -0
- unicode_segmentation_rs-0.1.0/LICENSES/CC0-1.0.txt +121 -0
- unicode_segmentation_rs-0.1.0/LICENSES/MIT.txt +18 -0
- unicode_segmentation_rs-0.1.0/PKG-INFO +231 -0
- unicode_segmentation_rs-0.1.0/README.md +216 -0
- unicode_segmentation_rs-0.1.0/REUSE.toml +16 -0
- unicode_segmentation_rs-0.1.0/pyproject.toml +25 -0
- unicode_segmentation_rs-0.1.0/src/lib.rs +58 -0
- unicode_segmentation_rs-0.1.0/tests/test_unicode_segmentation.py +216 -0
|
@@ -0,0 +1,9 @@
|
|
|
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
|
+
github: WeblateOrg
|
|
7
|
+
open_collective: weblate
|
|
8
|
+
liberapay: Weblate
|
|
9
|
+
custom: https://weblate.org/donate/
|
|
@@ -0,0 +1,76 @@
|
|
|
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
|
+
# and generated from .github/ISSUE_TEMPLATE/snippets there.
|
|
7
|
+
name: Reproducible bug report
|
|
8
|
+
description: Create a report to help us improve
|
|
9
|
+
body:
|
|
10
|
+
- type: markdown
|
|
11
|
+
attributes:
|
|
12
|
+
value: |
|
|
13
|
+
Thank you for reporting an issue.
|
|
14
|
+
This form guides you in creating a useful issue report.
|
|
15
|
+
|
|
16
|
+
Want your answer quickly and guaranteed? Visit https://weblate.org/support/ to reach our dedicated support team. As a subscriber, you will always have priority and help Weblate growing.
|
|
17
|
+
- type: textarea
|
|
18
|
+
id: what-happened
|
|
19
|
+
attributes:
|
|
20
|
+
label: Describe the issue
|
|
21
|
+
description: >
|
|
22
|
+
A clear and concise description of the problem you are facing.
|
|
23
|
+
|
|
24
|
+
Please include important information, like the file format you are using and installed add-ons.
|
|
25
|
+
placeholder: Tell us what you see!
|
|
26
|
+
validations:
|
|
27
|
+
required: true
|
|
28
|
+
- type: checkboxes
|
|
29
|
+
id: tried
|
|
30
|
+
attributes:
|
|
31
|
+
label: I already tried
|
|
32
|
+
description: If you didn’t try already, try searching the documentation and existing issues.
|
|
33
|
+
options:
|
|
34
|
+
- label: I've read and searched [the documentation](https://docs.weblate.org/).
|
|
35
|
+
required: true
|
|
36
|
+
- label: I've searched for similar filed issues in this repository.
|
|
37
|
+
required: true
|
|
38
|
+
- type: textarea
|
|
39
|
+
id: reproducer
|
|
40
|
+
attributes:
|
|
41
|
+
label: Steps to reproduce the behavior
|
|
42
|
+
description: What did you do before the problem appeared?
|
|
43
|
+
placeholder: |
|
|
44
|
+
1. Go to '…'
|
|
45
|
+
2. Scroll down to '…'
|
|
46
|
+
3. Click on '…'
|
|
47
|
+
4. The error occurs
|
|
48
|
+
validations:
|
|
49
|
+
required: true
|
|
50
|
+
- type: textarea
|
|
51
|
+
id: expected
|
|
52
|
+
attributes:
|
|
53
|
+
label: Expected behavior
|
|
54
|
+
description: A clear and concise description of what you expected to happen.
|
|
55
|
+
placeholder: Tell us what you want to see!
|
|
56
|
+
- type: textarea
|
|
57
|
+
id: screenshots
|
|
58
|
+
attributes:
|
|
59
|
+
label: Screenshots
|
|
60
|
+
description: If applicable, add screenshots to better explain your problem.
|
|
61
|
+
- type: textarea
|
|
62
|
+
id: traceback
|
|
63
|
+
attributes:
|
|
64
|
+
label: Exception traceback
|
|
65
|
+
description: >
|
|
66
|
+
In case you observed a server error or crash, please read
|
|
67
|
+
[the debugging documentation](https://docs.weblate.org/en/latest/contributing/debugging.html)
|
|
68
|
+
for information on obtaining the relevant logs.
|
|
69
|
+
|
|
70
|
+
This field will be rendered as a Python traceback automatically.
|
|
71
|
+
render: pytb
|
|
72
|
+
- type: textarea
|
|
73
|
+
id: additional
|
|
74
|
+
attributes:
|
|
75
|
+
label: Additional context
|
|
76
|
+
description: Add any other contextual info about the problem here.
|
|
@@ -0,0 +1,16 @@
|
|
|
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
|
+
# and generated using update-issue-config there.
|
|
7
|
+
contact_links:
|
|
8
|
+
- name: Read our clear, thorough and localized docs
|
|
9
|
+
url: https://docs.weblate.org/
|
|
10
|
+
about: Save your time! There is an instant solution for many issues in the docs appreciated by numerous users. And it might be in your preferred language.
|
|
11
|
+
- name: Get professional support
|
|
12
|
+
url: https://weblate.org/support/
|
|
13
|
+
about: As a subscriber, you will always receive fast and helpful replies from our dedicated support team. More responsible and faster for your business, also makes Weblate stronger.
|
|
14
|
+
- name: Ask the community
|
|
15
|
+
url: https://github.com/WeblateOrg/weblate/discussions
|
|
16
|
+
about: Want to discuss something with a community? Do it in discussions!
|
|
@@ -0,0 +1,50 @@
|
|
|
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
|
+
# and generated from .github/ISSUE_TEMPLATE/snippets there.
|
|
7
|
+
name: Feature request
|
|
8
|
+
description: Suggest an idea for this project
|
|
9
|
+
body:
|
|
10
|
+
- type: markdown
|
|
11
|
+
attributes:
|
|
12
|
+
value: |
|
|
13
|
+
Thank you for requesting a change.
|
|
14
|
+
This form guides you in creating a useful feature request.
|
|
15
|
+
|
|
16
|
+
Want your answer quickly and guaranteed? Visit https://weblate.org/support/ to reach our dedicated support team. As a subscriber, you will always have priority and help Weblate growing.
|
|
17
|
+
- type: textarea
|
|
18
|
+
id: describe
|
|
19
|
+
attributes:
|
|
20
|
+
label: Describe the problem
|
|
21
|
+
description: >
|
|
22
|
+
Is your feature request related to a problem? If so, please provide
|
|
23
|
+
a clear and concise description of what the problem is.
|
|
24
|
+
placeholder: I'm always frustrated when…
|
|
25
|
+
validations:
|
|
26
|
+
required: true
|
|
27
|
+
- type: textarea
|
|
28
|
+
id: solution
|
|
29
|
+
attributes:
|
|
30
|
+
label: Solution brainstorm
|
|
31
|
+
description: We know you have ideas how to address this, please share it.
|
|
32
|
+
placeholder: I'd like to get…
|
|
33
|
+
validations:
|
|
34
|
+
required: true
|
|
35
|
+
- type: textarea
|
|
36
|
+
id: alternatives
|
|
37
|
+
attributes:
|
|
38
|
+
label: Describe alternatives you have considered
|
|
39
|
+
description: A clear and concise description of any alternative solutions or features you have considered.
|
|
40
|
+
placeholder: The issue can also be addressed by…
|
|
41
|
+
- type: textarea
|
|
42
|
+
id: screenshots
|
|
43
|
+
attributes:
|
|
44
|
+
label: Screenshots
|
|
45
|
+
description: If applicable, add screenshots to better explain your problem.
|
|
46
|
+
- type: textarea
|
|
47
|
+
id: additional
|
|
48
|
+
attributes:
|
|
49
|
+
label: Additional context
|
|
50
|
+
description: Add any other contextual info about the problem here.
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
♥ Thank you for submitting a pull request. ♥
|
|
3
|
+
|
|
4
|
+
We will review it in a timely manner, but please follow the CI checks to see
|
|
5
|
+
any problems it might discover.
|
|
6
|
+
|
|
7
|
+
Want to make a perfect pull request?
|
|
8
|
+
|
|
9
|
+
• Keep the pull request reasonably sized. Creating more pull requests is sometimes better.
|
|
10
|
+
• Describe what the pull request does and what issues it does address.
|
|
11
|
+
• Ensure that lint and unit tests pass.
|
|
12
|
+
• Add tests that prove that the fix is effective or that the new feature works.
|
|
13
|
+
• Describe any new features or changed behavior in the documentation.
|
|
14
|
+
-->
|
|
@@ -0,0 +1,248 @@
|
|
|
1
|
+
# Copyright © Michal Čihař <michal@weblate.org>
|
|
2
|
+
#
|
|
3
|
+
# SPDX-License-Identifier: MIT
|
|
4
|
+
|
|
5
|
+
name: CI
|
|
6
|
+
|
|
7
|
+
on:
|
|
8
|
+
push:
|
|
9
|
+
branches:
|
|
10
|
+
- main
|
|
11
|
+
- master
|
|
12
|
+
tags:
|
|
13
|
+
- '*'
|
|
14
|
+
pull_request:
|
|
15
|
+
workflow_dispatch:
|
|
16
|
+
|
|
17
|
+
permissions:
|
|
18
|
+
contents: read
|
|
19
|
+
|
|
20
|
+
jobs:
|
|
21
|
+
linux:
|
|
22
|
+
runs-on: ${{ matrix.platform.runner }}
|
|
23
|
+
strategy:
|
|
24
|
+
matrix:
|
|
25
|
+
platform:
|
|
26
|
+
- runner: ubuntu-latest
|
|
27
|
+
target: x86_64
|
|
28
|
+
- runner: ubuntu-latest
|
|
29
|
+
target: x86
|
|
30
|
+
- runner: ubuntu-latest
|
|
31
|
+
target: aarch64
|
|
32
|
+
- runner: ubuntu-latest
|
|
33
|
+
target: armv7
|
|
34
|
+
- runner: ubuntu-latest
|
|
35
|
+
target: s390x
|
|
36
|
+
- runner: ubuntu-latest
|
|
37
|
+
target: ppc64le
|
|
38
|
+
steps:
|
|
39
|
+
- uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
|
|
40
|
+
with:
|
|
41
|
+
persist-credentials: false
|
|
42
|
+
- uses: actions/setup-python@83679a892e2d95755f2dac6acb0bfd1e9ac5d548 # v6.1.0
|
|
43
|
+
with:
|
|
44
|
+
python-version: 3.x
|
|
45
|
+
- name: Build wheels
|
|
46
|
+
uses: PyO3/maturin-action@86b9d133d34bc1b40018696f782949dac11bd380 # v1.49.4
|
|
47
|
+
with:
|
|
48
|
+
target: ${{ matrix.platform.target }}
|
|
49
|
+
args: --release --out dist
|
|
50
|
+
sccache: false
|
|
51
|
+
manylinux: auto
|
|
52
|
+
- name: Build free-threaded wheels
|
|
53
|
+
uses: PyO3/maturin-action@86b9d133d34bc1b40018696f782949dac11bd380 # v1.49.4
|
|
54
|
+
with:
|
|
55
|
+
target: ${{ matrix.platform.target }}
|
|
56
|
+
args: --release --out dist -i python3.14t
|
|
57
|
+
sccache: false
|
|
58
|
+
manylinux: auto
|
|
59
|
+
- name: Build free-threaded wheels
|
|
60
|
+
uses: PyO3/maturin-action@86b9d133d34bc1b40018696f782949dac11bd380 # v1.49.4
|
|
61
|
+
with:
|
|
62
|
+
target: ${{ matrix.platform.target }}
|
|
63
|
+
args: --release --out dist -i python3.13t
|
|
64
|
+
sccache: false
|
|
65
|
+
manylinux: auto
|
|
66
|
+
- name: Upload wheels
|
|
67
|
+
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
|
|
68
|
+
with:
|
|
69
|
+
name: wheels-linux-${{ matrix.platform.target }}
|
|
70
|
+
path: dist
|
|
71
|
+
|
|
72
|
+
musllinux:
|
|
73
|
+
runs-on: ${{ matrix.platform.runner }}
|
|
74
|
+
strategy:
|
|
75
|
+
matrix:
|
|
76
|
+
platform:
|
|
77
|
+
- runner: ubuntu-latest
|
|
78
|
+
target: x86_64
|
|
79
|
+
- runner: ubuntu-latest
|
|
80
|
+
target: x86
|
|
81
|
+
- runner: ubuntu-latest
|
|
82
|
+
target: aarch64
|
|
83
|
+
- runner: ubuntu-latest
|
|
84
|
+
target: armv7
|
|
85
|
+
steps:
|
|
86
|
+
- uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
|
|
87
|
+
with:
|
|
88
|
+
persist-credentials: false
|
|
89
|
+
- uses: actions/setup-python@83679a892e2d95755f2dac6acb0bfd1e9ac5d548 # v6.1.0
|
|
90
|
+
with:
|
|
91
|
+
python-version: 3.x
|
|
92
|
+
- name: Build wheels
|
|
93
|
+
uses: PyO3/maturin-action@86b9d133d34bc1b40018696f782949dac11bd380 # v1.49.4
|
|
94
|
+
with:
|
|
95
|
+
target: ${{ matrix.platform.target }}
|
|
96
|
+
args: --release --out dist
|
|
97
|
+
sccache: false
|
|
98
|
+
manylinux: musllinux_1_2
|
|
99
|
+
- name: Build free-threaded wheels
|
|
100
|
+
uses: PyO3/maturin-action@86b9d133d34bc1b40018696f782949dac11bd380 # v1.49.4
|
|
101
|
+
with:
|
|
102
|
+
target: ${{ matrix.platform.target }}
|
|
103
|
+
args: --release --out dist -i python3.13t
|
|
104
|
+
|
|
105
|
+
sccache: false
|
|
106
|
+
manylinux: musllinux_1_2
|
|
107
|
+
- name: Build free-threaded wheels
|
|
108
|
+
uses: PyO3/maturin-action@86b9d133d34bc1b40018696f782949dac11bd380 # v1.49.4
|
|
109
|
+
with:
|
|
110
|
+
target: ${{ matrix.platform.target }}
|
|
111
|
+
args: --release --out dist -i python3.14t
|
|
112
|
+
|
|
113
|
+
sccache: false
|
|
114
|
+
manylinux: musllinux_1_2
|
|
115
|
+
- name: Upload wheels
|
|
116
|
+
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
|
|
117
|
+
with:
|
|
118
|
+
name: wheels-musllinux-${{ matrix.platform.target }}
|
|
119
|
+
path: dist
|
|
120
|
+
|
|
121
|
+
windows:
|
|
122
|
+
runs-on: ${{ matrix.platform.runner }}
|
|
123
|
+
strategy:
|
|
124
|
+
matrix:
|
|
125
|
+
platform:
|
|
126
|
+
- runner: windows-latest
|
|
127
|
+
target: x64
|
|
128
|
+
- runner: windows-latest
|
|
129
|
+
target: x86
|
|
130
|
+
steps:
|
|
131
|
+
- uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
|
|
132
|
+
with:
|
|
133
|
+
persist-credentials: false
|
|
134
|
+
- uses: actions/setup-python@83679a892e2d95755f2dac6acb0bfd1e9ac5d548 # v6.1.0
|
|
135
|
+
with:
|
|
136
|
+
python-version: 3.x
|
|
137
|
+
architecture: ${{ matrix.platform.target }}
|
|
138
|
+
- name: Build wheels
|
|
139
|
+
uses: PyO3/maturin-action@86b9d133d34bc1b40018696f782949dac11bd380 # v1.49.4
|
|
140
|
+
with:
|
|
141
|
+
target: ${{ matrix.platform.target }}
|
|
142
|
+
args: --release --out dist
|
|
143
|
+
sccache: false
|
|
144
|
+
- uses: actions/setup-python@83679a892e2d95755f2dac6acb0bfd1e9ac5d548 # v6.1.0
|
|
145
|
+
with:
|
|
146
|
+
python-version: 3.13t
|
|
147
|
+
architecture: ${{ matrix.platform.target }}
|
|
148
|
+
- name: Build free-threaded wheels
|
|
149
|
+
uses: PyO3/maturin-action@86b9d133d34bc1b40018696f782949dac11bd380 # v1.49.4
|
|
150
|
+
with:
|
|
151
|
+
target: ${{ matrix.platform.target }}
|
|
152
|
+
args: --release --out dist -i python3.13t
|
|
153
|
+
sccache: false
|
|
154
|
+
- name: Build free-threaded wheels
|
|
155
|
+
uses: PyO3/maturin-action@86b9d133d34bc1b40018696f782949dac11bd380 # v1.49.4
|
|
156
|
+
with:
|
|
157
|
+
target: ${{ matrix.platform.target }}
|
|
158
|
+
args: --release --out dist -i python3.14t
|
|
159
|
+
sccache: false
|
|
160
|
+
- name: Upload wheels
|
|
161
|
+
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
|
|
162
|
+
with:
|
|
163
|
+
name: wheels-windows-${{ matrix.platform.target }}
|
|
164
|
+
path: dist
|
|
165
|
+
|
|
166
|
+
macos:
|
|
167
|
+
runs-on: ${{ matrix.platform.runner }}
|
|
168
|
+
strategy:
|
|
169
|
+
matrix:
|
|
170
|
+
platform:
|
|
171
|
+
- runner: macos-15-intel
|
|
172
|
+
target: x86_64
|
|
173
|
+
- runner: macos-15
|
|
174
|
+
target: aarch64
|
|
175
|
+
steps:
|
|
176
|
+
- uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
|
|
177
|
+
with:
|
|
178
|
+
persist-credentials: false
|
|
179
|
+
- uses: actions/setup-python@83679a892e2d95755f2dac6acb0bfd1e9ac5d548 # v6.1.0
|
|
180
|
+
with:
|
|
181
|
+
python-version: 3.x
|
|
182
|
+
- name: Build wheels
|
|
183
|
+
uses: PyO3/maturin-action@86b9d133d34bc1b40018696f782949dac11bd380 # v1.49.4
|
|
184
|
+
with:
|
|
185
|
+
target: ${{ matrix.platform.target }}
|
|
186
|
+
args: --release --out dist
|
|
187
|
+
sccache: false
|
|
188
|
+
- name: Build free-threaded wheels
|
|
189
|
+
uses: PyO3/maturin-action@86b9d133d34bc1b40018696f782949dac11bd380 # v1.49.4
|
|
190
|
+
with:
|
|
191
|
+
target: ${{ matrix.platform.target }}
|
|
192
|
+
args: --release --out dist -i python3.13t
|
|
193
|
+
|
|
194
|
+
sccache: false
|
|
195
|
+
- name: Build free-threaded wheels
|
|
196
|
+
uses: PyO3/maturin-action@86b9d133d34bc1b40018696f782949dac11bd380 # v1.49.4
|
|
197
|
+
with:
|
|
198
|
+
target: ${{ matrix.platform.target }}
|
|
199
|
+
args: --release --out dist -i python3.14t
|
|
200
|
+
|
|
201
|
+
sccache: false
|
|
202
|
+
- name: Upload wheels
|
|
203
|
+
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
|
|
204
|
+
with:
|
|
205
|
+
name: wheels-macos-${{ matrix.platform.target }}
|
|
206
|
+
path: dist
|
|
207
|
+
|
|
208
|
+
sdist:
|
|
209
|
+
runs-on: ubuntu-latest
|
|
210
|
+
steps:
|
|
211
|
+
- uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
|
|
212
|
+
with:
|
|
213
|
+
persist-credentials: false
|
|
214
|
+
- name: Build sdist
|
|
215
|
+
uses: PyO3/maturin-action@86b9d133d34bc1b40018696f782949dac11bd380 # v1.49.4
|
|
216
|
+
with:
|
|
217
|
+
command: sdist
|
|
218
|
+
args: --out dist
|
|
219
|
+
- name: Upload sdist
|
|
220
|
+
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
|
|
221
|
+
with:
|
|
222
|
+
name: wheels-sdist
|
|
223
|
+
path: dist
|
|
224
|
+
|
|
225
|
+
release:
|
|
226
|
+
name: Release
|
|
227
|
+
runs-on: ubuntu-latest
|
|
228
|
+
if: ${{ startsWith(github.ref, 'refs/tags/') || github.event_name == 'workflow_dispatch' }}
|
|
229
|
+
needs: [linux, musllinux, windows, macos, sdist]
|
|
230
|
+
permissions:
|
|
231
|
+
# Use to sign the release artifacts
|
|
232
|
+
id-token: write
|
|
233
|
+
# Used to upload release artifacts
|
|
234
|
+
contents: write
|
|
235
|
+
# Used to generate artifact attestation
|
|
236
|
+
attestations: write
|
|
237
|
+
steps:
|
|
238
|
+
- uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
|
|
239
|
+
- name: Generate artifact attestation
|
|
240
|
+
uses: actions/attest-build-provenance@977bb373ede98d70efdf65b84cb5f73e068dcc2a # v3.0.0
|
|
241
|
+
with:
|
|
242
|
+
subject-path: wheels-*/*
|
|
243
|
+
- name: Publish to PyPI
|
|
244
|
+
if: ${{ startsWith(github.ref, 'refs/tags/') }}
|
|
245
|
+
uses: PyO3/maturin-action@86b9d133d34bc1b40018696f782949dac11bd380 # v1.49.4
|
|
246
|
+
with:
|
|
247
|
+
command: upload
|
|
248
|
+
args: --non-interactive --skip-existing wheels-*/*
|
|
@@ -0,0 +1,99 @@
|
|
|
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: Pre-commit check
|
|
7
|
+
|
|
8
|
+
on:
|
|
9
|
+
push:
|
|
10
|
+
branches-ignore:
|
|
11
|
+
- renovate/**
|
|
12
|
+
- weblate
|
|
13
|
+
pull_request:
|
|
14
|
+
|
|
15
|
+
permissions:
|
|
16
|
+
contents: read
|
|
17
|
+
|
|
18
|
+
jobs:
|
|
19
|
+
pre-commit:
|
|
20
|
+
runs-on: ubuntu-24.04
|
|
21
|
+
|
|
22
|
+
steps:
|
|
23
|
+
- uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
|
|
24
|
+
with:
|
|
25
|
+
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@0057852bfaa89a56745cba8c7296529d2fc39830 # v4.3.0
|
|
33
|
+
id: pre-commit-cache
|
|
34
|
+
with:
|
|
35
|
+
path: ~/.cache/pre-commit
|
|
36
|
+
key: ${{ runner.os }}-pre-commit-${{ steps.get-date.outputs.cache_tag }}-${{ hashFiles('.pre-commit-config.yaml') }}
|
|
37
|
+
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-
|
|
41
|
+
- name: Setup Python
|
|
42
|
+
uses: actions/setup-python@83679a892e2d95755f2dac6acb0bfd1e9ac5d548 # v6.1.0
|
|
43
|
+
with:
|
|
44
|
+
python-version: '3.14'
|
|
45
|
+
- uses: astral-sh/setup-uv@1e862dfacbd1d6d858c55d9b792c756523627244 # v7.1.4
|
|
46
|
+
with:
|
|
47
|
+
enable-cache: false
|
|
48
|
+
- name: detect method
|
|
49
|
+
id: detect
|
|
50
|
+
run: |
|
|
51
|
+
if test -f requirements-lint.txt ; then
|
|
52
|
+
echo "method=requirements" >> "$GITHUB_OUTPUT"
|
|
53
|
+
elif test -f pyproject.toml && grep -q dependency-groups pyproject.toml ; then
|
|
54
|
+
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
|
+
else
|
|
58
|
+
echo "method=uvx" >> "$GITHUB_OUTPUT"
|
|
59
|
+
fi
|
|
60
|
+
- name: pre-commit (PEP 735)
|
|
61
|
+
if: steps.detect.outputs.method == 'pep735'
|
|
62
|
+
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
|
|
65
|
+
env:
|
|
66
|
+
RUFF_OUTPUT_FORMAT: github
|
|
67
|
+
REUSE_OUTPUT_FORMAT: github
|
|
68
|
+
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
69
|
+
- name: pre-commit (uvx)
|
|
70
|
+
if: steps.detect.outputs.method == 'uvx'
|
|
71
|
+
run: |
|
|
72
|
+
uvx pre-commit run --all --show-diff-on-failure
|
|
73
|
+
uvx pre-commit gc
|
|
74
|
+
env:
|
|
75
|
+
RUFF_OUTPUT_FORMAT: github
|
|
76
|
+
REUSE_OUTPUT_FORMAT: github
|
|
77
|
+
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
78
|
+
- name: Install dependencies
|
|
79
|
+
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
|
+
run: |
|
|
87
|
+
pre-commit run --all --show-diff-on-failure
|
|
88
|
+
pre-commit gc
|
|
89
|
+
env:
|
|
90
|
+
RUFF_OUTPUT_FORMAT: github
|
|
91
|
+
REUSE_OUTPUT_FORMAT: github
|
|
92
|
+
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
93
|
+
- name: diff
|
|
94
|
+
run: git diff
|
|
95
|
+
if: always()
|
|
96
|
+
- uses: pre-commit-ci/lite-action@5d6cc0eb514c891a40562a58a8e71576c5c7fb43 # v1.1.0
|
|
97
|
+
if: always()
|
|
98
|
+
with:
|
|
99
|
+
msg: 'chore(pre-commit): apply code formatting'
|