Skip to content

Commit b044c15

Browse files
committed
chore: Template upgrade
1 parent 9debb52 commit b044c15

11 files changed

Lines changed: 78 additions & 24 deletions

File tree

.copier-answers.yml

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
# Changes here will be overwritten by Copier.
2-
_commit: 1.9.0
2+
_commit: 1.11.1
33
_src_path: gh:pawamoy/copier-uv
44
author_email: dev@pawamoy.fr
55
author_fullname: Timothée Mazzucotelli
@@ -8,7 +8,6 @@ copyright_date: '2021'
88
copyright_holder: Timothée Mazzucotelli
99
copyright_holder_email: dev@pawamoy.fr
1010
copyright_license: ISC
11-
insiders: false
1211
project_description: Signatures for entire Python programs. Extract the structure,
1312
the frame, the skeleton of your project, to generate API documentation or find
1413
breaking changes in your API.

.github/pull_request_template.md

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,11 @@
22
<!-- Help reviewers by letting them know whether AI was used to create this PR. -->
33

44
- [ ] I did not use AI
5-
- [ ] I used AI and thorougly reviewed every code/docs change
5+
- [ ] I used AI and thoroughly reviewed every code/docs change
66

77
### Description of the change
88
<!-- Quick sentence for small changes, longer description for more impacting changes. -->
99

10-
1110
### Relevant resources
1211
<!-- Link to any relevant GitHub issue, PR or discussion, section in online docs, etc. -->
1312

.github/workflows/ci.yml

Lines changed: 31 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,17 @@ name: ci
22

33
on:
44
push:
5+
branches:
6+
- main
7+
- test-me-*
58
pull_request:
69
branches:
710
- main
811

12+
concurrency:
13+
group: ${{ github.workflow }}-${{ github.ref }}
14+
cancel-in-progress: ${{ github.event_name == 'pull_request' }}
15+
916
defaults:
1017
run:
1118
shell: bash
@@ -14,13 +21,30 @@ env:
1421
LANG: en_US.utf-8
1522
LC_ALL: en_US.utf-8
1623
PYTHONIOENCODING: UTF-8
24+
PYTHONWARNDEFAULTENCODING: "1"
1725
PYTHON_VERSIONS: ""
1826

1927
jobs:
2028

2129
quality:
30+
strategy:
31+
matrix:
32+
os:
33+
- ubuntu-latest
34+
- macos-latest
35+
- windows-latest
36+
python-version:
37+
- "3.10"
38+
- "3.14"
39+
include:
40+
- os: ubuntu-latest
41+
python-version: "3.11"
42+
- os: ubuntu-latest
43+
python-version: "3.12"
44+
- os: ubuntu-latest
45+
python-version: "3.13"
2246

23-
runs-on: ubuntu-latest
47+
runs-on: ${{ matrix.os }}
2448

2549
steps:
2650
- name: Checkout
@@ -33,9 +57,9 @@ jobs:
3357
uses: ts-graphviz/setup-graphviz@v2
3458

3559
- name: Setup Python
36-
uses: actions/setup-python@v5
60+
uses: actions/setup-python@v6
3761
with:
38-
python-version: "3.12"
62+
python-version: ${{ matrix.python-version }}
3963

4064
- name: Setup uv
4165
uses: astral-sh/setup-uv@v5
@@ -60,6 +84,7 @@ jobs:
6084

6185
- name: Store objects inventory for tests
6286
uses: actions/upload-artifact@v4
87+
if: ${{ matrix.os == 'ubuntu-latest' && matrix.python-version == '3.13' }}
6388
with:
6489
name: objects.inv
6590
path: site/objects.inv
@@ -75,12 +100,12 @@ jobs:
75100
- macos-latest
76101
- windows-latest
77102
python-version:
78-
- "3.9"
79103
- "3.10"
80104
- "3.11"
81105
- "3.12"
82106
- "3.13"
83107
- "3.14"
108+
- "3.15"
84109
resolution:
85110
- highest
86111
- lowest-direct
@@ -90,7 +115,7 @@ jobs:
90115
- os: windows-latest
91116
resolution: lowest-direct
92117
runs-on: ${{ matrix.os }}
93-
continue-on-error: ${{ matrix.python-version == '3.14' || matrix.python-version == '3.13' }}
118+
continue-on-error: true
94119

95120
steps:
96121
- name: Checkout
@@ -100,7 +125,7 @@ jobs:
100125
fetch-tags: true
101126

102127
- name: Setup Python
103-
uses: actions/setup-python@v5
128+
uses: actions/setup-python@v6
104129
with:
105130
python-version: ${{ matrix.python-version }}
106131
allow-prereleases: true

.github/workflows/release.yml

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,9 +15,9 @@ jobs:
1515
fetch-depth: 0
1616
fetch-tags: true
1717
- name: Setup Python
18-
uses: actions/setup-python@v5
18+
uses: actions/setup-python@v6
1919
with:
20-
python-version: "3.12"
20+
python-version: "3.13"
2121
- name: Setup uv
2222
uses: astral-sh/setup-uv@v5
2323
- name: Prepare release notes
@@ -26,3 +26,4 @@ jobs:
2626
uses: softprops/action-gh-release@v2
2727
with:
2828
body_path: release-notes.md
29+

