Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
23 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
6b281a7
Don't skip source linting on update/push failure
m-aciek Jun 26, 2026
88f0c3c
Fix skipping non-default branches for push
m-aciek Jun 26, 2026
6bd439f
Merge branch '3.15' into split-linting-from-main-workflow
Copilot Jun 26, 2026
fafb4a3
Unify python-version in setup step
m-aciek Jun 27, 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
49 changes: 49 additions & 0 deletions .github/workflows/lint.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
name: lint

on: # zizmor: ignore[dangerous-triggers]
workflow_run:
workflows: [update and build]
types: [completed]
Comment thread
StanFromIreland marked this conversation as resolved.

jobs:
lint:
runs-on: ubuntu-latest
permissions:
contents: read
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:
if: github.event.workflow_run.conclusion == 'success'
runs-on: ubuntu-latest
permissions:
actions: read
strategy:
matrix:
version: [3.15, 3.14]
continue-on-error: true
steps:
- uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6.2.0
with:
python-version: 3
- uses: astral-sh/setup-uv@08807647e7069bb48b6ef5acd8ec9567f424441b # v8.1.0
- uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
with:
name: build-${{ matrix.version }}-epub
Comment thread
StanFromIreland marked this conversation as resolved.
run-id: ${{ github.event.workflow_run.id }}
github-token: ${{ secrets.GITHUB_TOKEN }}
- 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 @@ -66,31 +66,12 @@ jobs:
if: env.SIGNIFICANT_CHANGES
- name: Push commit
uses: ad-m/github-push-action@881a6320fdb16eb5318c5054f31c218aec2b324c # v1.3.0
if: env.SIGNIFICANT_CHANGES
if: env.SIGNIFICANT_CHANGES && (github.event_name == 'schedule' || github.ref_name
== github.event.repository.default_branch)
with:
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 +101,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'" ${{ matrix.format }}
working-directory: ./Doc
env:
SPHINXERRORHANDLING: ''
- uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
if: success() || failure()
with:
Expand All @@ -131,6 +114,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 +129,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
12 changes: 6 additions & 6 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.71%25-0.svg)](https://translations.python.org/#pl)
[![Total Translation of Documentation](https://img.shields.io/badge/total_strings-12.48%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)
[![Total Translation of Documentation](https://img.shields.io/badge/total_strings-12.49%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/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/)
12 changes: 6 additions & 6 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.71%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.48%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)
[![postęp tłumaczenia całości dokumentacji](https://img.shields.io/badge/całość_napisów-12.49%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/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/)
Loading