Skip to content

Commit 9500ef3

Browse files
committed
Merge remote-tracking branch 'upstream/master' into fix/cargo-workspace-virtual-manifest
2 parents 564c32f + 2e4f4b2 commit 9500ef3

File tree

116 files changed

+4631
-3958
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

116 files changed

+4631
-3958
lines changed

.github/pull_request_template.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ Please fill in the following content to let us know better about this change.
1414
### Code Changes
1515

1616
- [ ] Add test cases to all the changes you introduce
17-
- [ ] Run `poetry all` locally to ensure this change passes linter check and tests
17+
- [ ] Run `uv run poe all` locally to ensure this change passes linter check and tests
1818
- [ ] Manually test the changes:
1919
- [ ] Verify the feature/bug fix works as expected in real-world scenarios
2020
- [ ] Test edge cases and error conditions
@@ -24,10 +24,10 @@ Please fill in the following content to let us know better about this change.
2424

2525
### Documentation Changes
2626

27-
- [ ] Run `poetry doc` locally to ensure the documentation pages renders correctly
27+
- [ ] Run `uv run poe doc` locally to ensure the documentation pages renders correctly
2828
- [ ] Check and fix any broken links (internal or external) in the documentation
2929

30-
> When running `poetry doc`, any broken internal documentation links will be reported in the console output like this:
30+
> When running `uv run poe doc`, any broken internal documentation links will be reported in the console output like this:
3131
>
3232
> ```text
3333
> INFO - Doc file 'config.md' contains a link 'commands/bump.md#-post_bump_hooks', but the doc 'commands/bump.md' does not contain an anchor '#-post_bump_hooks'.

.github/workflows/docspublish.yml

Lines changed: 8 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -15,17 +15,14 @@ jobs:
1515
token: ${{ secrets.PERSONAL_ACCESS_TOKEN }}
1616
fetch-depth: 0
1717
- name: Set up Python
18-
uses: actions/setup-python@v6
19-
with:
20-
python-version: "3.x"
18+
uses: astral-sh/setup-uv@v7
2119
- name: Install dependencies
2220
run: |
23-
python -m pip install -U pip poetry poethepoet
24-
poetry --version
25-
poetry install --only main,script
21+
uv --version
22+
uv sync --locked --group script
2623
- name: Update CLI screenshots
2724
run: |
28-
poetry doc:screenshots
25+
uv run poe doc:screenshots
2926
- name: Commit and push updated CLI screenshots
3027
run: |
3128
git config --global user.name "github-actions[bot]"
@@ -51,14 +48,11 @@ jobs:
5148
run: |
5249
git pull origin master
5350
- name: Set up Python
54-
uses: actions/setup-python@v6
55-
with:
56-
python-version: "3.x"
51+
uses: astral-sh/setup-uv@v7
5752
- name: Install dependencies
5853
run: |
59-
python -m pip install -U pip poetry poethepoet
60-
poetry --version
61-
poetry install --no-root --only documentation
54+
uv --version
55+
uv sync --locked --only-group documentation
6256
- name: Generate Sponsors 💖
6357
uses: JamesIves/github-sponsors-readme-action@v1
6458
with:
@@ -69,7 +63,7 @@ jobs:
6963
env:
7064
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
7165
run: |
72-
poetry doc:build
66+
uv run poe doc:build
7367
- name: Deploy 🚀
7468
uses: JamesIves/github-pages-deploy-action@v4
7569
with:

.github/workflows/homebrewpublish.yml

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -14,12 +14,9 @@ jobs:
1414
- name: Checkout
1515
uses: actions/checkout@v6
1616
- name: Set up Python
17-
uses: actions/setup-python@v6
18-
with:
19-
python-version: "3.x"
17+
uses: astral-sh/setup-uv@v7
2018
- name: Install dependencies
21-
run: |
22-
python -m pip install -U commitizen
19+
run: uv pip install -U commitizen
2320
- name: Set Project version env variable
2421
run: |
2522
echo "project_version=$(cz version --project)" >> $GITHUB_ENV

.github/workflows/links.yml

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
name: Links
2+
3+
on:
4+
repository_dispatch:
5+
workflow_dispatch:
6+
pull_request:
7+
schedule:
8+
- cron: "00 18 * * *"
9+
10+
jobs:
11+
check-links:
12+
runs-on: ubuntu-latest
13+
permissions:
14+
issues: write # required for peter-evans/create-issue-from-file
15+
steps:
16+
- uses: actions/checkout@v6
17+
18+
- name: Link Checker
19+
id: lychee
20+
uses: lycheeverse/lychee-action@v2
21+
with:
22+
args: --config lychee.toml .
23+
fail: false
24+
25+
- name: Broken Links Report
26+
if: steps.lychee.outputs.exit_code != 0 && github.event_name == 'schedule'
27+
uses: actions/github-script@v8
28+
with:
29+
script: |
30+
const fs = require('fs');
31+
32+
// Read the markdown file
33+
// Ensure the path is correct relative to the workspace root
34+
const reportBody = fs.readFileSync('./lychee/out.md', 'utf8');
35+
36+
await github.rest.issues.create({
37+
owner: context.repo.owner,
38+
repo: context.repo.repo,
39+
title: 'Broken Links Report',
40+
body: reportBody
41+
});
Lines changed: 17 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,38 +1,44 @@
11
name: Python package
22

3-
on: [workflow_dispatch, pull_request]
3+
on:
4+
push:
5+
branches:
6+
- master
7+
pull_request:
8+
workflow_dispatch:
49

510
jobs:
611
python-check:
712
strategy:
813
matrix:
9-
python-version: ["3.9", "3.10", "3.11", "3.12", "3.13", "3.14"]
14+
python-version: ["3.10", "3.11", "3.12", "3.13", "3.14"]
1015
platform: [ubuntu-22.04, macos-latest, windows-latest]
1116
runs-on: ${{ matrix.platform }}
1217
steps:
1318
- uses: actions/checkout@v6
1419
with:
1520
fetch-depth: 0
1621
- name: Set up Python ${{ matrix.python-version }}
17-
uses: actions/setup-python@v6
22+
uses: astral-sh/setup-uv@v7
1823
with:
1924
python-version: ${{ matrix.python-version }}
2025
- name: Install dependencies
2126
run: |
22-
python -m pip install -U pip poetry poethepoet
23-
poetry --version
24-
poetry install --only main,linters,test
27+
uv --version
28+
uv sync --locked --dev --group test --group linters
2529
- name: Run tests and linters
2630
run: |
2731
git config --global user.email "action@github.com"
2832
git config --global user.name "GitHub Action"
29-
poetry ci
33+
uv run poe ci
3034
shell: bash
3135
- name: Upload coverage to Codecov
32-
if: runner.os == 'Linux'
3336
uses: codecov/codecov-action@v5
3437
with:
3538
token: ${{ secrets.CODECOV_TOKEN }}
36-
files: ./coverage.xml
37-
flags: unittests
38-
name: codecov-umbrella
39+
- name: Upload test results to Codecov
40+
uses: codecov/codecov-action@v5
41+
if: ${{ !cancelled() }}
42+
with:
43+
token: ${{ secrets.CODECOV_TOKEN }}
44+
report_type: test_results

.github/workflows/pythonpublish.yml

Lines changed: 4 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -14,15 +14,8 @@ jobs:
1414
token: "${{ secrets.PERSONAL_ACCESS_TOKEN }}"
1515
fetch-depth: 0
1616
- name: Set up Python
17-
uses: actions/setup-python@v6
18-
with:
19-
python-version: "3.x"
20-
- name: Install dependencies
21-
run: |
22-
python -m pip install -U pip poetry
23-
poetry --version
17+
uses: astral-sh/setup-uv@v7
18+
- name: Build
19+
run: uv build
2420
- name: Publish
25-
env:
26-
POETRY_HTTP_BASIC_PYPI_USERNAME: ${{ secrets.PYPI_USERNAME }}
27-
POETRY_HTTP_BASIC_PYPI_PASSWORD: ${{ secrets.PYPI_PASSWORD }}
28-
run: poetry publish --build
21+
run: uv publish

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,7 @@ coverage.xml
4646
*.cover
4747
.hypothesis/
4848
.pytest_cache
49+
junit.xml
4950

5051
# Translations
5152
*.mo

.pre-commit-config.yaml

Lines changed: 13 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,14 @@ repos:
2929
args: [ '--unsafe' ] # for mkdocs.yml
3030
- id: detect-private-key
3131

32+
- repo: https://github.com/astral-sh/uv-pre-commit
33+
rev: 0.9.18
34+
hooks:
35+
- id: uv-lock
36+
- id: uv-sync
37+
args: [ --locked, --all-groups ]
38+
stages: [ pre-commit, post-checkout, post-merge, post-rewrite ]
39+
3240
- repo: https://github.com/asottile/blacken-docs
3341
rev: 1.19.1
3442
hooks:
@@ -48,7 +56,7 @@ repos:
4856
- tomli
4957

5058
- repo: https://github.com/commitizen-tools/commitizen
51-
rev: v4.10.1 # automatically updated by Commitizen
59+
rev: v4.11.1 # automatically updated by Commitizen
5260
hooks:
5361
- id: commitizen
5462
- id: commitizen-branch
@@ -63,15 +71,15 @@ repos:
6371
- repo: local
6472
hooks:
6573
- id: format
66-
name: Format Python code via Poetry
74+
name: Format Python code
6775
language: system
6876
pass_filenames: false
69-
entry: poetry format
77+
entry: uv run poe format
7078
types: [ python ]
7179

7280
- id: linter and test
73-
name: Linters via Poetry
81+
name: Linters
7482
language: system
7583
pass_filenames: false
76-
entry: poetry lint
84+
entry: uv run poe lint
7785
types: [ python ]

CHANGELOG.md

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,16 @@
1+
## v4.11.1 (2026-01-03)
2+
3+
### Fix
4+
5+
- **providers**: normalize package names in uv provider for uv.lock matching
6+
7+
## v4.11.0 (2025-12-29)
8+
9+
### Feat
10+
11+
- Drop support for Python 3.9 as EOL reached and add Python 3.14 support
12+
- add custom validation
13+
114
## v4.10.1 (2025-12-11)
215

316
### Fix

commitizen/__version__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
__version__ = "4.10.1"
1+
__version__ = "4.11.1"

0 commit comments

Comments
 (0)