.github/workflows/sponsors.yml

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
name: Update sponsors
2+
3+
on:
4+
schedule:
5+
- cron: '0 0 * * *'
6+
workflow_dispatch:
7+
8+
permissions:
9+
contents: write
10+
pull-requests: write
11+
12+
jobs:
13+
update-readme:
14+
runs-on: ubuntu-latest
15+
steps:
16+
- name: Checkout repository
17+
uses: actions/checkout@v4
18+
- name: Update README and create PR
19+
uses: pawamoy/readme-insert@main
20+
with:
21+
markup-url: https://pawamoy.github.io/sponsors.txt
22+
start-marker: '<!-- sponsors-start -->'
23+
end-marker: '<!-- sponsors-end -->'
24+
commit-message: 'chore: Update sponsors section in README'
25+
pr-title: 'chore: Update sponsors section in README'
26+
pr-body: 'This PR updates the sponsors section in the README file.'

README.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -112,3 +112,8 @@ for breakage in griffe.find_breaking_changes(previous, current):
112112
```
113113

114114
See the [Loading chapter](https://mkdocstrings.github.io/griffe/guide/users/loading/) for more examples.
115+
116+
## Sponsors
117+
118+
<!-- sponsors-start -->
119+
<!-- sponsors-end -->

config/pytest.ini

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,8 @@ testpaths =
1010
# action:message_regex:warning_class:module_regex:line
1111
filterwarnings =
1212
error
13+
default::EncodingWarning
14+
error::EncodingWarning:griffe
1315
# TODO: remove once pytest-xdist 4 is released
1416
ignore:.*rsyncdir:DeprecationWarning:xdist
1517
ignore:.*slated for removal in Python:DeprecationWarning:.*

docs/.overrides/main.html

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@
66
<span class="twemoji heart pulse">
77
{% include ".icons/octicons/heart-fill-16.svg" %}
88
</span> &mdash;
9-
109
Follow
1110
<strong>@pawamoy</strong> on
1211
<a rel="me" href="https://fosstodon.org/@pawamoy">

duties.py

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -338,7 +338,7 @@ def docs_deploy(ctx: Context) -> None:
338338
with _material_insiders() as insiders:
339339
if not insiders:
340340
ctx.run(lambda: False, title="Not deploying docs without Material for MkDocs Insiders!")
341-
ctx.run(tools.mkdocs.gh_deploy(), title="Deploying documentation")
341+
ctx.run(tools.mkdocs.gh_deploy(force=True), title="Deploying documentation")
342342

343343

344344
@duty
@@ -425,7 +425,7 @@ def release(ctx: Context, version: str = "") -> None:
425425
ctx.run("false", title="A version must be provided")
426426
ctx.run("git add pyproject.toml CHANGELOG.md", title="Staging files", pty=PTY)
427427
ctx.run(["git", "commit", "-m", f"chore: Prepare release {version}"], title="Committing changes", pty=PTY)
428-
ctx.run(f"git tag {version}", title="Tagging commit", pty=PTY)
428+
ctx.run(f"git tag -m '' -a {version}", title="Tagging commit", pty=PTY)
429429
ctx.run("git push", title="Pushing commits", pty=False)
430430
ctx.run("git push --tags", title="Pushing tags", pty=False)
431431

@@ -448,11 +448,11 @@ def coverage(ctx: Context) -> None:
448448

449449

450450
@duty(nofail=PY_VERSION == PY_DEV)
451-
def test(ctx: Context, *cli_args: str, match: str = "") -> None: # noqa: PT028
451+
def test(ctx: Context, *cli_args: str) -> None: # noqa: PT028
452452
"""Run the test suite.
453453
454454
```bash
455-
make test [match=EXPR]
455+
make test
456456
```
457457
458458
Run the test suite with [Pytest](https://docs.pytest.org/) and plugins.
@@ -461,14 +461,13 @@ def test(ctx: Context, *cli_args: str, match: str = "") -> None: # noqa: PT028
461461
462462
Parameters:
463463
*cli_args: Additional Pytest CLI arguments.
464-
match: A pytest expression to filter selected tests.
465464
"""
466465
os.environ["COVERAGE_FILE"] = f".coverage.{PY_VERSION}"
466+
os.environ["PYTHONWARNDEFAULTENCODING"] = "1"
467467
ctx.run(
468468
tools.pytest(
469469
"tests",
470470
config_file="config/pytest.ini",
471-
select=match,
472471
color="yes",
473472
).add_args("-n", "auto", *cli_args),
474473
title=_pyprefix("Running tests"),

pyproject.toml

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ authors = [{name = "Timothée Mazzucotelli", email = "dev@pawamoy.fr"}]
99
license = "ISC"
1010
license-files = ["LICENSE"]
1111
readme = "README.md"
12-
requires-python = ">=3.9"
12+
requires-python = ">=3.10"
1313
keywords = ["api", "signature", "breaking-changes", "static-analysis", "dynamic-analysis"]
1414
dynamic = ["version"]
1515
classifiers = [
@@ -18,8 +18,6 @@ classifiers = [
1818
"Programming Language :: Python",
1919
"Programming Language :: Python :: 3",
2020
"Programming Language :: Python :: 3 :: Only",
21-
# YORE: EOL 3.9: Remove line.
22-
"Programming Language :: Python :: 3.9",
2321
# YORE: EOL 3.10: Remove line.
2422
"Programming Language :: Python :: 3.10",
2523
# YORE: EOL 3.11: Remove line.

0 commit comments

Comments
 (0)