Skip to content
Open
Show file tree
Hide file tree
Changes from 14 commits
Commits
Show all changes
19 commits
Select commit Hold shift + click to select a range
9a6855e
Split linting jobs into a separate workflow file
m-aciek Jun 6, 2026
c54b55a
Set SPHINXERRORHANDLING environment variable to 0 in build workflow
m-aciek Jun 6, 2026
d0ab3ba
Set SPHINXERRORHANDLING environment variable to '' in build workflow
m-aciek Jun 6, 2026
08b7f0b
Remove fail-on-warning flag from Sphinx build options in update-and-b…
m-aciek Jun 6, 2026
de91514
Install librsvg2-bin in output-pdf step
m-aciek Jun 6, 2026
9a081e8
Disable fail-fast in output-pdf job strategy
m-aciek Jun 6, 2026
24516e4
Update lint.yml
m-aciek Jun 11, 2026
2c4d6f4
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Jun 11, 2026
2ac3748
Update README.md
m-aciek Jun 11, 2026
9577fed
Update README.en.md
m-aciek Jun 11, 2026
79d6f8b
Update update-and-build.yml, partial revert
m-aciek Jun 11, 2026
977eacf
Update README files to link to the new lint workflow
m-aciek Jun 12, 2026
cf76331
Remove Python translations mailing list link from README files
m-aciek Jun 12, 2026
db9f6e9
Add Sphinx translation link to README files
m-aciek Jun 12, 2026
ee89d94
Refactor linting workflow to remove unnecessary flag from Sphinx buil…
m-aciek Jun 12, 2026
378d5ec
skip pushing out of default branch, skip linting on non-successes, se…
m-aciek Jun 15, 2026
89e49b6
Merge branch '3.15' into split-linting-from-main-workflow
m-aciek Jun 15, 2026
3076a9a
Initial state - resolving merge conflicts
Copilot Jun 24, 2026
b1e0efc
Resolve merge conflicts in README.md and README.en.md
Copilot Jun 24, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
44 changes: 44 additions & 0 deletions .github/workflows/lint.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
name: lint

on: # zizmor: ignore[dangerous-triggers]
workflow_run:
workflows: [update and build]
types: [completed]

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Does this include failures, lint-epub will need gating for that as otherwise it'll scream when it tries to download the artefact.

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

added this, thank you for thorough review!


permissions: {}

jobs:
lint:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
version: [3.15, 3.14, 3.13, 3.12, 3.11]
continue-on-error: true
steps:
- uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0
with:
python-version: 3
- run: pip install sphinx-lint
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
ref: ${{ matrix.version }}
persist-credentials: false
- uses: rffontenelle/sphinx-lint-problem-matcher@4270bf50b2c93640a7cbb231c09f8e694699af9f # v1.0.0
- run: sphinx-lint

