Skip to content

Commit d333479

Browse files
committed
Merge branch 'main' into charlie/metaclass
* main: (30 commits) [ty] Introduce `types::bool`, `types::context_manager` and `types::iteration` (#23681) [ty] Move `KnownInstanceType`, and related types, to a new `known_instance.rs` submodule (#23680) [ty] Add `invalid-enum-member-annotation` lint rule (#23648) [`ruff`] Fix false positive for `re.split` with empty string pattern (`RUF055`) (#23634) [ty] Move `UnionType` and `IntersectionType` to a new `types::set_theoretic` submodule (#23678) [ty] Add unbound type variable detection in annotations (#23641) [ty] Remove `specialize_constrained` from constraint set module (#23677) [ty] Add partial support and validation for `Unpack` when used with tuple types (#23651) Update prek dependencies (#23661) [ty] make `StaticClassLiteral::explicit_bases` converge better in cycles (#23601) Improvements to CLAUDE.md (#23633) [ty] Move subscript logic out of `builder.rs` (#23653) Update Artifact GitHub Actions dependencies (#23676) Update actions/attest-build-provenance to 4.1.0 (#23654) Update Rust crate clearscreen to v4.0.5 (#23664) fix renovate `actions/*-artifact` updates (#23675) Update Rust crate clap to v4.5.60 (#23663) Update Rust crate unicode-ident to v1.0.24 (#23668) Update Rust crate anyhow to v1.0.102 (#23662) Update Rust crate pyproject-toml to v0.13.7 (#23666) ...
2 parents 39e2fcb + 48cf24d commit d333479

72 files changed

Lines changed: 6016 additions & 6023 deletions

File tree

Some content is hidden

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

.github/renovate.json5

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@
5555
groupName: "Artifact GitHub Actions dependencies",
5656
matchManagers: ["github-actions"],
5757
matchDatasources: ["gitea-tags", "github-tags"],
58-
matchPackageNames: ["actions/.*-artifact"],
58+
matchPackageNames: ["actions/upload-artifact", "actions/download-artifact"],
5959
description: "Weekly update of artifact-related GitHub Actions dependencies",
6060
},
6161
{
@@ -95,7 +95,7 @@
9595
{
9696
groupName: "strum",
9797
matchManagers: ["cargo"],
98-
matchPackageNames: ["strum"],
98+
matchPackageNames: ["strum", "strum_macros"],
9999
description: "Weekly update of strum dependencies",
100100
}
101101
],

.github/workflows/ci.yaml

