From 2cc1d8270c36a5e2b3332284fd20a2c014ffb3af Mon Sep 17 00:00:00 2001 From: Oleh Prypin Date: Sun, 22 Mar 2026 19:54:23 +0100 Subject: [PATCH 1/2] Add an autofix workflow for Ruff --- .github/workflows/autofix.yml | 27 +++++++++++++++++++++++++++ requirements/requirements-style.in | 1 + requirements/requirements-style.txt | 4 ++++ ruff.toml | 1 + 4 files changed, 33 insertions(+) create mode 100644 .github/workflows/autofix.yml create mode 100644 requirements/requirements-style.in create mode 100644 requirements/requirements-style.txt diff --git a/.github/workflows/autofix.yml b/.github/workflows/autofix.yml new file mode 100644 index 0000000..db7a086 --- /dev/null +++ b/.github/workflows/autofix.yml @@ -0,0 +1,27 @@ +name: Auto-fix +on: + push: + pull_request: +jobs: + style: + runs-on: ubuntu-latest + steps: + - name: Download source + uses: actions/checkout@v6 + - name: Install Python + uses: actions/setup-python@v6 + with: + python-version: '3.13' + - name: Install dependencies + run: | + pip install --no-deps -r requirements/requirements-style.txt + - name: Fix code style + run: | + ruff check --fix --unsafe-fixes + ruff format -q + - name: Check if any edits are necessary + run: | + git diff --color --exit-code + - name: Apply automatic fixes using pre-commit-ci-lite + if: failure() && github.event_name == 'pull_request' + uses: pre-commit-ci/lite-action@5d6cc0eb514c891a40562a58a8e71576c5c7fb43 # v1.1.0 diff --git a/requirements/requirements-style.in b/requirements/requirements-style.in new file mode 100644 index 0000000..af3ee57 --- /dev/null +++ b/requirements/requirements-style.in @@ -0,0 +1 @@ +ruff diff --git a/requirements/requirements-style.txt b/requirements/requirements-style.txt new file mode 100644 index 0000000..2ffc41e --- /dev/null +++ b/requirements/requirements-style.txt @@ -0,0 +1,4 @@ +# This file was autogenerated by uv via the following command: +# uv pip compile --universal --strip-extras requirements/requirements-style.in -o requirements/requirements-style.txt +ruff==0.15.7 + # via -r requirements/requirements-style.in diff --git a/ruff.toml b/ruff.toml index f00091a..5eb7968 100644 --- a/ruff.toml +++ b/ruff.toml @@ -1,3 +1,4 @@ +target-version = "py311" line-length = 120 [lint] From a6f349a93647c4e05a973a449b55ff20e87bacd1 Mon Sep 17 00:00:00 2001 From: Oleh Prypin Date: Sun, 22 Mar 2026 20:05:06 +0100 Subject: [PATCH 2/2] Enforce YAML style --- .github/workflows/autofix.yml | 5 ++- .yamlfix.toml | 6 ++++ projects.yaml | 27 +++------------ requirements/requirements-style.in | 1 + requirements/requirements-style.txt | 52 +++++++++++++++++++++++++++++ 5 files changed, 67 insertions(+), 24 deletions(-) create mode 100644 .yamlfix.toml diff --git a/.github/workflows/autofix.yml b/.github/workflows/autofix.yml index db7a086..be8fb48 100644 --- a/.github/workflows/autofix.yml +++ b/.github/workflows/autofix.yml @@ -18,7 +18,10 @@ jobs: - name: Fix code style run: | ruff check --fix --unsafe-fixes - ruff format -q + ruff format + - name: Fix YAML style + run: | + yamlfix projects.yaml - name: Check if any edits are necessary run: | git diff --color --exit-code diff --git a/.yamlfix.toml b/.yamlfix.toml new file mode 100644 index 0000000..9925f19 --- /dev/null +++ b/.yamlfix.toml @@ -0,0 +1,6 @@ +explicit_start = false +line_length = 1000 +indent_offset = 0 +indent_mapping = 2 +indent_sequence = 2 +none_representation = "null" diff --git a/projects.yaml b/projects.yaml index 2faecc2..4ab3465 100644 --- a/projects.yaml +++ b/projects.yaml @@ -1,16 +1,15 @@ configuration: - markdown_header_file: "config/header.md" - markdown_footer_file: "config/footer.md" + markdown_header_file: config/header.md + markdown_footer_file: config/footer.md min_description_length: 0 max_description_length: 1000 # don't truncate descriptions min_stars: 0 min_projectrank: 0 require_homepage: false require_license: false - allowed_licenses: ["all"] + allowed_licenses: [all] project_inactive_months: 12 project_dead_months: 99999 # "dead" is a somewhat strong assumption, so we avoid making it - categories: - category: theming title: 🎨 Theming @@ -46,7 +45,6 @@ categories: title: 🔧 Site building, site management - category: snippets-include title: 📁 Snippets & includes (reusing contents) - labels: - label: plugin image: https://cdn.icon-icons.com/icons2/1465/PNG/32/701electricplug_100845.png @@ -60,7 +58,6 @@ labels: - label: markdown image: https://cdn.icon-icons.com/icons2/1459/PNG/32/2799201-jigsaw-processing_99781.png description: Markdown extension(s) - projects: - name: MkDocs theme properdocs_theme: [mkdocs] @@ -270,7 +267,6 @@ projects: pypi_id: mkdocs-shadcn labels: [theme, plugin] category: theming - - name: automacdoc github_id: AlexandreKempf/automacdoc pypi_id: automacdoc @@ -421,7 +417,6 @@ projects: pypi_id: mkdocs-apidescribed-plugin labels: [plugin] category: api-docs - - name: blog mkdocs_plugin: blog github_id: andyoakley/mkdocs-blog @@ -465,7 +460,6 @@ projects: pypi_id: mkdocs-publisher labels: [plugin] category: blogging - - name: mkdocs_puml mkdocs_plugin: plantuml github_id: MikhailKravets/mkdocs_puml @@ -706,7 +700,6 @@ projects: pypi_id: mkdocs-matplotlib labels: [plugin] category: charts - - name: pheasant mkdocs_plugin: pheasant github_id: daizutabi/pheasant @@ -847,7 +840,6 @@ projects: labels: [plugin] license: Apache-2 category: code-exec-templating - - name: recently-updated mkdocs_plugin: recently-updated github_id: jaywhj/mkdocs-recently-updated-docs @@ -922,7 +914,6 @@ projects: pypi_id: mkdocs-github-changelog labels: [plugin] category: git-info - - name: docstyler mkdocs_plugin: docstyler github_id: hfagerlund/mkdocs-docstyler-plugin @@ -1022,7 +1013,6 @@ projects: mkdocs_plugin: mk-append-to-head labels: [plugin] category: html-css - - name: static-i18n mkdocs_plugin: i18n github_id: ultrabug/mkdocs-static-i18n @@ -1042,7 +1032,6 @@ projects: pypi_id: mkdocs-translations labels: [plugin] category: i18n-l10n - - name: swagger mkdocs_plugin: swagger github_id: allevo/mkdocs-swagger-plugin @@ -1119,7 +1108,6 @@ projects: pypi_id: mkdocs-copy-to-llm labels: [plugin] category: integrations - - name: Autolink References mkdocs_plugin: autolink_references github_id: theskumar/autolink-references-mkdocs-plugin @@ -1263,7 +1251,6 @@ projects: pypi_id: mkdocs-backlinks-section-plugin labels: [plugin] category: links-refs - - name: markdown-callouts markdown_extension: [callouts, github-callouts] github_id: oprypin/markdown-callouts @@ -1432,7 +1419,6 @@ projects: license: ISC labels: [markdown] category: markdown - - name: exclude mkdocs_plugin: exclude github_id: apenwarr/mkdocs-exclude @@ -1609,7 +1595,6 @@ projects: pypi_id: mkdocs-authors-plugin labels: [plugin] category: nav-pages - - name: mkdocs-spellcheck mkdocs_plugin: spellcheck github_id: pawamoy/mkdocs-spellcheck @@ -1645,7 +1630,6 @@ projects: labels: [plugin] license: MIT category: quality - - name: mkdocs-task-collector mkdocs_plugin: task-collector github_id: costantinoai/mkdocs-task-collector @@ -1683,7 +1667,6 @@ projects: pypi_id: mkdocs-extract-listings-plugin labels: [plugin] category: search-toc - - name: mkdocs-with-pdf mkdocs_plugin: with-pdf github_id: orzih/mkdocs-with-pdf @@ -1743,7 +1726,6 @@ projects: pypi_id: mkdocs-exporter labels: [plugin] category: site-conversion - - name: markdown-docs github_id: ldeluigi/markdown-docs dockerhub_id: deloo/markdown-docs @@ -1851,7 +1833,7 @@ projects: - name: mkdocs-required-frontmatter-plugin mkdocs_plugin: required-frontmatter github_id: unmc-vcr/mkdocs-required-frontmatter-plugin - pypi_id: mkdocs-required-frontmatter-plugin + pypi_id: mkdocs-required-frontmatter-plugin labels: [plugin] category: site-management - name: Publisher for MkDocs - debugger @@ -1873,7 +1855,6 @@ projects: pypi_id: mkdocs-note labels: [plugin] category: site-management - - name: mkdocs-embed-external-markdown mkdocs_plugin: external-markdown github_id: fire1ce/mkdocs-embed-external-markdown diff --git a/requirements/requirements-style.in b/requirements/requirements-style.in index af3ee57..1833425 100644 --- a/requirements/requirements-style.in +++ b/requirements/requirements-style.in @@ -1 +1,2 @@ ruff +yamlfix diff --git a/requirements/requirements-style.txt b/requirements/requirements-style.txt index 2ffc41e..6c6e768 100644 --- a/requirements/requirements-style.txt +++ b/requirements/requirements-style.txt @@ -1,4 +1,56 @@ # This file was autogenerated by uv via the following command: # uv pip compile --universal --strip-extras requirements/requirements-style.in -o requirements/requirements-style.txt +annotated-doc==0.0.4 + # via typer +annotated-types==0.7.0 + # via pydantic +click==8.3.1 + # via + # typer + # yamlfix +colorama==0.4.6 ; sys_platform == 'win32' + # via + # click + # loguru +distro==1.9.0 + # via ruyaml +loguru==0.7.3 + # via maison +maison==2.0.2 + # via yamlfix +markdown-it-py==4.0.0 + # via rich +mdurl==0.1.2 + # via markdown-it-py +platformdirs==4.9.4 + # via maison +pydantic==2.12.5 + # via yamlfix +pydantic-core==2.41.5 + # via pydantic +pygments==2.19.2 + # via rich +rich==14.3.3 + # via typer ruff==0.15.7 # via -r requirements/requirements-style.in +ruyaml==0.91.0 + # via yamlfix +setuptools==82.0.1 + # via ruyaml +shellingham==1.5.4 + # via typer +typer==0.24.1 + # via maison +typing-extensions==4.15.0 + # via + # maison + # pydantic + # pydantic-core + # typing-inspection +typing-inspection==0.4.2 + # via pydantic +win32-setctime==1.2.0 ; sys_platform == 'win32' + # via loguru +yamlfix==1.19.1 + # via -r requirements/requirements-style.in