lint-epub:
runs-on: ubuntu-latest
strategy:
matrix:
version: [3.15, 3.14]
continue-on-error: true
steps:
- uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0
with:
python-version: 3.x
- uses: astral-sh/setup-uv@08807647e7069bb48b6ef5acd8ec9567f424441b # v8.1.0
- uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
with:
name: build-${{ matrix.version }}-epub

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This will need read permissions (which we don't give above with permissions: {}), and passed a run-id, see https://github.com/actions/download-artifact#download-artifacts-from-other-workflow-runs-or-repositories.

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

added actions: read for this job

- run: uvx epubcheck
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
name: Translation and Linting Workflow
name: update and build

on:
schedule:
Expand Down Expand Up @@ -71,26 +71,6 @@ jobs:
branch: ${{ matrix.version }}
github_token: ${{ secrets.GITHUB_TOKEN }}

lint:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
version: [3.15, 3.14, 3.13, 3.12, 3.11]
needs: [update]
continue-on-error: true
steps:
- uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0
with:
python-version: 3
- run: pip install sphinx-lint
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
ref: ${{ matrix.version }}
persist-credentials: false
- uses: rffontenelle/sphinx-lint-problem-matcher@4270bf50b2c93640a7cbb231c09f8e694699af9f # v1.0.0
- run: sphinx-lint

build:
runs-on: ubuntu-latest
strategy:
Expand Down Expand Up @@ -120,8 +100,10 @@ jobs:
- run: sudo apt-get update && sudo apt-get install -y librsvg2-bin
if: ${{ matrix.format == 'latex' && fromJSON(matrix.version) >= 3.14 }}
- uses: sphinx-doc/github-problem-matcher@1f74d6599f4a5e89a20d3c99aab4e6a70f7bda0f # v1.1
- run: make -e SPHINXOPTS="--color -D language='pl' -W --keep-going" ${{ matrix.format }}
- run: make -e SPHINXOPTS="--color -D language='pl' --keep-going" ${{ matrix.format }}
Comment thread
m-aciek marked this conversation as resolved.
Outdated
working-directory: ./Doc
env:
SPHINXERRORHANDLING: ''
- uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
if: success() || failure()
with:
Expand All @@ -131,6 +113,7 @@ jobs:
output-pdf:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
version: [3.15, 3.14, 3.13, 3.12, 3.11, '3.10']
needs: [build]
Expand All @@ -145,20 +128,3 @@ jobs:
with:
name: build-${{ matrix.version }}-pdf
path: .

lint-epub:
runs-on: ubuntu-latest
strategy:
matrix:
version: [3.15, 3.14]
needs: [build]
continue-on-error: true
steps:
- uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0
with:
python-version: 3.x
- uses: astral-sh/setup-uv@08807647e7069bb48b6ef5acd8ec9567f424441b # v8.1.0
- uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
with:
name: build-${{ matrix.version }}-epub
- run: uvx epubcheck
10 changes: 5 additions & 5 deletions README.en.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,18 +8,18 @@ core_words, _ = progress_from_resources(list(filter(language_switcher, stats)))
total_words, total_strings = progress_from_resources(stats)

print(
f'''[![build](https://github.com/python/python-docs-pl/actions/workflows/update-lint-and-build.yml/badge.svg)](https://github.com/python/python-docs-pl/actions/workflows/update-lint-and-build.yml)
f'''[![build](https://github.com/python/python-docs-pl/actions/workflows/update-and-build.yml/badge.svg)](https://github.com/python/python-docs-pl/actions/workflows/update-and-build.yml)
[![core {core_words:.2f}%](https://img.shields.io/badge/core-{core_words:.2f}%25-0.svg)](https://translations.python.org/#pl)
[![Total Translation of Documentation](https://img.shields.io/badge/total_words-{total_words:.2f}%25-0.svg)](https://translations.python.org/#pl)
[![Total Translation of Documentation](https://img.shields.io/badge/total_strings-{total_strings:.2f}%25-0.svg)](https://translations.python.org/#pl)
[![lint errors count](https://shields.io/badge/dynamic/xml?url=https%3A%2F%2Ftranslations.python.org%2Fbuild-details.html&query=%2F%2Ftr%5Btd%5B%40data-label%3D%27language%27%20and%20contains%28.%2C%20%27%28pl%29%27%29%5D%5D%20%20%20%2F%2Ftd%5B%40data-label%3D%27lint%27%5D%2Fa%2Ftext()&label=lint%20errors)](https://github.com/python/python-docs-pl/actions/workflows/update-lint-and-build.yml)
[![lint errors count](https://shields.io/badge/dynamic/xml?url=https%3A%2F%2Ftranslations.python.org%2Fbuild-details.html&query=%2F%2Ftr%5Btd%5B%40data-label%3D%27language%27%20and%20contains%28.%2C%20%27%28pl%29%27%29%5D%5D%20%20%20%2F%2Ftd%5B%40data-label%3D%27lint%27%5D%2Fa%2Ftext()&label=lint%20errors)](https://github.com/python/python-docs-pl/actions/workflows/lint.yml)
''')
]]] -->
[![build](https://github.com/python/python-docs-pl/actions/workflows/update-lint-and-build.yml/badge.svg)](https://github.com/python/python-docs-pl/actions/workflows/update-lint-and-build.yml)
[![build](https://github.com/python/python-docs-pl/actions/workflows/update-and-build.yml/badge.svg)](https://github.com/python/python-docs-pl/actions/workflows/update-and-build.yml)
[![core 100.00%](https://img.shields.io/badge/core-100.00%25-0.svg)](https://translations.python.org/#pl)
[![Total Translation of Documentation](https://img.shields.io/badge/total_words-5.75%25-0.svg)](https://translations.python.org/#pl)
[![Total Translation of Documentation](https://img.shields.io/badge/total_strings-12.64%25-0.svg)](https://translations.python.org/#pl)
[![lint errors count](https://shields.io/badge/dynamic/xml?url=https%3A%2F%2Ftranslations.python.org%2Fbuild-details.html&query=%2F%2Ftr%5Btd%5B%40data-label%3D%27language%27%20and%20contains%28.%2C%20%27%28pl%29%27%29%5D%5D%20%20%20%2F%2Ftd%5B%40data-label%3D%27lint%27%5D%2Fa%2Ftext()&label=lint%20errors)](https://github.com/python/python-docs-pl/actions/workflows/update-lint-and-build.yml)
[![lint errors count](https://shields.io/badge/dynamic/xml?url=https%3A%2F%2Ftranslations.python.org%2Fbuild-details.html&query=%2F%2Ftr%5Btd%5B%40data-label%3D%27language%27%20and%20contains%28.%2C%20%27%28pl%29%27%29%5D%5D%20%20%20%2F%2Ftd%5B%40data-label%3D%27lint%27%5D%2Fa%2Ftext()&label=lint%20errors)](https://github.com/python/python-docs-pl/actions/workflows/lint.yml)

<!-- [[[end]]] -->

Expand Down Expand Up @@ -55,7 +55,6 @@ The documentation at https://docs.python.org/pl/ is updated around once daily.

* [Discord Python Polska #dokumentacja](https://discord.gg/QB3h2Sxc)
* [Python Documentation Community](https://docs-community.readthedocs.io/)
* [Python translations mailing list](https://mail.python.org/mailman3/lists/translation.python.org/)
* [Python Documentation Special Interest Group](https://www.python.org/community/sigs/current/doc-sig/)

**Translation progress**
Expand Down Expand Up @@ -89,4 +88,5 @@ You signify your acceptance of this agreement by submitting your work for inclus
* [Projects of the Python Packaging Authority](https://hosted.weblate.org/projects/pypa/-/pl/)
* [Scientific Python Translations](https://scientific-python-translations.github.io/)
* [micro:bit translation programme](https://microbit.org/translate/)
* [Sphinx translation](https://www.sphinx-doc.org/en/master/usage/advanced/intl.html#contributing-to-sphinx-reference-translation)
* [Localizing Django](https://docs.djangoproject.com/en/dev/internals/contributing/localizing/)
10 changes: 5 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,18 +8,18 @@ core_words, _ = progress_from_resources(list(filter(language_switcher, stats)))
total_words, total_strings = progress_from_resources(stats)

print(
f'''[![build](https://github.com/python/python-docs-pl/actions/workflows/update-lint-and-build.yml/badge.svg)](https://github.com/python/python-docs-pl/actions/workflows/update-lint-and-build.yml)
f'''[![build](https://github.com/python/python-docs-pl/actions/workflows/update-and-build.yml/badge.svg)](https://github.com/python/python-docs-pl/actions/workflows/update-and-build.yml)
[![podstawowe artykuły {core_words:.2f}%](https://img.shields.io/badge/podstawowe_artykuły-{core_words:.2f}%25-0.svg)](https://translations.python.org/#pl)
[![postęp tłumaczenia całości dokumentacji](https://img.shields.io/badge/całość_słów-{total_words:.2f}%25-0.svg)](https://translations.python.org/#pl)
[![postęp tłumaczenia całości dokumentacji](https://img.shields.io/badge/całość_napisów-{total_strings:.2f}%25-0.svg)](https://translations.python.org/#pl)
[![liczba błędów lintowania](https://shields.io/badge/dynamic/xml?url=https%3A%2F%2Ftranslations.python.org%2Fbuild-details.html&query=%2F%2Ftr%5Btd%5B%40data-label%3D%27language%27%20and%20contains%28.%2C%20%27%28pl%29%27%29%5D%5D%20%20%20%2F%2Ftd%5B%40data-label%3D%27lint%27%5D%2Fa%2Ftext()&label=b%C5%82%C4%99dy%20lintowania)](https://github.com/python/python-docs-pl/actions/workflows/update-lint-and-build.yml)
[![liczba błędów lintowania](https://shields.io/badge/dynamic/xml?url=https%3A%2F%2Ftranslations.python.org%2Fbuild-details.html&query=%2F%2Ftr%5Btd%5B%40data-label%3D%27language%27%20and%20contains%28.%2C%20%27%28pl%29%27%29%5D%5D%20%20%20%2F%2Ftd%5B%40data-label%3D%27lint%27%5D%2Fa%2Ftext()&label=b%C5%82%C4%99dy%20lintowania)](https://github.com/python/python-docs-pl/actions/workflows/lint.yml)
''')
]]] -->
[![build](https://github.com/python/python-docs-pl/actions/workflows/update-lint-and-build.yml/badge.svg)](https://github.com/python/python-docs-pl/actions/workflows/update-lint-and-build.yml)
[![build](https://github.com/python/python-docs-pl/actions/workflows/update-and-build.yml/badge.svg)](https://github.com/python/python-docs-pl/actions/workflows/update-lint-and-build.yml)
[![podstawowe artykuły 100.00%](https://img.shields.io/badge/podstawowe_artykuły-100.00%25-0.svg)](https://translations.python.org/#pl)
[![postęp tłumaczenia całości dokumentacji](https://img.shields.io/badge/całość_słów-5.75%25-0.svg)](https://translations.python.org/#pl)
[![postęp tłumaczenia całości dokumentacji](https://img.shields.io/badge/całość_napisów-12.64%25-0.svg)](https://translations.python.org/#pl)
[![liczba błędów lintowania](https://shields.io/badge/dynamic/xml?url=https%3A%2F%2Ftranslations.python.org%2Fbuild-details.html&query=%2F%2Ftr%5Btd%5B%40data-label%3D%27language%27%20and%20contains%28.%2C%20%27%28pl%29%27%29%5D%5D%20%20%20%2F%2Ftd%5B%40data-label%3D%27lint%27%5D%2Fa%2Ftext()&label=b%C5%82%C4%99dy%20lintowania)](https://github.com/python/python-docs-pl/actions/workflows/update-lint-and-build.yml)
[![liczba błędów lintowania](https://shields.io/badge/dynamic/xml?url=https%3A%2F%2Ftranslations.python.org%2Fbuild-details.html&query=%2F%2Ftr%5Btd%5B%40data-label%3D%27language%27%20and%20contains%28.%2C%20%27%28pl%29%27%29%5D%5D%20%20%20%2F%2Ftd%5B%40data-label%3D%27lint%27%5D%2Fa%2Ftext()&label=b%C5%82%C4%99dy%20lintowania)](https://github.com/python/python-docs-pl/actions/workflows/lint.yml)

<!-- [[[end]]] -->

Expand Down Expand Up @@ -57,7 +57,6 @@ Dokumentacja na https://docs.python.org/pl/ aktualizowana jest około raz dzienn

* [Discord Python Polska #dokumentacja](https://discord.gg/VCyBDGH38e)
* [Python Documentation Community](https://docs-community.readthedocs.io/en/latest/)
* [Python translations mailing list](https://mail.python.org/mailman3/lists/translation.python.org/)
* [Python Documentation Special Interest Group](https://www.python.org/community/sigs/current/doc-sig/)

**Postęp tłumaczenia**
Expand Down Expand Up @@ -91,4 +90,5 @@ Wyrażasz akceptację tej umowy przesyłając swoją pracę do włączenia do do
* [projekty Python Packaging Authority](https://hosted.weblate.org/projects/pypa/-/pl/)
* [Scientific Python Translations](https://scientific-python-translations.github.io/)
* [micro:bit translation programme](https://microbit.org/translate/)
* [tłumaczenie Sphinksa](https://www.sphinx-doc.org/en/master/usage/advanced/intl.html#contributing-to-sphinx-reference-translation)
* [Localizing Django](https://docs.djangoproject.com/en/dev/internals/contributing/localizing/)