Lines changed: 38 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -281,17 +281,17 @@ jobs:
281281
- name: "Install mold"
282282
uses: rui314/setup-mold@725a8794d15fc7563f59595bd9556495c0564878 # v1
283283
- name: "Install cargo nextest"
284-
uses: taiki-e/install-action@288875dd3d64326724fa6d9593062d9f8ba0b131 # v2.67.30
284+
uses: taiki-e/install-action@cfdb446e391c69574ebc316dfb7d7849ec12b940 # v2.68.8
285285
with:
286286
tool: cargo-nextest
287287
- name: "Install cargo insta"
288-
uses: taiki-e/install-action@288875dd3d64326724fa6d9593062d9f8ba0b131 # v2.67.30
288+
uses: taiki-e/install-action@cfdb446e391c69574ebc316dfb7d7849ec12b940 # v2.68.8
289289
with:
290290
tool: cargo-insta
291291
- name: "Install uv"
292-
uses: astral-sh/setup-uv@eac588ad8def6316056a12d4907a9d4d84ff7a3b # v7.3.0
292+
uses: astral-sh/setup-uv@5a095e7a2014a4212f075830d4f7277575a9d098 # v7.3.1
293293
with:
294-
version: "0.10.4"
294+
version: "0.10.7"
295295
enable-cache: "true"
296296
- name: ty mdtests (GitHub annotations)
297297
if: ${{ needs.determine_changes.outputs.ty == 'true' }}
@@ -344,13 +344,13 @@ jobs:
344344
- name: "Install mold"
345345
uses: rui314/setup-mold@725a8794d15fc7563f59595bd9556495c0564878 # v1
346346
- name: "Install cargo nextest"
347-
uses: taiki-e/install-action@288875dd3d64326724fa6d9593062d9f8ba0b131 # v2.67.30
347+
uses: taiki-e/install-action@cfdb446e391c69574ebc316dfb7d7849ec12b940 # v2.68.8
348348
with:
349349
tool: cargo-nextest
350350
- name: "Install uv"
351-
uses: astral-sh/setup-uv@eac588ad8def6316056a12d4907a9d4d84ff7a3b # v7.3.0
351+
uses: astral-sh/setup-uv@5a095e7a2014a4212f075830d4f7277575a9d098 # v7.3.1
352352
with:
353-
version: "0.10.4"
353+
version: "0.10.7"
354354
enable-cache: "true"
355355
- name: "Run tests"
356356
run: cargo nextest run --cargo-profile profiling --all-features
@@ -378,13 +378,13 @@ jobs:
378378
- name: "Install Rust toolchain"
379379
run: rustup show
380380
- name: "Install cargo nextest"
381-
uses: taiki-e/install-action@288875dd3d64326724fa6d9593062d9f8ba0b131 # v2.67.30
381+
uses: taiki-e/install-action@cfdb446e391c69574ebc316dfb7d7849ec12b940 # v2.68.8
382382
with:
383383
tool: cargo-nextest
384384
- name: "Install uv"
385-
uses: astral-sh/setup-uv@eac588ad8def6316056a12d4907a9d4d84ff7a3b # v7.3.0
385+
uses: astral-sh/setup-uv@5a095e7a2014a4212f075830d4f7277575a9d098 # v7.3.1
386386
with:
387-
version: "0.10.4"
387+
version: "0.10.7"
388388
enable-cache: "true"
389389
- name: "Run tests"
390390
run: |
@@ -489,9 +489,9 @@ jobs:
489489
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
490490
with:
491491
persist-credentials: false
492-
- uses: astral-sh/setup-uv@eac588ad8def6316056a12d4907a9d4d84ff7a3b # v7.3.0
492+
- uses: astral-sh/setup-uv@5a095e7a2014a4212f075830d4f7277575a9d098 # v7.3.1
493493
with:
494-
version: "0.10.4"
494+
version: "0.10.7"
495495
- uses: Swatinem/rust-cache@779680da715d629ac1d338a641029a2f4372abb5 # v2.8.2
496496
with:
497497
shared-key: ruff-linux-debug
@@ -526,9 +526,9 @@ jobs:
526526
- uses: Swatinem/rust-cache@779680da715d629ac1d338a641029a2f4372abb5 # v2.8.2
527527
with:
528528
save-if: ${{ github.ref == 'refs/heads/main' }}
529-
- uses: astral-sh/setup-uv@eac588ad8def6316056a12d4907a9d4d84ff7a3b # v7.3.0
529+
- uses: astral-sh/setup-uv@5a095e7a2014a4212f075830d4f7277575a9d098 # v7.3.1
530530
with:
531-
version: "0.10.4"
531+
version: "0.10.7"
532532
- name: "Install Rust toolchain"
533533
run: rustup component add rustfmt
534534
# Run all code generation scripts, and verify that the current output is
@@ -568,11 +568,11 @@ jobs:
568568
ref: ${{ github.event.pull_request.base.ref }}
569569
persist-credentials: false
570570

571-
- uses: astral-sh/setup-uv@eac588ad8def6316056a12d4907a9d4d84ff7a3b # v7.3.0
571+
- uses: astral-sh/setup-uv@5a095e7a2014a4212f075830d4f7277575a9d098 # v7.3.1
572572
with:
573573
python-version: ${{ env.PYTHON_VERSION }}
574574
activate-environment: true
575-
version: "0.10.4"
575+
version: "0.10.7"
576576

