diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml
index 8157e364b..94b3fbd9c 100644
--- a/.github/workflows/test.yml
+++ b/.github/workflows/test.yml
@@ -44,22 +44,44 @@ jobs:
run: bash scripts/lint.sh
test:
- runs-on: ubuntu-latest
strategy:
matrix:
- python-version:
- - "3.14"
- - "3.13"
- - "3.12"
- - "3.11"
- - "3.10"
- - "3.9"
- - "3.8"
- pydantic-version: ["pydantic-v1", "pydantic-v2"]
- exclude:
- - python-version: "3.14"
+ os: [ ubuntu-latest, windows-latest, macos-latest ]
+ python-version: [ "3.14" ]
+ pydantic-version: [ "pydantic-v2" ]
+ coverage: ["coverage"]
+ include:
+ - os: macos-latest
+ python-version: "3.8"
pydantic-version: "pydantic-v1"
+ coverage: coverage
+ - os: windows-latest
+ python-version: "3.8"
+ pydantic-version: "pydantic-v2"
+ coverage: coverage
+ - os: ubuntu-latest
+ python-version: "3.9"
+ pydantic-version: "pydantic-v1"
+ coverage: coverage
+ - os: macos-latest
+ python-version: "3.10"
+ pydantic-version: "pydantic-v2"
+ - os: windows-latest
+ python-version: "3.11"
+ pydantic-version: "pydantic-v1"
+ - os: ubuntu-latest
+ python-version: "3.12"
+ pydantic-version: "pydantic-v2"
+ - os: macos-latest
+ python-version: "3.13"
+ pydantic-version: "pydantic-v1"
+ coverage: coverage
+ - os: windows-latest
+ python-version: "3.13"
+ pydantic-version: "pydantic-v2"
+ coverage: coverage
fail-fast: false
+ runs-on: ${{ matrix.os }}
steps:
- name: Dump GitHub context
env:
@@ -96,10 +118,12 @@ jobs:
env:
COVERAGE_FILE: coverage/.coverage.${{ runner.os }}-py${{ matrix.python-version }}
CONTEXT: ${{ runner.os }}-py${{ matrix.python-version }}
+ # Do not store coverage for all possible combinations to avoid file size max errors in Smokeshow
- name: Store coverage files
+ if: matrix.coverage == 'coverage'
uses: actions/upload-artifact@v5
with:
- name: coverage-${{ matrix.python-version }}-${{ matrix.pydantic-version }}
+ name: coverage-${{ runner.os }}-${{ matrix.python-version }}-${{ matrix.pydantic-version }}
path: coverage
include-hidden-files: true
diff --git a/docs/en/docs/_llm-test.md b/docs/en/docs/_llm-test.md
index e72450b91..9f216f9d7 100644
--- a/docs/en/docs/_llm-test.md
+++ b/docs/en/docs/_llm-test.md
@@ -15,7 +15,7 @@ Use as follows:
The tests:
-## Code snippets { #code-snippets}
+## Code snippets { #code-snippets }
//// tab | Test
@@ -53,7 +53,7 @@ See for example section `### Quotes` in `docs/de/llm-prompt.md`.
////
-## Quotes in code snippets { #quotes-in-code-snippets}
+## Quotes in code snippets { #quotes-in-code-snippets }
//// tab | Test
diff --git a/docs/en/docs/index.md b/docs/en/docs/index.md
index df03b7675..a0a5de3b7 100644
--- a/docs/en/docs/index.md
+++ b/docs/en/docs/index.md
@@ -52,13 +52,13 @@ The key features are:
-### Keystone Sponsor
+### Keystone Sponsor { #keystone-sponsor }
{% for sponsor in sponsors.keystone -%}
{% endfor -%}
-### Gold and Silver Sponsors
+### Gold and Silver Sponsors { #gold-and-silver-sponsors }
{% for sponsor in sponsors.gold -%}
diff --git a/docs/en/docs/release-notes.md b/docs/en/docs/release-notes.md
index bb1e95aa9..dc97a1a15 100644
--- a/docs/en/docs/release-notes.md
+++ b/docs/en/docs/release-notes.md
@@ -9,6 +9,7 @@ hide:
### Docs
+* 📝 Tweak links format. PR [#14505](https://github.com/fastapi/fastapi/pull/14505) by [@tiangolo](https://github.com/tiangolo).
* 📝 Update docs about re-raising validation errors, do not include string as is to not leak information. PR [#14487](https://github.com/fastapi/fastapi/pull/14487) by [@tiangolo](https://github.com/tiangolo).
* 🔥 Remove external links section. PR [#14486](https://github.com/fastapi/fastapi/pull/14486) by [@tiangolo](https://github.com/tiangolo).
diff --git a/pyproject.toml b/pyproject.toml
index f8d5fa7c7..ef4440b1b 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -196,6 +196,7 @@ source = [
"tests",
"fastapi"
]
+relative_files = true
context = '${CONTEXT}'
dynamic_context = "test_function"
omit = [