577577
- name: "Install Rust toolchain"
578578
run: rustup show
@@ -676,9 +676,9 @@ jobs:
676676
with:
677677
fetch-depth: 0
678678
persist-credentials: false
679-
- uses: astral-sh/setup-uv@eac588ad8def6316056a12d4907a9d4d84ff7a3b # v7.3.0
679+
- uses: astral-sh/setup-uv@5a095e7a2014a4212f075830d4f7277575a9d098 # v7.3.1
680680
with:
681-
version: "0.10.4"
681+
version: "0.10.7"
682682
- uses: Swatinem/rust-cache@779680da715d629ac1d338a641029a2f4372abb5 # v2.8.2
683683
with:
684684
save-if: ${{ github.ref == 'refs/heads/main' }}
@@ -737,9 +737,9 @@ jobs:
737737
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
738738
with:
739739
persist-credentials: false
740-
- uses: astral-sh/setup-uv@eac588ad8def6316056a12d4907a9d4d84ff7a3b # v7.3.0
740+
- uses: astral-sh/setup-uv@5a095e7a2014a4212f075830d4f7277575a9d098 # v7.3.1
741741
with:
742-
version: "0.10.4"
742+
version: "0.10.7"
743743
- uses: Swatinem/rust-cache@779680da715d629ac1d338a641029a2f4372abb5 # v2.8.2
744744
with:
745745
save-if: ${{ github.ref == 'refs/heads/main' }}
@@ -790,9 +790,9 @@ jobs:
790790
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
791791
with:
792792
persist-credentials: false
793-
- uses: astral-sh/setup-uv@eac588ad8def6316056a12d4907a9d4d84ff7a3b # v7.3.0
793+
- uses: astral-sh/setup-uv@5a095e7a2014a4212f075830d4f7277575a9d098 # v7.3.1
794794
with:
795-
version: "0.10.4"
795+
version: "0.10.7"
796796
- uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6.2.0
797797
with:
798798
node-version: 24
@@ -826,11 +826,11 @@ jobs:
826826
- name: "Install Rust toolchain"
827827
run: rustup show
828828
- name: Install uv
829-
uses: astral-sh/setup-uv@eac588ad8def6316056a12d4907a9d4d84ff7a3b # v7.3.0
829+
uses: astral-sh/setup-uv@5a095e7a2014a4212f075830d4f7277575a9d098 # v7.3.1
830830
with:
831831
python-version: 3.13
832832
activate-environment: true
833-
version: "0.10.4"
833+
version: "0.10.7"
834834
- name: "Install dependencies"
835835
run: uv pip install -r docs/requirements.txt
836836
- name: "Update README File"
@@ -871,7 +871,7 @@ jobs:
871871
needs: determine_changes
872872
if: ${{ !contains(github.event.pull_request.labels.*.name, 'no-test') && (needs.determine_changes.outputs.code == 'true' || github.ref == 'refs/heads/main') }}
873873
steps:
874-
- uses: extractions/setup-just@e33e0265a09d6d736e2ee1e0eb685ef1de4669ff # v3.0.0
874+
- uses: extractions/setup-just@f8a3cce218d9f83db3a2ecd90e41ac3de6cdfd9b # v3.1.0
875875
env:
876876
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
877877

@@ -979,15 +979,15 @@ jobs:
979979
- uses: Swatinem/rust-cache@779680da715d629ac1d338a641029a2f4372abb5 # v2.8.2
980980
with:
981981
save-if: ${{ github.ref == 'refs/heads/main' }}
982-
- uses: astral-sh/setup-uv@eac588ad8def6316056a12d4907a9d4d84ff7a3b # v7.3.0
982+
- uses: astral-sh/setup-uv@5a095e7a2014a4212f075830d4f7277575a9d098 # v7.3.1
983983
with:
984-
version: "0.10.4"
984+
version: "0.10.7"
985985

986986
- name: "Install Rust toolchain"
987987
run: rustup show
988988

989989
- name: "Install codspeed"
990-
uses: taiki-e/install-action@288875dd3d64326724fa6d9593062d9f8ba0b131 # v2.67.30
990+
uses: taiki-e/install-action@cfdb446e391c69574ebc316dfb7d7849ec12b940 # v2.68.8
991991
with:
992992
tool: cargo-codspeed
993993

@@ -1026,7 +1026,7 @@ jobs:
10261026
run: rustup show
10271027

10281028
- name: "Install codspeed"
1029-
uses: taiki-e/install-action@288875dd3d64326724fa6d9593062d9f8ba0b131 # v2.67.30
1029+
uses: taiki-e/install-action@cfdb446e391c69574ebc316dfb7d7849ec12b940 # v2.68.8
10301030
with:
10311031
tool: cargo-codspeed
10321032

@@ -1060,12 +1060,12 @@ jobs:
10601060
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
10611061
with:
10621062
persist-credentials: false
1063-
- uses: astral-sh/setup-uv@eac588ad8def6316056a12d4907a9d4d84ff7a3b # v7.3.0
1063+
- uses: astral-sh/setup-uv@5a095e7a2014a4212f075830d4f7277575a9d098 # v7.3.1
10641064
with:
1065-
version: "0.10.4"
1065+
version: "0.10.7"
10661066

10671067
- name: "Install codspeed"
1068-
uses: taiki-e/install-action@288875dd3d64326724fa6d9593062d9f8ba0b131 # v2.67.30
1068+
uses: taiki-e/install-action@cfdb446e391c69574ebc316dfb7d7849ec12b940 # v2.68.8
10691069
with:
10701070
tool: cargo-codspeed
10711071

@@ -1111,15 +1111,15 @@ jobs:
11111111
- uses: Swatinem/rust-cache@779680da715d629ac1d338a641029a2f4372abb5 # v2.8.2
11121112
with:
11131113
save-if: ${{ github.ref == 'refs/heads/main' }}
1114-
- uses: astral-sh/setup-uv@eac588ad8def6316056a12d4907a9d4d84ff7a3b # v7.3.0
1114+
- uses: astral-sh/setup-uv@5a095e7a2014a4212f075830d4f7277575a9d098 # v7.3.1
11151115
with:
1116-
version: "0.10.4"
1116+
version: "0.10.7"
11171117

11181118
- name: "Install Rust toolchain"
11191119
run: rustup show
11201120

11211121
- name: "Install codspeed"
1122-
uses: taiki-e/install-action@288875dd3d64326724fa6d9593062d9f8ba0b131 # v2.67.30
1122+
uses: taiki-e/install-action@cfdb446e391c69574ebc316dfb7d7849ec12b940 # v2.68.8
11231123
with:
11241124
tool: cargo-codspeed
11251125

@@ -1155,12 +1155,12 @@ jobs:
11551155
with:
11561156
persist-credentials: false
11571157

1158-
- uses: astral-sh/setup-uv@eac588ad8def6316056a12d4907a9d4d84ff7a3b # v7.3.0
1158+
- uses: astral-sh/setup-uv@5a095e7a2014a4212f075830d4f7277575a9d098 # v7.3.1
11591159
with:
1160-
version: "0.10.4"
1160+
version: "0.10.7"
11611161

11621162
- name: "Install codspeed"
1163-
uses: taiki-e/install-action@288875dd3d64326724fa6d9593062d9f8ba0b131 # v2.67.30
1163+
uses: taiki-e/install-action@cfdb446e391c69574ebc316dfb7d7849ec12b940 # v2.68.8
11641164
with:
11651165
tool: cargo-codspeed
11661166

.github/workflows/daily_fuzz.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,9 +34,9 @@ jobs:
3434
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
3535
with:
3636
persist-credentials: false
37-
- uses: astral-sh/setup-uv@eac588ad8def6316056a12d4907a9d4d84ff7a3b # v7.3.0
37+
- uses: astral-sh/setup-uv@5a095e7a2014a4212f075830d4f7277575a9d098 # v7.3.1
3838
with:
39-
version: "0.10.4"
39+
version: "0.10.7"
4040
- name: "Install Rust toolchain"
4141
run: rustup show
4242
- name: "Install mold"

.github/workflows/mypy_primer.yaml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -52,9 +52,9 @@ jobs:
5252
persist-credentials: false
5353

5454
- name: Install the latest version of uv
55-
uses: astral-sh/setup-uv@eac588ad8def6316056a12d4907a9d4d84ff7a3b # v7.3.0
55+
uses: astral-sh/setup-uv@5a095e7a2014a4212f075830d4f7277575a9d098 # v7.3.1
5656
with:
57-
version: "0.10.4"
57+
version: "0.10.7"
5858

5959
- uses: Swatinem/rust-cache@779680da715d629ac1d338a641029a2f4372abb5 # v2.8.2
6060
with:
@@ -97,9 +97,9 @@ jobs:
9797
persist-credentials: false
9898

9999
- name: Install the latest version of uv
100-
uses: astral-sh/setup-uv@eac588ad8def6316056a12d4907a9d4d84ff7a3b # v7.3.0
100+
uses: astral-sh/setup-uv@5a095e7a2014a4212f075830d4f7277575a9d098 # v7.3.1
101101
with:
102-
version: "0.10.4"
102+
version: "0.10.7"
103103

104104
- uses: Swatinem/rust-cache@779680da715d629ac1d338a641029a2f4372abb5 # v2.8.2
105105
with:
Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
# Publish ruff releases to a mirror
2+
#
3+
# Assumed to run as a subworkflow of .github/workflows/release.yml as a custom publish job
4+
name: publish-mirror
5+
6+
on:
7+
workflow_call:
8+
inputs:
9+
plan:
10+
required: true
11+
type: string
12+
13+
permissions: {}
14+
15+
jobs:
16+
publish-mirror:
17+
runs-on: ubuntu-latest
18+
environment:
19+
name: release
20+
env:
21+
VERSION: ${{ fromJson(inputs.plan).announcement_tag }}
22+
steps:
23+
- name: "Download GitHub Artifacts"
24+
uses: actions/download-artifact@70fc10c6e5e1ce46ad2ea6f2b72d43f7d47b13c3
25+
with:
26+
pattern: artifacts-*
27+
path: artifacts
28+
merge-multiple: true
29+
- name: "Upload to R2"
30+
env:
31+
AWS_ACCESS_KEY_ID: ${{ secrets.MIRROR_R2_ACCESS_KEY_ID }}
32+
AWS_SECRET_ACCESS_KEY: ${{ secrets.MIRROR_R2_SECRET_ACCESS_KEY }}
33+
AWS_ENDPOINT_URL: https://${{ secrets.MIRROR_R2_CLOUDFLARE_ACCOUNT_ID }}.r2.cloudflarestorage.com
34+
AWS_DEFAULT_REGION: auto
35+
R2_BUCKET: ${{ secrets.MIRROR_R2_BUCKET_NAME }}
36+
PROJECT: ruff
37+
run: |
38+
aws s3 cp --recursive --output table --color on \
39+
--exclude '*' \
40+
--include '*.zip' --include '*.zip.sha256' \
41+
--include '*.tar.gz' --include '*.tar.gz.sha256' \
42+
--include sha256.sum --include '*.ps1' --include '*.sh' \
43+
--cache-control "public, max-age=31536000, immutable" \
44+
artifacts/ \
45+
"s3://${R2_BUCKET}/github/${PROJECT}/releases/download/${VERSION}/"

.github/workflows/publish-pypi.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,9 +22,9 @@ jobs:
2222
id-token: write
2323
steps:
2424
- name: "Install uv"
25-
uses: astral-sh/setup-uv@eac588ad8def6316056a12d4907a9d4d84ff7a3b # v7.3.0
25+
uses: astral-sh/setup-uv@5a095e7a2014a4212f075830d4f7277575a9d098 # v7.3.1
2626
with:
27-
version: "0.10.4"
27+
version: "0.10.7"
2828
- uses: actions/download-artifact@37930b1c2abaa49bbe596cd826c3c89aef350131 # v7.0.0
2929
with:
3030
pattern: wheels-*

.github/workflows/publish-versions.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ jobs:
3030
run: git clone https://${{ secrets.ASTRAL_VERSIONS_PAT }}@github.com/astral-sh/versions.git astral-versions
3131

3232
- name: "Install uv"
33-
uses: astral-sh/setup-uv@eac588ad8def6316056a12d4907a9d4d84ff7a3b # v7.3.0
33+
uses: astral-sh/setup-uv@5a095e7a2014a4212f075830d4f7277575a9d098 # v7.3.1
3434

3535
- name: "Update versions"
3636
env:

0 commit comments

Comments
 (0)